Skip to content

Commit 72094cb

Browse files
authored
Merge pull request #28 from hakman/ko-build
Build etcd-backup and etcd-dump using ko
2 parents 1e88ae1 + c3da8bd commit 72094cb

File tree

2 files changed

+47
-13
lines changed

2 files changed

+47
-13
lines changed

Makefile

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,8 @@ push-etcd-backup-manifest:
101101
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push --purge \
102102
$(IMAGE_BASE)etcd-backup:$(STABLE_DOCKER_TAG)
103103

104-
.PHONY: push-images
105-
push-images: push-etcd-manager push-etcd-dump push-etcd-backup
106-
echo "pushed images"
107-
108-
.PHONY: push-manifests
109-
push-manifests: push-etcd-manager-manifest push-etcd-dump-manifest push-etcd-backup-manifest
110-
echo "pushed manifests"
111-
112104
.PHONY: push
113-
push: push-images push-manifests
105+
push: push-etcd-manager push-etcd-manager-manifest
114106

115107
.PHONY: gazelle
116108
gazelle:
@@ -153,12 +145,32 @@ staticcheck-working:
153145
go list ./... | grep -v "etcd-manager/pkg/[cepv]" | xargs go run honnef.co/go/tools/cmd/[email protected]
154146

155147
.PHONY: ko-dist
156-
ko-dist: ko-export-etcd-manager-slim-amd64 ko-export-etcd-manager-slim-arm64
148+
ko-dist: ko-export-etcd-manager-slim-amd64 ko-export-etcd-manager-slim-arm64 ko-export-etcd-backup-amd64 ko-export-etcd-backup-arm64 ko-export-etcd-dump-amd64 ko-export-etcd-dump-arm64
149+
150+
.PHONY: ko-export-etcd-backup-amd64 ko-export-etcd-backup-arm64
151+
ko-export-etcd-backup-amd64 ko-export-etcd-backup-arm64: ko-export-etcd-backup-%:
152+
mkdir -p dist
153+
KO_DEFAULTBASEIMAGE="debian:12-slim" KO_DOCKER_REPO="registry.k8s.io/etcd-manager/etcd-backup" ${KO} build --tags ${STABLE_DOCKER_TAG} --platform=linux/$* -B --push=false --tarball=dist/etcd-backup-$*.tar ./cmd/etcd-backup/
154+
gzip -f dist/etcd-backup-$*.tar
155+
156+
.PHONY: ko-push-etcd-backup
157+
ko-push-etcd-backup:
158+
KO_DEFAULTBASEIMAGE="debian:12-slim" KO_DOCKER_REPO="${IMAGE_BASE}etcd-backup" ${KO} build --tags ${STABLE_DOCKER_TAG} --platform=linux/amd64,linux/arm64 --bare ./cmd/etcd-backup/
159+
160+
.PHONY: ko-export-etcd-dump-amd64 ko-export-etcd-dump-arm64
161+
ko-export-etcd-dump-amd64 ko-export-etcd-dump-arm64: ko-export-etcd-dump-%:
162+
mkdir -p dist
163+
KO_DEFAULTBASEIMAGE="debian:12-slim" KO_DOCKER_REPO="registry.k8s.io/etcd-manager/etcd-dump" ${KO} build --tags ${STABLE_DOCKER_TAG} --platform=linux/$* -B --push=false --tarball=dist/etcd-dump-$*.tar ./cmd/etcd-dump/
164+
gzip -f dist/etcd-dump-$*.tar
165+
166+
.PHONY: ko-push-etcd-dump
167+
ko-push-etcd-dump:
168+
KO_DEFAULTBASEIMAGE="debian:12-slim" KO_DOCKER_REPO="${IMAGE_BASE}etcd-dump" ${KO} build --tags ${STABLE_DOCKER_TAG} --platform=linux/amd64,linux/arm64 --bare ./cmd/etcd-dump/
157169

158170
.PHONY: ko-export-etcd-manager-slim-amd64 ko-export-etcd-manager-slim-arm64
159171
ko-export-etcd-manager-slim-amd64 ko-export-etcd-manager-slim-arm64: ko-export-etcd-manager-slim-%:
160172
mkdir -p dist
161-
KO_DEFAULTBASEIMAGE="debian:12-slim" KO_DOCKER_REPO="registry.k8s.io/etcd-manager" ${KO} build --tags ${STABLE_DOCKER_TAG} --platform=linux/$* -B --push=false --tarball=dist/etcd-manager-slim-$*.tar ./cmd/etcd-manager/
173+
KO_DEFAULTBASEIMAGE="debian:12-slim" KO_DOCKER_REPO="registry.k8s.io/etcd-manager/etcd-manager-slim" ${KO} build --tags ${STABLE_DOCKER_TAG} --platform=linux/$* -B --push=false --tarball=dist/etcd-manager-slim-$*.tar ./cmd/etcd-manager/
162174
gzip -f dist/etcd-manager-slim-$*.tar
163175

164176
.PHONY: ko-push-etcd-manager-slim

cloudbuild.yaml

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
steps:
22
# Push the images
33
- name: "mirror.gcr.io/library/golang:1.24.4-bookworm"
4-
id: slim-image
4+
id: etcd-manager-slim-image
55
entrypoint: make
66
env:
77
- PULL_BASE_REF=$_PULL_BASE_REF
@@ -11,8 +11,30 @@ steps:
1111
- DOCKER_IMAGE_PREFIX=$_DOCKER_IMAGE_PREFIX
1212
args:
1313
- ko-push-etcd-manager-slim
14+
- name: "mirror.gcr.io/library/golang:1.24.4-bookworm"
15+
id: etcd-backup-image
16+
entrypoint: make
17+
env:
18+
- PULL_BASE_REF=$_PULL_BASE_REF
19+
# We don't pass version; we want to use our own version tagging from git
20+
#- VERSION=$_GIT_TAG
21+
- DOCKER_REGISTRY=$_DOCKER_REGISTRY
22+
- DOCKER_IMAGE_PREFIX=$_DOCKER_IMAGE_PREFIX
23+
args:
24+
- ko-push-etcd-backup
25+
- name: "mirror.gcr.io/library/golang:1.24.4-bookworm"
26+
id: etcd-dump-image
27+
entrypoint: make
28+
env:
29+
- PULL_BASE_REF=$_PULL_BASE_REF
30+
# We don't pass version; we want to use our own version tagging from git
31+
#- VERSION=$_GIT_TAG
32+
- DOCKER_REGISTRY=$_DOCKER_REGISTRY
33+
- DOCKER_IMAGE_PREFIX=$_DOCKER_IMAGE_PREFIX
34+
args:
35+
- ko-push-etcd-dump
1436
- name: gcr.io/google.com/cloudsdktool/google-cloud-cli:slim
15-
id: legacy-images
37+
id: etcd-manager-legacy-image
1638
env:
1739
- PULL_BASE_REF=$_PULL_BASE_REF
1840
# We don't pass version; we want to use our own version tagging from git

0 commit comments

Comments
 (0)