Skip to content

Sign published operator Docker images - #809

Open
alexbrenescisco wants to merge 2 commits into
signalfx:mainfrom
alexbrenescisco:se-11347-sign-docker-image
Open

alexbrenescisco wants to merge 2 commits into
signalfx:mainfrom
alexbrenescisco:se-11347-sign-docker-image

Conversation

@alexbrenescisco

@alexbrenescisco alexbrenescisco commented Oct 21, 2026 •

Copy link
Copy Markdown

Summary

quay.io/signalfx/splunk-otel-instrumentation-python images are published unsigned, while splunk-otel-instrumentation-java and the splunk-otel-collector images are signed. The publish-docker-image job already requests a signing-service token (SIGNING_SERVICE_ADDR audience) but never signs.

  • docker/publish-docker-image.sh: after each push, sign the image with artifact-ci sign docker and check it with artifact-ci verify docker. This is the same approach splunk-otel-java uses in scripts/publish-docker-image.sh.
    • Signs <repo>:<release_tag> and <repo>:<release_tag>-secureapp. Signatures attach to the digest, so latest/vX and latest-secureapp/vX-secureapp are covered because they share those digests.
  • No CI image change is needed: the GitLab runners mount artifact-ci into every job container.

Prerequisite

The releaser project must be allowed to sign docker images with the Signing Service. Its onboarding entry currently lists only gpg; this is being confirmed or requested with the Signing team before the next release.

Test plan

  • On the next release (or an rc tag), confirm the job logs signed successfully for both images.
  • Confirm sha256-<digest>.sig tags appear on quay for the standard and SecureApp digests, and that they verify against the published public key.

🤖 Generated with Claude Code

@alexbrenescisco
alexbrenescisco marked this pull request as ready for review October 21, 2026 21:52
@alexbrenescisco
alexbrenescisco requested review from a team as code owners October 21, 2026 21:52
The publish job already requests a signing-service token but never signs,
so quay.io/signalfx/splunk-otel-instrumentation-python images ship
unsigned while the Java and collector images are signed. Sign and verify
the standard and SecureApp images with artifact-ci after each push, and
run the job on a ci-container image that provides artifact-ci.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@alexbrenescisco
alexbrenescisco force-pushed the se-11347-sign-docker-image branch from 129e436 to 522c784 Compare October 22, 2026 14:06
@pmcollins

Copy link
Copy Markdown
Contributor

Thanks for the enhancement @alexbrenescisco!

My understanding is that we'll need to get this project the permissions it needs to sign docker images before these changes will work, so will hold off on merging until that's done. Please feel free to reach out to me separately to discuss, otherwise, I'll work on getting these permissions squared away.

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.

2 participants