Skip to content

switch from tags to digest for images - #1961

Merged
EItanya merged 7 commits into
mainfrom
peterj/digestswitch
Jun 9, 2026
Merged

EItanya merged 7 commits into
mainfrom
peterj/digestswitch

Conversation

@peterj

@peterj peterj commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
Copilot AI review requested due to automatic review settings June 3, 2026 22:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the controller build and agent translation logic so declarative agents use OCI digest-pinned runtime images (@sha256:...) rather than tags, enabling compatibility with Substrate ActorTemplate validation requirements.

Changes:

  • Adds a build helper script to resolve agent runtime image digests from the registry and inject them into the controller binary via Go -ldflags -X.
  • Updates the agent deployment translation path to emit digest-pinned runtime images and fail fast if required digests were not injected at link time.
  • Updates golden test outputs and unit tests to validate digest-pinned image references.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated no comments.

Show a summary per file
File Description
scripts/controller-digest-ldflags.sh New helper to inspect pushed image digests and emit -X ldflags for link-time injection.
Makefile Adjusts LDFLAGS quoting and updates build-controller to build/push runtime images first, then embed their digests into the controller build.
go/README.md Documents link-time embedding of agent runtime image digests and how make build-controller wires it up.
go/core/internal/controller/translator/agent/testdata/outputs/*.json Updates golden outputs to use digest-pinned app@sha256:... references.
go/core/internal/controller/translator/agent/runtime_test.go Updates runtime image assertions to validate digest-pinned references and adds helpers for setting digest globals in tests.
go/core/internal/controller/translator/agent/imageconfig_test.go Adds unit coverage for digest pinning helpers and digest-required runtime resolution behavior.
go/core/internal/controller/translator/agent/digest_testmain_external_test.go Sets default digest globals for external-package translator tests.
go/core/internal/controller/translator/agent/deployments.go Introduces digest-based runtime image resolution and removes tag-based runtime selection.
go/core/internal/controller/translator/agent/adk_api_translator.go Extends ImageConfig with Digest, adds digest normalization + pinning helper, and adds link-time digest globals.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

EItanya added 5 commits June 4, 2026 14:02
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
@EItanya
EItanya force-pushed the peterj/digestswitch branch from a025456 to 9ffe268 Compare June 9, 2026 15:12
@EItanya
EItanya merged commit 386bc1b into main Jun 9, 2026
23 checks passed
@EItanya
EItanya deleted the peterj/digestswitch branch June 9, 2026 19:14
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
kagent 0.9.7

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre><!-- Release notes generated using configuration in .github/release.yml at v0.9.7 -->

## What's Changed
### Features
* feat(api): add workingDir to BYO agent deployment spec by @mesutoezdil in kagent-dev/kagent#1970
* feat(ui): add guard to prevent out-of-sync sends when working cross-tabs by @onematchfox in kagent-dev/kagent#1904
### Bug Fixes
* fix(controller): disable standalone SSE for STREAMABLE_HTTP remote mcp servers by @jmhbh in kagent-dev/kagent#1974
* fix: ignore local cache directories in go docker context by @EItanya in kagent-dev/kagent#1978
* fix(controller): return error instead of panicking on unknown auth mode by @SarthakB11 in kagent-dev/kagent#1791
### Other Changes
* Expose the controller's /metrics endpoint through a dedicated Service by @danielorbach in kagent-dev/kagent#1803
* Migrate from A2A v0 to v1 (part 1) by @supreme-gg-gg in kagent-dev/kagent#1921
* switch from tags to digest for images by @peterj in kagent-dev/kagent#1961
* automatically refresh substrate status page by @peterj in kagent-dev/kagent#1990
* chore: bump kagent tools to 0.2.1 by @jmhbh in kagent-dev/kagent#1995
* support running declarative agents in substrate by @peterj in kagent-dev/kagent#1981


**Full Changelog**: https://github.com/kagent-dev/kagent/compare/v0.9.6...v0.9.7</pre>
  <p>View the full release notes at <a href="https://github.com/kagent-dev/kagent/releases/tag/v0.9.7">https://github.com/kagent-dev/kagent/releases/tag/v0.9.7</a>.</p>
</details>
<hr>

See merge request: Harmonybrew/homebrew-core!11305
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.

3 participants