Managing Helm charts at scale can become tricky. Each new application or chart release often comes with an updated
values.yaml file containing new configuration properties. Rather than copying files or manually re-applying overrides, we use LLMs to merge new defaults and generate reviewer-friendly PRs.
Workflow with GitHub Actions
Here’s the GitHub Actions workflow that runs the merge job and opens a PR:
# .github/workflows/helm-values-merge.yml
name: Helm Values Merge
on:
workflow_dispatch:
schedule:
- cron: "0 6 * * 1" # weekly check for chart updates
jobs:
merge-values:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install pyyaml requests
- name: Fetch latest Helm chart values.yaml
run: |
CHART_NAME=my-app
CHART_REPO=https://charts.example.com
CHART_VERSION=$(helm search repo $CHART_NAME --repo $CHART_REPO -o yaml | yq '.[0].version')
mkdir -p charts
helm pull $CHART_REPO/$CHART_NAME --version $CHART_VERSION --untar -d charts
cp charts/$CHART_NAME/values.yaml new-values.yaml
- name: Run LLM merge
run: |
python scripts/merge_values.py \
--existing ./team-values.yaml \
--new ./new-values.yaml \
--out ./team-values-merged.yaml
- name: Create PR
uses: peter-evans/create-pull-request@v6
with:
commit-message: "chore: merge Helm values from latest chart"
branch: "auto/helm-values-merge"
title: "chore: merge Helm values from latest chart"
body: |
This PR merges new defaults from the latest chart into team-values.yaml.
Generated via LLM (Amazon Q + Claude + Saunet pipeline).
Process Diagram (HTML/CSS — WordPress-friendly)
Inline, responsive diagram that should render in WP without SVG support:
Conclusion
By using an LLM-assisted merge pipeline and PR-based workflow we get the best of both worlds: automated plumbing plus human review. The HTML diagram above will render on most WordPress installs without requiring SVG uploads or extra plugins.