Branch deployments¶
Status: Current | Last reviewed: 2026-05-28
Per-branch preview environments. A long-lived feature branch can run in its own namespace with its own DNS without affecting Sentinel.
How it works¶
For a branch named feature/foo:
- The branch overlay file
values-branch-feature-foo.yaml(or a generated variant) sets: - Namespace:
trueserve-feature-foo - Ingress hosts:
*.feature-foo.dev.trueserve.deloitte.com - Image tags pinned to the branch's CI builds
- The deploy workflow
branch-deploy.ymlwatches the branch and applies the overlay on push. - Cleanup happens when the PR closes: the namespace is deleted.
Existing branch overlays¶
charts/trueserve-stack/ ships a few branch values files:
| File | Purpose |
|---|---|
values-branch-default.yaml |
Base for any new branch overlay |
values-branch-environment-vanguard.yaml |
Used when a branch targets the Vanguard cluster |
values-branch-environment-sentinel.yaml |
Used when a branch is a candidate for Sentinel |
values-branch-feature-*.yaml |
Per-feature overlays (see existing examples) |
values-branch.yaml at the chart-tree root is the canonical alias; rename in the workflow values: argument.
Limits¶
A branch deploy gets:
- 1 replica per service.
- A shared media pool with Sentinel (no separate kernel rtpengine pool).
- A shared DNS zone but its own subdomain.
Voice E2E tests on a branch deploy can dial in but throughput is limited.
Decommission¶
helm uninstall trueserve --namespace trueserve-feature-foo
kubectl delete namespace trueserve-feature-foo
The PR-close hook does this automatically — manual cleanup only if the hook fails.