Skip to content

Default Kubernetes image pull policy for Radius chart#11852

Open
officialasishkumar wants to merge 1 commit into
radius-project:mainfrom
officialasishkumar:fix/helm-image-pull-policy
Open

Default Kubernetes image pull policy for Radius chart#11852
officialasishkumar wants to merge 1 commit into
radius-project:mainfrom
officialasishkumar:fix/helm-image-pull-policy

Conversation

@officialasishkumar

Copy link
Copy Markdown
Contributor

Description

The Radius Helm chart explicitly set imagePullPolicy on several chart-managed containers. This caused Always pulls for controller, dashboard, and pre-upgrade and an explicit IfNotPresent for database instead of letting Kubernetes choose the default from the rendered image tag.

This removes the explicit policy from controller, dashboard, database, and pre-upgrade templates and adds Helm unit coverage that those containers omit imagePullPolicy. A render check confirms no imagePullPolicy fields are emitted when dashboard, database, and pre-upgrade are enabled.

Type of change

  • This pull request fixes a bug in Radius and has an approved issue (issue link required).

Fixes: #10769

Contributor checklist

Please verify that the PR meets the following requirements, where applicable:

  • An overview of proposed schema changes is included in a linked GitHub issue.
    • Yes
    • Not applicable
  • A design document is added or updated under eng/design-notes/ in this repository, if new APIs are being introduced.
    • Yes
    • Not applicable
  • The design document has been reviewed and approved by Radius maintainers/approvers.
    • Yes
    • Not applicable
  • A PR for resource-types-contrib is created, if resource types or recipes are affected by the changes in this PR.
    • Yes
    • Not applicable
  • A PR for dashboard is created, if the Radius Dashboard is affected by the changes in this PR.
    • Yes
    • Not applicable
  • A PR for the documentation repository is created, if the changes in this PR affect the documentation or any user facing updates are made.
    • Yes
    • Not applicable

Copilot AI review requested due to automatic review settings May 11, 2026 18:51
@officialasishkumar officialasishkumar requested review from a team as code owners May 11, 2026 18:51
@officialasishkumar officialasishkumar had a problem deploying to external-contributor-approval May 11, 2026 18:51 — with GitHub Actions Failure

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 Radius Helm chart to rely on Kubernetes’ default imagePullPolicy behavior (based on the resolved image tag) by removing explicitly-set imagePullPolicy fields from chart-managed workloads, and adds Helm unit tests to prevent regressions.

Changes:

  • Remove explicit imagePullPolicy from controller, dashboard, database, and pre-upgrade Job templates.
  • Add Helm unit coverage asserting imagePullPolicy is omitted for those chart-managed containers.
  • Include the pre-upgrade Job template in the test suite’s rendered templates.

Reviewed changes

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

Show a summary per file
File Description
deploy/Chart/tests/helpers_test.yaml Adds a unit test to assert imagePullPolicy is not emitted and includes the pre-upgrade Job template in the suite.
deploy/Chart/templates/controller/deployment.yaml Removes explicit imagePullPolicy from the controller container.
deploy/Chart/templates/dashboard/deployment.yaml Removes explicit imagePullPolicy from the dashboard container.
deploy/Chart/templates/database/statefulset.yaml Removes explicit imagePullPolicy from the database container.
deploy/Chart/templates/pre-upgrade/job.yaml Removes explicit imagePullPolicy from the pre-upgrade Job container.

zachcasper
zachcasper previously approved these changes May 12, 2026
@brooke-hamilton brooke-hamilton had a problem deploying to external-contributor-approval May 12, 2026 16:33 — with GitHub Actions Failure
@codecov

codecov Bot commented May 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.96%. Comparing base (bf1015c) to head (d6a7d2b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11852      +/-   ##
==========================================
- Coverage   52.97%   52.96%   -0.01%     
==========================================
  Files         754      754              
  Lines       48686    48686              
==========================================
- Hits        25791    25788       -3     
- Misses      20469    20471       +2     
- Partials     2426     2427       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@DariuszPorowski

Copy link
Copy Markdown
Member

@officialasishkumar may you resolve conflicts, thank you!

@DariuszPorowski

Copy link
Copy Markdown
Member

@officialasishkumar ping :)

1 similar comment
@DariuszPorowski

Copy link
Copy Markdown
Member

@officialasishkumar ping :)

Remove explicit imagePullPolicy settings from chart-managed Radius containers so Kubernetes applies its default behavior based on the rendered image tag. Add Helm unit coverage to guard against reintroducing explicit pull policies.\n\nFixes: radius-project#10769

Signed-off-by: Asish Kumar <[email protected]>
@officialasishkumar

officialasishkumar commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Rebased on current main in d6a7d2b; conflicts are resolved and the PR is mergeable.

@radius-functional-tests

radius-functional-tests Bot commented Jul 1, 2026

Copy link
Copy Markdown

Radius functional test overview

🔍 Go to test action run

Click here to see the test run details
Name Value
Repository officialasishkumar/radius
Commit ref d6a7d2b
Unique ID func4f3dc2a76e
Image tag pr-func4f3dc2a76e
  • Dapr: 1.14.4
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func4f3dc2a76e
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func4f3dc2a76e
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func4f3dc2a76e
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func4f3dc2a76e
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func4f3dc2a76e
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp-cloud functional tests...
⌛ Starting corerp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

@brooke-hamilton brooke-hamilton enabled auto-merge July 1, 2026 17:03
@brooke-hamilton

brooke-hamilton commented Jul 1, 2026

Copy link
Copy Markdown
Member

Hi @officialasishkumar — thanks for the update and for rebasing! 🙏 This PR is ready to merge except for one thing:

Before we can merge, we require all commits to be cryptographically signed so they show as Verified on GitHub. Commit d6a7d2b9b5873de9aa77fdcf4c84f13a9577bdac is currently unsigned, so it''s blocking the merge.

Could you set up commit signing (GPG, SSH, or S/MIME — SSH is usually easiest) and re-sign your commit? Our contributing guide walks through it here: Signing your commits.

Once configured, you can re-sign the existing commit with git commit --amend --no-edit -S (or git rebase --exec ''git commit --amend --no-edit -S'' <base> for multiple commits) and force-push. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Helm chart has always for imagePullPolicy

6 participants