Skip to content

Conversation

LeoKaynan
Copy link
Contributor

@LeoKaynan LeoKaynan commented Sep 30, 2025

Adds configurability for init and token syncer container images through new values in the Helm chart configuration

Closes #2518

✅ Checklist

  • I have followed every step in the contributing guide
  • The PR title follows the convention.
  • I ran and tested the code works

Testing

Steps to test:

  1. Install with default values (should work unchanged):

    helm install test-trigger ./hosting/k8s/helm
  2. Test image customization by creating a custom values file:

    # custom-values.yaml
    webapp:
      initImage:
        registry: docker.io
        repository: alpine  # Alternative to busybox
        tag: "3.18"
        pullPolicy: IfNotPresent
      
      tokenSyncerImage:
        registry: docker.io
        repository: bitnamilegacy/kubectl  # Migration path
        tag: "1.28"
        pullPolicy: IfNotPresent
  3. Install with custom images:

    helm install test-trigger ./hosting/k8s/helm -f custom-values.yaml
  4. Verify the pods use the correct images:

    kubectl describe pod -l app.kubernetes.io/name=trigger
    

Changelog

Added configurability for previously hardcoded container images:

  • Added webapp.initImage configuration for the init container (previously hardcoded to busybox:1.35)
  • Added webapp.tokenSyncerImage configuration for the token syncer container (previously hardcoded to bitnami/kubectl:1.28)
  • Maintains backward compatibility - existing deployments continue to work without changes
  • Incremented Chart version from 4.0.1 to 4.0.2

New configurable values:

webapp:
  # Init container image configuration
  initImage:
    registry: docker.io
    repository: busybox
    tag: "1.35"
    pullPolicy: IfNotPresent

  # Token syncer image configuration  
  tokenSyncerImage:
    registry: docker.io
    repository: bitnami/kubectl
    tag: "1.28"
    pullPolicy: IfNotPresent

Migration from Bitnami Images

This PR addresses issue #2518 regarding Bitnami's deprecation of their public Docker catalog. Users can now easily migrate away from deprecated Bitnami images by overriding the new configuration values.

Tested working alternatives for Bitnami migration:

# For token syncer (kubectl)
webapp:
  tokenSyncerImage:
    registry: docker.io
    repository: bitnamilegacy/kubectl
    tag: "1.28"

# For database dependencies (subcharts)
postgres:
  image:
    registry: docker.io
    repository: bitnamilegacy/postgresql
    tag: "16.6.0-debian-12-r2"

redis:
  image:
    registry: docker.io
    repository: bitnamilegacy/redis  
    tag: "8.2.0-debian-12-r0"

clickhouse:
  image:
    registry: docker.io
    repository: bitnamilegacy/clickhouse
    tag: "25.7.5-debian-12-r0"

s3:
  image:
    registry: docker.io
    repository: bitnamilegacy/minio
    tag: "2025.7.23-debian-12-r3"

Benefits:

  • ✅ Enables migration to bitnamilegacy repository
  • ✅ Allows switching to alternative base images (e.g., alpine instead of busybox)
  • ✅ Supports private registries through registry configuration
  • ✅ Maintains full backward compatibility
  • ✅ Consistent with existing image configuration patterns in the chart

Screenshot

no screenshot needed

💯 This change provides users with the flexibility needed to address the Bitnami deprecation while maintaining the stability of existing deployments.

Adds configurability for init and token syncer container images through
new values in the Helm chart configuration
Copy link

changeset-bot bot commented Sep 30, 2025

⚠️ No Changeset found

Latest commit: 624bffb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

coderabbitai bot commented Sep 30, 2025

Walkthrough

  • Chart.yaml: version bumped from 4.0.1 to 4.0.2; no other fields changed.
  • templates/webapp.yaml: init-shared and token-syncer container images switched from static strings to Helm-templated images using .Values.webapp.initImage and .Values.webapp.tokenSyncerImage (registry/repository:tag) and pull policies sourced from values.
  • values.yaml: added webapp.initImage and webapp.tokenSyncerImage configuration blocks including registry, repository, tag, and pullPolicy defaults.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title Check ✅ Passed The title “Make Helm webapp chart images configurable” concisely and accurately reflects the primary change in this pull request, namely exposing init and token-syncer images as configurable values in the Helm webapp chart. It avoids extraneous detail and clearly conveys the intent to teammates.
Linked Issues Check ✅ Passed The changes introduce Helm values and template wiring for webapp.initImage and webapp.tokenSyncerImage, exactly fulfilling the linked issue’s requirement to make Bitnami-based images configurable and prevent chart breakage after their deprecation. Backward compatibility is preserved and migration guidance is documented in the PR.
Out of Scope Changes Check ✅ Passed All modifications are confined to bumping the chart version and making the webapp init and token-syncer images configurable; no unrelated files or features outside the scope of the linked migration issue have been altered.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Description Check ✅ Passed The pull request description matches the repository template by including the “Closes #2518” header, a completed ✅ Checklist, a dedicated “## Testing” section with clear steps, a comprehensive “## Changelog” section, and a screenshot placeholder under “## Screenshot,” concluding with the required 💯 emoji. The template structure is fully represented, and all mandatory information is provided. The minor variation in the screenshot heading does not affect compliance with the template requirements.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🧪 Early access (Sonnet 4.5): enabled

We are currently testing the Sonnet 4.5 model, which is expected to improve code review quality. However, this model may lead to increased noise levels in the review comments. Please disable the early access features if the noise level causes any inconvenience.

Note:

  • Public repositories are always opted into early access features.
  • You can enable or disable early access features from the CodeRabbit UI or by updating the CodeRabbit configuration file.

Comment @coderabbitai help to get the list of available commands and usage tips.

@nicktrn
Copy link
Collaborator

nicktrn commented Sep 30, 2025

Thanks for this @LeoKaynan! I've just pushed a branch to handle the outdated bitnami images. I'll close this PR for now and add something similar there as it's easier.

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.

Migration from Bitnami Docker Images
2 participants