|
|
|
@ -28,18 +28,10 @@ ARTIFACTS?=$(BUILD)/artifacts
|
|
|
|
|
DIST=$(BUILD)/dist
|
|
|
|
|
IMAGES=$(DIST)/images
|
|
|
|
|
UPLOAD=$(BUILD)/upload
|
|
|
|
|
BAZELBUILD=$(KOPS_ROOT)/.bazelbuild
|
|
|
|
|
BAZELDIST=$(BAZELBUILD)/dist
|
|
|
|
|
BAZELIMAGES=$(BAZELDIST)/images
|
|
|
|
|
BAZELUPLOAD=$(BAZELBUILD)/upload
|
|
|
|
|
UID:=$(shell id -u)
|
|
|
|
|
GID:=$(shell id -g)
|
|
|
|
|
BAZEL?=bazelisk
|
|
|
|
|
BAZEL_OPTIONS?=
|
|
|
|
|
BAZEL_CONFIG?=
|
|
|
|
|
API_OPTIONS?=
|
|
|
|
|
GCFLAGS?=
|
|
|
|
|
BAZEL_BIN=.bazel-bin
|
|
|
|
|
OSARCH=$(shell go env GOOS)/$(shell go env GOARCH)
|
|
|
|
|
|
|
|
|
|
# CODEGEN_VERSION is the version of k8s.io/code-generator to use
|
|
|
|
@ -147,7 +139,6 @@ help: # Show this help
|
|
|
|
|
.PHONY: clean
|
|
|
|
|
clean:
|
|
|
|
|
if test -e ${BUILD}; then rm -rfv ${BUILD}; fi
|
|
|
|
|
${BAZEL} clean
|
|
|
|
|
rm -rf tests/integration/update_cluster/*/.terraform
|
|
|
|
|
|
|
|
|
|
.PHONY: codegen
|
|
|
|
@ -257,40 +248,6 @@ gcs-upload-and-tag: gsutil gcs-upload
|
|
|
|
|
echo "${GCS_URL}${VERSION}" > ${UPLOAD}/latest.txt
|
|
|
|
|
gsutil -h "Cache-Control:private, max-age=0, no-transform" cp ${UPLOAD}/latest.txt ${GCS_LOCATION}${LATEST_FILE}
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-version-ci
|
|
|
|
|
bazel-version-ci: bazel-version-dist-linux-amd64 bazel-version-dist-linux-arm64
|
|
|
|
|
rm -rf ${BAZELUPLOAD}
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/images/
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/kops/linux-amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/kops
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/kops.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/nodeup/linux-amd64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/nodeup
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/nodeup.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/nodeup/linux-arm64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/nodeup
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/nodeup.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/channels/cmd/channels/linux-amd64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/channels
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/channels.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/channels/cmd/channels/linux-arm64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/channels
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/channels.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/protokube/cmd/protokube/linux-amd64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/protokube
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/protokube.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/protokube/cmd/protokube/linux-arm64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/protokube
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/protokube.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-amd64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-amd64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-amd64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-amd64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-arm64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-arm64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-arm64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-arm64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-amd64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-amd64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-amd64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-amd64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-arm64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-arm64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-arm64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-arm64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-amd64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-amd64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-amd64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-amd64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-arm64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-arm64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-arm64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-arm64.tar.gz.sha256
|
|
|
|
|
cp -fr ${BAZELUPLOAD}/kops/${VERSION}/* ${BAZELDIST}/
|
|
|
|
|
|
|
|
|
|
# gcs-publish-ci is the entry point for CI testing
|
|
|
|
|
# In CI testing, always upload the CI version.
|
|
|
|
|
# The last copy part is to satisfy kubetest2 path expectations
|
|
|
|
@ -302,8 +259,8 @@ gcs-publish-ci: gsutil version-dist-ci
|
|
|
|
|
echo "VERSION: ${VERSION}"
|
|
|
|
|
echo "${GCS_URL}/${VERSION}" > ${UPLOAD}/${LATEST_FILE}
|
|
|
|
|
gsutil -h "Cache-Control:private, max-age=0, no-transform" cp ${UPLOAD}/${LATEST_FILE} ${GCS_LOCATION}
|
|
|
|
|
mkdir -p ${BAZEL_BIN}/cmd/kops/linux-amd64/
|
|
|
|
|
cp ${DIST}/linux/amd64/kops ${BAZEL_BIN}/cmd/kops/linux-amd64/
|
|
|
|
|
mkdir -p .bazel-bin/cmd/kops/linux-amd64/
|
|
|
|
|
cp ${DIST}/linux/amd64/kops .bazel-bin/cmd/kops/linux-amd64/
|
|
|
|
|
|
|
|
|
|
.PHONY: gen-cli-docs
|
|
|
|
|
gen-cli-docs: kops # Regenerate CLI docs
|
|
|
|
@ -337,20 +294,9 @@ push-aws-run-amd64 push-aws-run-arm64: push-aws-run-%: push-%
|
|
|
|
|
${NODEUP}:
|
|
|
|
|
go build ${GCFLAGS} ${EXTRA_BUILDFLAGS} ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" -o $@ k8s.io/kops/cmd/nodeup
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-crossbuild-dns-controller
|
|
|
|
|
bazel-crossbuild-dns-controller:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //dns-controller/...
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 //dns-controller/...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: dns-controller-push
|
|
|
|
|
dns-controller-push: ko-dns-controller-push
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-dns-controller-push
|
|
|
|
|
bazel-dns-controller-push: bazelisk
|
|
|
|
|
DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX} DNS_CONTROLLER_TAG=${DNS_CONTROLLER_PUSH_TAG} ${BAZEL} run --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //dns-controller/cmd/dns-controller:push-image-amd64
|
|
|
|
|
DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX} DNS_CONTROLLER_TAG=${DNS_CONTROLLER_PUSH_TAG} ${BAZEL} run --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 //dns-controller/cmd/dns-controller:push-image-arm64
|
|
|
|
|
|
|
|
|
|
.PHONY: ko-dns-controller-push
|
|
|
|
|
ko-dns-controller-push: ko
|
|
|
|
|
KO_DOCKER_REPO="${DOCKER_REGISTRY}/${DOCKER_IMAGE_PREFIX}dns-controller" ko build --tags ${DNS_CONTROLLER_PUSH_TAG} --platform=linux/amd64,linux/arm64 --bare ./dns-controller/cmd/dns-controller/
|
|
|
|
@ -366,28 +312,20 @@ dns-controller-manifest:
|
|
|
|
|
# --------------------------------------------------
|
|
|
|
|
# development targets
|
|
|
|
|
|
|
|
|
|
.PHONY: gomod-prereqs
|
|
|
|
|
gomod-prereqs:
|
|
|
|
|
(which ${BAZEL} > /dev/null) || (echo "gomod requires that ${BAZEL} is installed"; exit 1)
|
|
|
|
|
|
|
|
|
|
.PHONY: gomod
|
|
|
|
|
gomod: bazelisk gomod-prereqs
|
|
|
|
|
gomod:
|
|
|
|
|
go mod tidy
|
|
|
|
|
go mod vendor
|
|
|
|
|
# Switch weavemesh to use peer_name_hash - bazel rule-go doesn't support build tags yet
|
|
|
|
|
rm vendor/github.com/weaveworks/mesh/peer_name_mac.go
|
|
|
|
|
sed -i.bak -e 's/peer_name_hash/!peer_name_mac/g' vendor/github.com/weaveworks/mesh/peer_name_hash.go
|
|
|
|
|
# Remove all bazel build files that were vendored and regenerate (we assume they are go-gettable)
|
|
|
|
|
find vendor/ -name "BUILD" -delete
|
|
|
|
|
find vendor/ -name "BUILD.bazel" -delete
|
|
|
|
|
make gazelle
|
|
|
|
|
cd tests/e2e; go mod tidy
|
|
|
|
|
cd hack; go mod tidy
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: gofmt
|
|
|
|
|
gofmt:
|
|
|
|
|
find $(KOPS_ROOT) -name "*.go" | grep -v vendor | xargs ${BAZEL} run @go_sdk//:bin/gofmt -- -w -s
|
|
|
|
|
find $(KOPS_ROOT) -name "*.go" | grep -v vendor | xargs gofmt -w -s
|
|
|
|
|
|
|
|
|
|
.PHONY: goimports
|
|
|
|
|
goimports:
|
|
|
|
@ -413,7 +351,7 @@ verify-boilerplate:
|
|
|
|
|
hack/verify-boilerplate.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: verify-gofmt
|
|
|
|
|
verify-gofmt: bazelisk
|
|
|
|
|
verify-gofmt:
|
|
|
|
|
hack/verify-gofmt.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: verify-gomod
|
|
|
|
@ -437,10 +375,6 @@ verify-gendocs: kops
|
|
|
|
|
fi
|
|
|
|
|
@echo "cli docs up-to-date"
|
|
|
|
|
|
|
|
|
|
.PHONY: verify-bazel
|
|
|
|
|
verify-bazel:
|
|
|
|
|
hack/verify-bazel.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: verify-golangci-lint
|
|
|
|
|
verify-golangci-lint:
|
|
|
|
|
hack/verify-golangci-lint.sh
|
|
|
|
@ -464,13 +398,12 @@ verify-hashes:
|
|
|
|
|
# ci target is for developers, it aims to cover all the CI jobs
|
|
|
|
|
# verify-gendocs will call kops target
|
|
|
|
|
.PHONY: ci
|
|
|
|
|
ci: govet verify-gofmt verify-crds verify-gomod verify-goimports verify-boilerplate verify-bazel verify-versions verify-misspelling verify-shellcheck verify-golangci-lint verify-terraform nodeup examples test | verify-gendocs verify-apimachinery verify-codegen
|
|
|
|
|
ci: govet verify-gofmt verify-crds verify-gomod verify-goimports verify-boilerplate verify-versions verify-misspelling verify-shellcheck verify-golangci-lint verify-terraform nodeup examples test | verify-gendocs verify-apimachinery verify-codegen
|
|
|
|
|
echo "Done!"
|
|
|
|
|
|
|
|
|
|
# we skip tasks that rely on bazel and are covered by other jobs
|
|
|
|
|
# verify-gofmt: uses bazel, covered by pull-kops-verify
|
|
|
|
|
# we skip tasks that are covered by other jobs
|
|
|
|
|
.PHONY: quick-ci
|
|
|
|
|
quick-ci: verify-crds verify-goimports govet verify-boilerplate verify-bazel verify-versions verify-misspelling verify-shellcheck | verify-gendocs verify-apimachinery verify-codegen
|
|
|
|
|
quick-ci: verify-crds verify-goimports govet verify-boilerplate verify-versions verify-misspelling verify-shellcheck | verify-gendocs verify-apimachinery verify-codegen
|
|
|
|
|
echo "Done!"
|
|
|
|
|
|
|
|
|
|
# --------------------------------------------------
|
|
|
|
@ -565,79 +498,6 @@ verify-crds:
|
|
|
|
|
verify-versions:
|
|
|
|
|
hack/verify-versions.sh
|
|
|
|
|
|
|
|
|
|
# -----------------------------------------------------
|
|
|
|
|
# bazel targets
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-test
|
|
|
|
|
bazel-test: bazelisk
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} test ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --test_output=errors -- //... -//vendor/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build
|
|
|
|
|
bazel-build: bazelisk
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure //cmd/... //pkg/... //channels/... //nodeup/... //protokube/... //dns-controller/... //util/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-cli
|
|
|
|
|
bazel-build-cli: bazelisk
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure //cmd/kops/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-kops-darwin-amd64 bazel-build-kops-darwin-arm64
|
|
|
|
|
bazel-build-kops-darwin-amd64 bazel-build-kops-darwin-arm64: bazel-build-kops-darwin-%:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:darwin_$* //cmd/kops/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-kops-linux-amd64 bazel-build-kops-linux-arm64
|
|
|
|
|
bazel-build-kops-linux-amd64 bazel-build-kops-linux-arm64: bazel-build-kops-linux-%:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //cmd/kops/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-kops-windows-amd64
|
|
|
|
|
bazel-build-kops-windows-amd64:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:windows_amd64 //cmd/kops/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-crossbuild-kops
|
|
|
|
|
bazel-crossbuild-kops: bazel-build-kops-darwin-amd64 bazel-build-kops-darwin-arm64 bazel-build-kops-linux-amd64 bazel-build-kops-linux-arm64 bazel-build-kops-windows-amd64
|
|
|
|
|
echo "Done cross-building kops"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-nodeup-linux-amd64 bazel-build-nodeup-linux-arm64
|
|
|
|
|
bazel-build-nodeup-linux-amd64 bazel-build-nodeup-linux-arm64: bazel-build-nodeup-linux-%:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //cmd/nodeup/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-crossbuild-nodeup
|
|
|
|
|
bazel-crossbuild-nodeup: bazel-build-nodeup-linux-amd64 bazel-build-nodeup-linux-arm64
|
|
|
|
|
echo "Done cross-building nodeup"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-protokube-linux-amd64 bazel-build-protokube-linux-arm64
|
|
|
|
|
bazel-build-protokube-linux-amd64 bazel-build-protokube-linux-arm64: bazel-build-protokube-linux-%:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //protokube/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-crossbuild-protokube
|
|
|
|
|
bazel-crossbuild-protokube: bazel-build-protokube-linux-amd64 bazel-build-protokube-linux-arm64
|
|
|
|
|
echo "Done cross-building protokube"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-build-channels-linux-amd64 bazel-build-channels-linux-arm64
|
|
|
|
|
bazel-build-channels-linux-amd64 bazel-build-channels-linux-arm64: bazel-build-channels-linux-%:
|
|
|
|
|
${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //channels/...
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-crossbuild-channels
|
|
|
|
|
bazel-crossbuild-channels: bazel-build-channels-linux-amd64 bazel-build-channels-linux-arm64
|
|
|
|
|
echo "Done cross-building channels"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-push
|
|
|
|
|
# Will always push a linux-based build up to the server
|
|
|
|
|
bazel-push: bazel-build-nodeup-linux-amd64
|
|
|
|
|
ssh ${TARGET} touch /tmp/nodeup
|
|
|
|
|
ssh ${TARGET} chmod +w /tmp/nodeup
|
|
|
|
|
scp -C ${BAZEL_BIN}/cmd/nodeup/linux-amd64/nodeup ${TARGET}:/tmp/
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-push-gce-run
|
|
|
|
|
bazel-push-gce-run: bazel-push
|
|
|
|
|
ssh ${TARGET} sudo cp /tmp/nodeup /var/lib/toolbox/kubernetes-install/nodeup
|
|
|
|
|
ssh ${TARGET} sudo SKIP_PACKAGE_UPDATE=1 /var/lib/toolbox/kubernetes-install/nodeup --conf=/var/lib/toolbox/kubernetes-install/kube_env.yaml --v=8
|
|
|
|
|
|
|
|
|
|
# -t is for CentOS http://unix.stackexchange.com/questions/122616/why-do-i-need-a-tty-to-run-sudo-if-i-can-sudo-without-a-password
|
|
|
|
|
.PHONY: bazel-push-aws-run
|
|
|
|
|
bazel-push-aws-run: bazel-push
|
|
|
|
|
ssh ${TARGET} chmod +x /tmp/nodeup
|
|
|
|
|
ssh -t ${TARGET} sudo SKIP_PACKAGE_UPDATE=1 /tmp/nodeup --conf=/opt/kops/conf/kube_env.yaml --v=8
|
|
|
|
|
|
|
|
|
|
.PHONY: gsutil
|
|
|
|
|
gsutil:
|
|
|
|
|
hack/install-gsutil.sh
|
|
|
|
@ -646,14 +506,6 @@ gsutil:
|
|
|
|
|
ko:
|
|
|
|
|
hack/install-ko.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: bazelisk
|
|
|
|
|
bazelisk:
|
|
|
|
|
hack/install-bazelisk.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: gazelle
|
|
|
|
|
gazelle:
|
|
|
|
|
hack/update-bazel.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: check-markdown-links
|
|
|
|
|
check-markdown-links:
|
|
|
|
|
docker run -t -v $$PWD:/tmp \
|
|
|
|
@ -665,28 +517,6 @@ check-markdown-links:
|
|
|
|
|
|
|
|
|
|
#-----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-kube-apiserver-healthcheck-export-linux-amd64 bazel-kube-apiserver-healthcheck-export-linux-arm64
|
|
|
|
|
bazel-kube-apiserver-healthcheck-export-linux-amd64 bazel-kube-apiserver-healthcheck-export-linux-arm64: bazel-kube-apiserver-healthcheck-export-linux-%:
|
|
|
|
|
mkdir -p ${BAZELIMAGES}
|
|
|
|
|
DOCKER_REGISTRY="" DOCKER_IMAGE_PREFIX="registry.k8s.io/kops/" KUBE_APISERVER_HEALTHCHECK_TAG=${KUBE_APISERVER_HEALTHCHECK_TAG} ${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //cmd/kube-apiserver-healthcheck:image-bundle-$*.tar.gz.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/cmd/kube-apiserver-healthcheck/image-bundle-$*.tar.gz ${BAZELIMAGES}/kube-apiserver-healthcheck-$*.tar.gz
|
|
|
|
|
cp -fp ${BAZEL_BIN}/cmd/kube-apiserver-healthcheck/image-bundle-$*.tar.gz.sha256 ${BAZELIMAGES}/kube-apiserver-healthcheck-$*.tar.gz.sha256
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-kube-apiserver-healthcheck-export
|
|
|
|
|
bazel-kube-apiserver-healthcheck-export: bazel-kube-apiserver-healthcheck-export-linux-amd64 bazel-kube-apiserver-healthcheck-export-linux-arm64
|
|
|
|
|
echo "Done exporting kube-apiserver-healthcheck images"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-kops-controller-export-linux-amd64 bazel-kops-controller-export-linux-arm64
|
|
|
|
|
bazel-kops-controller-export-linux-amd64 bazel-kops-controller-export-linux-arm64: bazel-kops-controller-export-linux-%:
|
|
|
|
|
mkdir -p ${BAZELIMAGES}
|
|
|
|
|
DOCKER_REGISTRY="" DOCKER_IMAGE_PREFIX="registry.k8s.io/kops/" KOPS_CONTROLLER_TAG=${KOPS_CONTROLLER_TAG} ${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //cmd/kops-controller:image-bundle-$*.tar.gz.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/cmd/kops-controller/image-bundle-$*.tar.gz ${BAZELIMAGES}/kops-controller-$*.tar.gz
|
|
|
|
|
cp -fp ${BAZEL_BIN}/cmd/kops-controller/image-bundle-$*.tar.gz.sha256 ${BAZELIMAGES}/kops-controller-$*.tar.gz.sha256
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-kops-controller-export
|
|
|
|
|
bazel-kops-controller-export: bazel-kops-controller-export-linux-amd64 bazel-kops-controller-export-linux-arm64
|
|
|
|
|
echo "Done exporting kops-controller images"
|
|
|
|
|
|
|
|
|
|
.PHONY: ko-kops-controller-export-linux-amd64 ko-kops-controller-export-linux-arm64
|
|
|
|
|
ko-kops-controller-export-linux-amd64 ko-kops-controller-export-linux-arm64: ko-kops-controller-export-linux-%: ko
|
|
|
|
|
mkdir -p ${IMAGES}
|
|
|
|
@ -720,68 +550,6 @@ ko-dns-controller-export-linux-amd64 ko-dns-controller-export-linux-arm64: ko-dn
|
|
|
|
|
ko-dns-controller-export: ko-dns-controller-export-linux-amd64 ko-dns-controller-export-linux-arm64
|
|
|
|
|
echo "Done exporting dns-controller images"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-dns-controller-export-linux-amd64 bazel-dns-controller-export-linux-arm64
|
|
|
|
|
bazel-dns-controller-export-linux-amd64 bazel-dns-controller-export-linux-arm64: bazel-dns-controller-export-linux-%:
|
|
|
|
|
mkdir -p ${BAZELIMAGES}
|
|
|
|
|
DOCKER_REGISTRY="" DOCKER_IMAGE_PREFIX="registry.k8s.io/kops/" DNS_CONTROLLER_TAG=${DNS_CONTROLLER_TAG} ${BAZEL} ${BAZEL_OPTIONS} build ${BAZEL_CONFIG} --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_$* //dns-controller/cmd/dns-controller:image-bundle-$*.tar.gz.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/dns-controller/cmd/dns-controller/image-bundle-$*.tar.gz ${BAZELIMAGES}/dns-controller-$*.tar.gz
|
|
|
|
|
cp -fp ${BAZEL_BIN}/dns-controller/cmd/dns-controller/image-bundle-$*.tar.gz.sha256 ${BAZELIMAGES}/dns-controller-$*.tar.gz.sha256
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-dns-controller-export
|
|
|
|
|
bazel-dns-controller-export:
|
|
|
|
|
echo "Done exporting dns-controller images"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-version-dist-linux-amd64 bazel-version-dist-linux-arm64
|
|
|
|
|
bazel-version-dist-linux-amd64 bazel-version-dist-linux-arm64: bazel-version-dist-linux-%: bazelisk bazel-build-kops-linux-% bazel-build-nodeup-linux-% bazel-kops-controller-export-linux-% bazel-kube-apiserver-healthcheck-export-linux-% bazel-dns-controller-export-linux-% bazel-build-protokube-linux-% bazel-build-channels-linux-%
|
|
|
|
|
echo "Done building dist for $*"
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-version-dist
|
|
|
|
|
bazel-version-dist: bazel-version-dist-linux-amd64 bazel-version-dist-linux-arm64 bazel-build-kops-darwin-amd64 bazel-build-kops-darwin-arm64 bazel-build-kops-windows-amd64
|
|
|
|
|
rm -rf ${BAZELUPLOAD}
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/darwin/amd64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/darwin/arm64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/windows/amd64/
|
|
|
|
|
mkdir -p ${BAZELUPLOAD}/kops/${VERSION}/images/
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/nodeup/linux-amd64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/nodeup
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/nodeup.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/nodeup/linux-arm64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/nodeup
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/nodeup ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/nodeup.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/channels/cmd/channels/linux-amd64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/channels
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/channels.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/channels/cmd/channels/linux-arm64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/channels
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/channels ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/channels.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/protokube/cmd/protokube/linux-amd64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/protokube
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/protokube.sha256
|
|
|
|
|
cp -fp ${BAZEL_BIN}/protokube/cmd/protokube/linux-arm64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/protokube
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/protokube ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/protokube.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-amd64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-amd64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-amd64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-amd64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-arm64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-arm64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kops-controller-arm64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kops-controller-arm64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-amd64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-amd64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-amd64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-amd64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-arm64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-arm64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/kube-apiserver-healthcheck-arm64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/kube-apiserver-healthcheck-arm64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-amd64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-amd64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-amd64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-amd64.tar.gz.sha256
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-arm64.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-arm64.tar.gz
|
|
|
|
|
cp ${BAZELIMAGES}/dns-controller-arm64.tar.gz.sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/dns-controller-arm64.tar.gz.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/kops/linux-amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/kops
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/linux/amd64/kops.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/kops/linux-arm64/kops ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/kops
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/kops ${BAZELUPLOAD}/kops/${VERSION}/linux/arm64/kops.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/kops/darwin-amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/darwin/amd64/kops
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/darwin/amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/darwin/amd64/kops.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/kops/darwin-arm64/kops ${BAZELUPLOAD}/kops/${VERSION}/darwin/arm64/kops
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/darwin/arm64/kops ${BAZELUPLOAD}/kops/${VERSION}/darwin/arm64/kops.sha256
|
|
|
|
|
cp ${BAZEL_BIN}/cmd/kops/windows-amd64/kops ${BAZELUPLOAD}/kops/${VERSION}/windows/amd64/kops.exe
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/windows/amd64/kops.exe ${BAZELUPLOAD}/kops/${VERSION}/windows/amd64/kops.exe.sha256
|
|
|
|
|
tar cfvz ${BAZELUPLOAD}/kops/${VERSION}/images/images.tar.gz -C ${BAZELIMAGES} --exclude "*.sha256" .
|
|
|
|
|
tools/sha256 ${BAZELUPLOAD}/kops/${VERSION}/images/images.tar.gz ${BAZELUPLOAD}/kops/${VERSION}/images/images.tar.gz.sha256
|
|
|
|
|
cp -fr ${BAZELUPLOAD}/kops/${VERSION}/* ${BAZELDIST}/
|
|
|
|
|
|
|
|
|
|
.PHONY: version-dist
|
|
|
|
|
version-dist: dev-version-dist-amd64 dev-version-dist-arm64 crossbuild
|
|
|
|
|
mkdir -p ${UPLOAD}/kops/${VERSION}/linux/amd64/
|
|
|
|
@ -808,15 +576,11 @@ version-dist-ci: dev-version-dist-amd64 dev-version-dist-arm64 crossbuild-kops-l
|
|
|
|
|
tools/sha256 ${UPLOAD}/kops/${VERSION}/linux/amd64/kops ${UPLOAD}/kops/${VERSION}/linux/amd64/kops.sha256
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-upload
|
|
|
|
|
bazel-upload: bazel-version-dist # Upload kops to S3
|
|
|
|
|
aws s3 sync --acl public-read ${BAZELUPLOAD}/ ${S3_BUCKET}
|
|
|
|
|
|
|
|
|
|
# prow-postsubmit is run by the prow postsubmit job
|
|
|
|
|
# It uploads a build to a staging directory, which in theory we can publish as a release
|
|
|
|
|
.PHONY: prow-postsubmit
|
|
|
|
|
prow-postsubmit: bazel-version-dist
|
|
|
|
|
${UPLOAD_CMD} ${BAZELUPLOAD}/kops/${VERSION}/ ${UPLOAD_DEST}/${VERSION}/
|
|
|
|
|
prow-postsubmit: version-dist
|
|
|
|
|
${UPLOAD_CMD} ${UPLOAD}/kops/${VERSION}/ ${UPLOAD_DEST}/${VERSION}/
|
|
|
|
|
|
|
|
|
|
#-----------------------------------------------------------
|
|
|
|
|
# static html documentation
|
|
|
|
@ -967,11 +731,6 @@ crds:
|
|
|
|
|
.PHONY: kops-controller-push
|
|
|
|
|
kops-controller-push: ko-kops-controller-push
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-kops-controller-push
|
|
|
|
|
bazel-kops-controller-push: bazelisk
|
|
|
|
|
DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX} KOPS_CONTROLLER_TAG=${KOPS_CONTROLLER_PUSH_TAG} ${BAZEL} run --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //cmd/kops-controller:push-image-amd64
|
|
|
|
|
DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX} KOPS_CONTROLLER_TAG=${KOPS_CONTROLLER_PUSH_TAG} ${BAZEL} run --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 //cmd/kops-controller:push-image-arm64
|
|
|
|
|
|
|
|
|
|
.PHONY: ko-kops-controller-push
|
|
|
|
|
ko-kops-controller-push: ko
|
|
|
|
|
KO_DOCKER_REPO="${DOCKER_REGISTRY}/${DOCKER_IMAGE_PREFIX}kops-controller" ko build --tags ${KOPS_CONTROLLER_PUSH_TAG} --platform=linux/amd64,linux/arm64 --bare ./cmd/kops-controller/
|
|
|
|
@ -988,11 +747,6 @@ kops-controller-manifest:
|
|
|
|
|
.PHONY: kube-apiserver-healthcheck-push
|
|
|
|
|
kube-apiserver-healthcheck-push: ko-kube-apiserver-healthcheck-push
|
|
|
|
|
|
|
|
|
|
.PHONY: bazel-kube-apiserver-healthcheck-push
|
|
|
|
|
bazel-kube-apiserver-healthcheck-push: bazelisk
|
|
|
|
|
DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX} KUBE_APISERVER_HEALTHCHECK_TAG=${KUBE_APISERVER_HEALTHCHECK_PUSH_TAG} ${BAZEL} run --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //cmd/kube-apiserver-healthcheck:push-image-amd64
|
|
|
|
|
DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX} KUBE_APISERVER_HEALTHCHECK_TAG=${KUBE_APISERVER_HEALTHCHECK_PUSH_TAG} ${BAZEL} run --@io_bazel_rules_go//go/config:pure --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 //cmd/kube-apiserver-healthcheck:push-image-arm64
|
|
|
|
|
|
|
|
|
|
.PHONY: ko-kube-apiserver-healthcheck-push
|
|
|
|
|
ko-kube-apiserver-healthcheck-push: ko
|
|
|
|
|
KO_DOCKER_REPO="${DOCKER_REGISTRY}/${DOCKER_IMAGE_PREFIX}kube-apiserver-healthcheck" ko build --tags ${KUBE_APISERVER_HEALTHCHECK_PUSH_TAG} --platform=linux/amd64,linux/arm64 --bare ./cmd/kube-apiserver-healthcheck/
|
|
|
|
|