Skip to content

feat: multi-arch (amd64+arm64) publishing to quay.io signed with cosign - #92

Merged
indigo423 merged 1 commit into
mainfrom
feat/multiarch-quay-cosign
Jul 6, 2026
Merged

feat: multi-arch (amd64+arm64) publishing to quay.io signed with cosign#92
indigo423 merged 1 commit into
mainfrom
feat/multiarch-quay-cosign

Conversation

@indigo423

Copy link
Copy Markdown
Contributor

Publish images to quay.io/labmonkeys via a quay robot account (QUAY_USERNAME,
QUAY_PASSWORD, QUAY_LABMONKEYS_ORG), build the platforms each project declares,
and sign the pushed index with keyless cosign (GitHub OIDC).

  • include.mk: MULTI_ARCH sourced from a per-project PLATFORMS var; new sign
    target; the Dockerfile target now passes envsubst an allowlist of only the
    vars version-lock.sh/base_images.sh export, so Docker build args like
    $TARGETARCH (and the image's own $PATH) survive rendering.
  • version-lock.sh: declare PLATFORMS per project (21 dual-arch, 7 amd64-only:
    5 Java blocked on the amd64-only openjdk base, featmap/gobetween have no
    arm64 upstream binary).
  • Dockerfiles: diag, frrouting, mail-lab, gobgp, gohugo, retro-aim-server
    select their release artifact from $TARGETARCH.
  • build.yml: quay secrets, QEMU+buildx, cosign install, id-token: write,
    publish+sign on main.
  • README: multi-arch + signature-verification docs.

Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: Ronny Trommer ronny@no42.org

Publish images to quay.io/labmonkeys via a quay robot account (QUAY_USERNAME,
QUAY_PASSWORD, QUAY_LABMONKEYS_ORG), build the platforms each project declares,
and sign the pushed index with keyless cosign (GitHub OIDC).

- include.mk: MULTI_ARCH sourced from a per-project PLATFORMS var; new sign
  target; the Dockerfile target now passes envsubst an allowlist of only the
  vars version-lock.sh/base_images.sh export, so Docker build args like
  $TARGETARCH (and the image's own $PATH) survive rendering.
- version-lock.sh: declare PLATFORMS per project (21 dual-arch, 7 amd64-only:
  5 Java blocked on the amd64-only openjdk base, featmap/gobetween have no
  arm64 upstream binary).
- Dockerfiles: diag, frrouting, mail-lab, gobgp, gohugo, retro-aim-server
  select their release artifact from $TARGETARCH.
- build.yml: quay secrets, QEMU+buildx, cosign install, id-token: write,
  publish+sign on main.
- README: multi-arch + signature-verification docs.

Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: Ronny Trommer <ronny@no42.org>
@indigo423
indigo423 merged commit 6f8f970 into main Jul 6, 2026
31 checks passed
@indigo423
indigo423 deleted the feat/multiarch-quay-cosign branch July 6, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant