Skip to content

Add Helm chart - #250

Draft
andrew wants to merge 1 commit into
mainfrom
issue-226-helm-chart
Draft

Add Helm chart#250
andrew wants to merge 1 commit into
mainfrom
issue-226-helm-chart

Conversation

@andrew

@andrew andrew commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Adds a Helm chart for deploying proxy with persistent SQLite and filesystem storage by default. It supports existing ConfigMaps and PVCs, environment-based secret overrides, ingress, and hardened pod settings.

The chart is checked in CI and published to oci://ghcr.io/git-pkgs/charts/proxy with its version and appVersion synchronized to the container release. The release flow follows the example shared by @acidghost in #226.

Closes #226

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a first-party Helm chart to deploy git-pkgs/proxy to Kubernetes, with defaults geared toward persistent SQLite + filesystem-backed storage, and integrates chart linting/rendering in CI plus publishing the chart as an OCI artifact to GHCR during releases (closing #226).

Changes:

  • Introduces a Helm chart (deploy/charts/proxy) with ConfigMap/PVC support, hardened pod/container security settings, and optional ingress.
  • Updates CI to lint and template the chart (including a non-default values variant).
  • Extends the release publishing workflow to package and push the chart to GHCR with version/appVersion synced to the release tag.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
README.md Documents Helm install and points to chart values.
deploy/charts/proxy/Chart.yaml Adds chart metadata with placeholder version/appVersion for release-time injection.
deploy/charts/proxy/values.yaml Defines default chart values (SQLite + filesystem + PVC, probes, security contexts, ingress toggles).
deploy/charts/proxy/.helmignore Adds Helm packaging ignore rules.
deploy/charts/proxy/templates/_helpers.tpl Adds naming/label helpers and image reference helper (tag vs digest).
deploy/charts/proxy/templates/configmap.yaml Renders a ConfigMap containing config.yaml unless an existing ConfigMap is provided.
deploy/charts/proxy/templates/deployment.yaml Deploys the proxy container with config/data volumes, probes, and hardened settings.
deploy/charts/proxy/templates/service.yaml Exposes the proxy via a ClusterIP Service.
deploy/charts/proxy/templates/pvc.yaml Creates a PVC when persistence is enabled and no existing claim is provided.
deploy/charts/proxy/templates/ingress.yaml Adds optional Ingress support driven by values.
deploy/charts/proxy/templates/NOTES.txt Provides post-install guidance (base_url, port-forward, persistence warning).
.github/workflows/ci.yml Adds Helm lint + template rendering job in CI.
.github/workflows/publish.yml Adds chart packaging + push-to-GHCR job gated on tags.
.gitignore Adjusts ignore patterns for built artifacts.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +54 to +57
persistence:
enabled: true
mountPath: /data
existingClaim: ""
Comment on lines +1 to +2
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
@@ -0,0 +1,133 @@
replicaCount: 1
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.

Provide an Helm chart

2 participants