Includes targets for: - all "server" binaries, for all arches - all containers for all server binaries for all arches - all client binaries (kubectl plugin / cmctl) for all arches - the cert-manager helm chart + signature - the cert-manager static manifests + CRDs - tools which bazel would download, with checksum verification - (commented out) a signed SHA256SUM file for client binaries Upgrades from the bazel flow include that: - we use OS-specific base images rather than just using amd64 everywhere - we easily add support for signing artifacts at build time - we add ".exe" to the end of windows executables - we add a zip file for windows executables, for easier consumption - we concatenate YAML files more robustly - staging a full release should be much faster - hopefully, it's easier to change things! - licenses are trimmed down to reduce bloat in images (the license bundle was 1.4MB in size alone) Changes from the bazel flow include: - containers no longer have a symlink to the binary at an unusual path, but instead just have the binary at a more predictable path (e.g. /app/cmd/webhook/webhook instead of /app/cmd/webhook/webhook.runfiles/com_github_jetstack_cert_manager/cmd/webhook/webhook_/webhook) Signed-off-by: Ashley Davis <ashley.davis@jetstack.io>
78 lines
3.6 KiB
Makefile
78 lines
3.6 KiB
Makefile
.PHONY: server-binaries
|
|
server-binaries: controller acmesolver webhook cainjector
|
|
|
|
bin/server:
|
|
@mkdir -p $@
|
|
|
|
.PHONY: controller
|
|
controller: bin/server/controller-linux-amd64 bin/server/controller-linux-arm64 bin/server/controller-linux-s390x bin/server/controller-linux-ppc64le bin/server/controller-linux-arm | bin/server
|
|
|
|
bin/server/controller-linux-amd64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=amd64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/controller/main.go
|
|
|
|
bin/server/controller-linux-arm64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/controller/main.go
|
|
|
|
bin/server/controller-linux-s390x: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=s390x $(GOBUILD) -o $@ $(GOFLAGS) cmd/controller/main.go
|
|
|
|
bin/server/controller-linux-ppc64le: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=ppc64le $(GOBUILD) -o $@ $(GOFLAGS) cmd/controller/main.go
|
|
|
|
bin/server/controller-linux-arm: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm GOARM=7 $(GOBUILD) -o $@ $(GOFLAGS) cmd/controller/main.go
|
|
|
|
.PHONY: acmesolver
|
|
acmesolver: bin/server/acmesolver-linux-amd64 bin/server/acmesolver-linux-arm64 bin/server/acmesolver-linux-s390x bin/server/acmesolver-linux-ppc64le bin/server/acmesolver-linux-arm | bin/server
|
|
|
|
bin/server/acmesolver-linux-amd64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=amd64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/acmesolver/main.go
|
|
|
|
bin/server/acmesolver-linux-arm64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/acmesolver/main.go
|
|
|
|
bin/server/acmesolver-linux-s390x: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=s390x $(GOBUILD) -o $@ $(GOFLAGS) cmd/acmesolver/main.go
|
|
|
|
bin/server/acmesolver-linux-ppc64le: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=ppc64le $(GOBUILD) -o $@ $(GOFLAGS) cmd/acmesolver/main.go
|
|
|
|
bin/server/acmesolver-linux-arm: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm GOARM=7 $(GOBUILD) -o $@ $(GOFLAGS) cmd/acmesolver/main.go
|
|
|
|
.PHONY: webhook
|
|
webhook: bin/server/webhook-linux-amd64 bin/server/webhook-linux-arm64 bin/server/webhook-linux-s390x bin/server/webhook-linux-ppc64le bin/server/webhook-linux-arm | bin/server
|
|
|
|
bin/server/webhook-linux-amd64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=amd64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/webhook/main.go
|
|
|
|
bin/server/webhook-linux-arm64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/webhook/main.go
|
|
|
|
bin/server/webhook-linux-s390x: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=s390x $(GOBUILD) -o $@ $(GOFLAGS) cmd/webhook/main.go
|
|
|
|
bin/server/webhook-linux-ppc64le: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=ppc64le $(GOBUILD) -o $@ $(GOFLAGS) cmd/webhook/main.go
|
|
|
|
bin/server/webhook-linux-arm: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm GOARM=7 $(GOBUILD) -o $@ $(GOFLAGS) cmd/webhook/main.go
|
|
|
|
.PHONY: cainjector
|
|
cainjector: bin/server/cainjector-linux-amd64 bin/server/cainjector-linux-arm64 bin/server/cainjector-linux-s390x bin/server/cainjector-linux-ppc64le bin/server/cainjector-linux-arm | bin/server
|
|
|
|
bin/server/cainjector-linux-amd64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=amd64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/cainjector/main.go
|
|
|
|
bin/server/cainjector-linux-arm64: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm64 $(GOBUILD) -o $@ $(GOFLAGS) cmd/cainjector/main.go
|
|
|
|
bin/server/cainjector-linux-s390x: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=s390x $(GOBUILD) -o $@ $(GOFLAGS) cmd/cainjector/main.go
|
|
|
|
bin/server/cainjector-linux-ppc64le: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=ppc64le $(GOBUILD) -o $@ $(GOFLAGS) cmd/cainjector/main.go
|
|
|
|
bin/server/cainjector-linux-arm: $(SOURCES) | bin/server
|
|
GOOS=linux GOARCH=arm GOARM=7 $(GOBUILD) -o $@ $(GOFLAGS) cmd/cainjector/main.go
|