Skip to content

Commit 77f29b1

Browse files
author
Niklas Burchhardt
committed
updated goreleaser to new version
* use dockers_v2 option * update release-check make target * update Dockerfile to adjust to new requirements from goreleaser
1 parent 5e26216 commit 77f29b1

File tree

3 files changed

+34
-56
lines changed

3 files changed

+34
-56
lines changed

.goreleaser.yml

Lines changed: 22 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ builds:
2525
source:
2626
enabled: true
2727
archives:
28-
- format: tar.gz
28+
- formats: ["tar.gz"]
2929
# this name template makes the OS and Arch compatible with the results of uname.
3030
name_template: >-
3131
{{ .ProjectName }}_
@@ -37,55 +37,25 @@ archives:
3737
# use zip for windows archives
3838
format_overrides:
3939
- goos: windows
40-
format: zip
41-
dockers:
42-
- id: stackit-cert-manager-webhook-amd64
43-
use: buildx
44-
image_templates:
45-
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}-amd64"
46-
goos: linux
47-
goarch: amd64
48-
build_flag_templates:
49-
- --label=org.opencontainers.image.title={{ .ProjectName }}
50-
- --label=org.opencontainers.image.description=stackit cert manager webhook for dns01 challenges
51-
- --label=org.opencontainers.image.url=https://{{ .Env.GITHUB_SERVER_URL }}/{{ .Env.GITHUB_REPOSITORY}}
52-
- --label=org.opencontainers.image.source=https://{{ .Env.GITHUB_SERVER_URL }}/{{ .Env.GITHUB_REPOSITORY}}
53-
- --label=org.opencontainers.image.version={{ .Version }}
54-
- --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
55-
- --label=org.opencontainers.image.revision={{ .FullCommit }}
56-
- --label=org.opencontainers.image.licenses=Apache-2.0
57-
- --platform=linux/amd64
58-
skip_push: false
59-
60-
- id: stackit-cert-manager-webhook-arm64
61-
use: buildx
62-
image_templates:
63-
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}-arm64"
64-
goos: linux
65-
goarch: arm64
66-
build_flag_templates:
67-
- --label=org.opencontainers.image.title={{ .ProjectName }}
68-
- --label=org.opencontainers.image.description=stackit cert manager webhook for dns01 challenges
69-
- --label=org.opencontainers.image.url=https://{{ .Env.GITHUB_SERVER_URL }}/{{ .Env.GITHUB_REPOSITORY}}
70-
- --label=org.opencontainers.image.source=https://{{ .Env.GITHUB_SERVER_URL }}/{{ .Env.GITHUB_REPOSITORY}}
71-
- --label=org.opencontainers.image.version={{ .Version }}
72-
- --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
73-
- --label=org.opencontainers.image.revision={{ .FullCommit }}
74-
- --label=org.opencontainers.image.licenses=Apache-2.0
75-
- --label=org.opencontainers.image.platform.os=linux
76-
- --platform=linux/arm64
77-
skip_push: false
78-
79-
# https://goreleaser.com/cookbooks/multi-platform-docker-images
80-
docker_manifests:
81-
- name_template: "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}"
82-
image_templates:
83-
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}-amd64"
84-
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}-arm64"
85-
- name_template: "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:latest"
86-
image_templates:
87-
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}-amd64"
88-
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}:{{ .Tag }}-arm64"
40+
formats: ["zip"]
41+
dockers_v2:
42+
- images:
43+
- "{{ .Env.REGISTRY }}/{{ .Env.IMAGE_NAME }}"
44+
tags:
45+
- "{{ .Tag }}"
46+
- "latest"
47+
platforms:
48+
- linux/amd64
49+
- linux/arm64
50+
labels:
51+
"org.opencontainers.image.title": "{{ .ProjectName }}"
52+
"org.opencontainers.image.description": "stackit cert manager webhook for dns01 challenges"
53+
"org.opencontainers.image.url": "https://{{ .Env.GITHUB_SERVER_URL }}/{{ .Env.GITHUB_REPOSITORY}}"
54+
"org.opencontainers.image.source": "https://{{ .Env.GITHUB_SERVER_URL }}/{{ .Env.GITHUB_REPOSITORY}}"
55+
"org.opencontainers.image.version": "{{ .Version }}"
56+
"org.opencontainers.image.created": '{{ time "2006-01-02T15:04:05Z07:00" }}'
57+
"org.opencontainers.image.revision": "{{ .FullCommit }}"
58+
"org.opencontainers.image.licenses": "Apache-2.0"
8959

9060
checksum:
9161
disable: false
@@ -110,13 +80,13 @@ signs:
11080
- "sign-blob"
11181
- "--key=env://COSIGN_PRIVATE_KEY"
11282
- "--output-signature=${signature}"
83+
- "--bundle=${artifact}.bundle"
11384
- "--yes"
11485
- "${artifact}"
11586

11687
# sign published Docker images using Cosign
11788
docker_signs:
118-
- artifacts: manifests
119-
cmd: cosign
89+
- cmd: cosign
12090
args:
12191
- "sign"
12292
- "--key=env://COSIGN_PRIVATE_KEY"

Dockerfile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
FROM gcr.io/distroless/static-debian11:nonroot
22

3-
COPY stackit-cert-manager-webhook /stackit-cert-manager-webhook
3+
# Buildx automatically populates this with the current architecture (e.g., "linux/amd64")
4+
ARG TARGETPLATFORM
45

5-
ENTRYPOINT ["/stackit-cert-manager-webhook"]
6+
# Grab the binary from the architecture-specific folder
7+
COPY ${TARGETPLATFORM}/stackit-cert-manager-webhook /stackit-cert-manager-webhook
8+
9+
ENTRYPOINT ["/stackit-cert-manager-webhook"]

Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,15 @@ clean:
7474

7575
GO_RELEASER = bin/goreleaser
7676
$(GO_RELEASER):
77-
GOBIN=$(PWD)/bin go install github.com/goreleaser/goreleaser@latest
77+
GOBIN=$(PWD)/bin go install github.com/goreleaser/goreleaser/v2@latest
7878

7979
.PHONY: release-check
8080
release-check: $(GO_RELEASER) ## Check if the release will work
81-
GITHUB_SERVER_URL=github.com GITHUB_REPOSITORY=stackitcloud/stackit-cert-manager-webhook REGISTRY=$(REGISTRY) IMAGE_NAME=$(IMAGE_NAME) $(GO_RELEASER) release --snapshot --clean --skip-publish
81+
GITHUB_SERVER_URL=github.com \
82+
GITHUB_REPOSITORY=stackitcloud/stackit-cert-manager-webhook \
83+
REGISTRY=ghcr.io \
84+
IMAGE_NAME=stackitcloud/stackit-cert-manager-webhook \
85+
$(GO_RELEASER) release --snapshot --clean --skip=sign
8286

8387
GO_LICENSES = bin/go-licenses
8488
$(GO_LICENSES):

0 commit comments

Comments
 (0)