Skip to content

Add containerImages build-and-push to test apps - #227

Draft
willdavsmith wants to merge 1 commit into
mainfrom
willdavsmith-containerimages-test-apps
Draft

Add containerImages build-and-push to test apps#227
willdavsmith wants to merge 1 commit into
mainfrom
willdavsmith-containerimages-test-apps

Conversation

@willdavsmith

@willdavsmith willdavsmith commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a Radius.Compute/containerImages resource to the 11 test/app.bicep files that consume ghcr.io/radius-project/samples/demo:latest. Each new resource builds that same demo app from source (radius-project/samples //samples/demo, pinned to an immutable commit) in-cluster via the containerImages recipe and pushes it to the configured registry — exercising the build-and-push path end to end.

This mirrors the decoupled build-and-push check proven in resource-types-verification: the demo container keeps running the published image, so the app's data-path verification never depends on the cluster being able to pull the freshly built image. Reaching a successful deploy proves the build-and-push path works.

What changed

For each of the 11 apps (AI/{models,search}, Data/{mongoDatabases,mySqlDatabases,neo4jDatabases,postgreSqlDatabases,redisCaches,sqlServerDatabases}, Messaging/{kafka,rabbitMQ}, Storage/objectStorage):

  • Added a resource demoImage 'Radius.Compute/containerImages@2025-08-01-preview' that builds git::https://github.com/radius-project/samples.git//samples/demo?ref=190d9c4c…, tag: 'demo-e2e', platforms: ['linux/amd64'].
  • The container's image: is unchanged (ghcr.io/radius-project/samples/demo:latest) — decoupled.

CI prerequisite (follow-up)

Radius.Compute/containerImages requires an in-cluster BuildKit sidecar (dynamicrp.buildkit.enabled=true) plus a push registry + credentials. The standard kind-based validate-resource-types workflow does not yet configure these, so it will fail to deploy these apps until that plumbing is added (enable BuildKit in create-cluster.sh + provide a push registry/secret and wire it to the containerImages recipe). That CI enablement is a follow-up and is intentionally not part of this PR.

Notes

  • The type resolves through the existing extension radius (which already includes Radius.Compute/containerImages) — no extra extension import is needed.
  • recipepack/azure/aks-recipepack.bicep already declares the Radius.Compute/containerImages recipe (with registry/registrySecretName params), so no recipe-pack change is required.
  • No CI, workflow, or recipe changes are included.

Validation

Compiled the apps with rad bicep (0.42.1): the containerImages resource is emitted and fully typed via extension radius.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@willdavsmith
willdavsmith force-pushed the willdavsmith-containerimages-test-apps branch from 9fe67c5 to 2c419c6 Compare July 9, 2026 22:02
@willdavsmith willdavsmith changed the title Add gated containerImages build-and-push to test apps Add containerImages build-and-push to test apps Jul 9, 2026
@willdavsmith
willdavsmith force-pushed the willdavsmith-containerimages-test-apps branch from 2c419c6 to e85729e Compare July 9, 2026 22:24
Add a Radius.Compute/containerImages resource to each test app that pulls
the ghcr.io/radius-project/samples/demo image, building that same demo app
from source (radius-project/samples //samples/demo) in-cluster via the
containerImages recipe and pushing it to the configured registry.

This mirrors the decoupled build-and-push check proven in
resource-types-verification: the demo container keeps running the published
image, so the app's data-path verification never depends on the cluster
pulling the freshly built image - reaching a successful deploy proves the
build-and-push path works.

The type resolves through the existing 'extension radius', which already
includes Radius.Compute/containerImages, so no extra extension import is
needed.

Running these tests now requires the containerImages recipe plus an
in-cluster BuildKit sidecar and a push registry, which the standard
kind-based validation does not yet configure; enabling that is a follow-up.

No CI, workflow, or recipe changes are included.

Signed-off-by: willdavsmith <willdavsmith@gmail.com>
@willdavsmith
willdavsmith force-pushed the willdavsmith-containerimages-test-apps branch from e85729e to eaf174c Compare July 9, 2026 22:28
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