Conversation
Signed-off-by: Brian DeHamer <bdehamer@github.com>
|
How about support for a GitHub app as I think that is a popular method for authentication? |
@kommendorkapten there's a section in the readme explaining how to auth with a GitHub App. |
|
Perfect, and it's in the values.yaml too 👍 |
Signed-off-by: Brian DeHamer <bdehamer@github.com>
There was a problem hiding this comment.
Pull request overview
Introduces an in-repo Helm chart to install and configure the deployment-tracker controller, and updates CI/release workflows to lint the chart on PRs and publish it as an OCI artifact on tag releases.
Changes:
- Added a Helm chart under
deploy/charts/deployment-tracker/(values, templates, docs, chart metadata). - Added a CI job to
helm lintandhelm templatethe chart. - Updated the release workflow to package and push the chart to GHCR as an OCI artifact alongside the container image.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| deploy/charts/deployment-tracker/Chart.yaml | New chart metadata (name/version/appVersion/kubeVersion). |
| deploy/charts/deployment-tracker/values.yaml | Default configuration surface for controller, auth, service, and runtime settings. |
| deploy/charts/deployment-tracker/templates/deployment.yaml | Renders the controller Deployment, wiring config/auth via args/env and exposing metrics. |
| deploy/charts/deployment-tracker/templates/serviceaccount.yaml | Optional ServiceAccount creation (and imagePullSecrets). |
| deploy/charts/deployment-tracker/templates/clusterrole.yaml | ClusterRole for controller access to Kubernetes resources. |
| deploy/charts/deployment-tracker/templates/clusterrolebinding.yaml | ClusterRoleBinding wiring the ClusterRole to the ServiceAccount. |
| deploy/charts/deployment-tracker/templates/service.yaml | Optional metrics Service. |
| deploy/charts/deployment-tracker/templates/_helpers.tpl | Standard naming/label helpers for the chart. |
| deploy/charts/deployment-tracker/templates/NOTES.txt | Post-install guidance and basic validation warnings. |
| deploy/charts/deployment-tracker/README.md | Installation/configuration documentation for the chart. |
| deploy/charts/deployment-tracker/.helmignore | Packaging ignore rules for Helm chart artifacts. |
| .github/workflows/build.yml | Adds helm-lint job to validate chart on PRs and main pushes. |
| .github/workflows/release.yaml | Packages and pushes the chart to GHCR on version tag pushes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {{- if .Values.serviceAccount.create }} | ||
| {{- default (include "deployment-tracker.fullname" .) .Values.serviceAccount.name }} | ||
| {{- else }} | ||
| {{- default "default" .Values.serviceAccount.name }} |
There was a problem hiding this comment.
When serviceAccount.create is false and serviceAccount.name is not set, the helper falls back to "default". Because the chart always creates a ClusterRoleBinding, this can unintentionally bind cluster-wide permissions to the namespace's default ServiceAccount. It would be safer to require serviceAccount.name when serviceAccount.create is false (or otherwise avoid defaulting to "default").
| {{- default "default" .Values.serviceAccount.name }} | |
| {{- required "serviceAccount.name must be set when serviceAccount.create is false" .Values.serviceAccount.name }} |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
) * Initial plan * Add template-time validation for mutually exclusive namespace flags Co-authored-by: bdehamer <398027+bdehamer@users.noreply.github.com> Agent-Logs-Url: https://github.com/github/deployment-tracker/sessions/ab6214f1-4681-454f-b5de-7d0caa1a9cc9 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: bdehamer <398027+bdehamer@users.noreply.github.com>
Summary
Adds a Helm chart to make it easy for customers to install the deployment-tracker controller. The chart is co-located in the repo under
deploy/charts/deployment-tracker/, following the pattern used by cert-manager and external-secrets.What's included
Helm chart (
deploy/charts/deployment-tracker/)Chart.yaml— chart metadata (apiVersion v2, type application)values.yaml— all configurable options with sensible defaults:ghcr.io/github/deployment-tracker)_helpers.tpl— standard Helm name/label/selector helpersREADME.md— configuration docs with install examples and auth setupCI workflow updates
release.yaml— on tag push, now also packages and pushes the Helm chart as an OCI artifact tooci://ghcr.io/github/chartsalongside the container image buildbuild.yml— newhelm-lintjob runshelm lintandhelm templatevalidation on PRs and pushes to mainInstall
Design decisions
index.yamlmaintenance, co-locates chart with container imageconfig.org,config.logicalEnvironment, andconfig.clusterare validated at template time