Skip to content

Conversation

alice-dops
Copy link

Add Helm Chart for Warpgate

Summary

This PR introduces an official Helm chart for deploying Warpgate on Kubernetes.
The chart follows Helm best practices and supports both lightweight (ephemeral) and production-grade deployments.

Features

  • Deploys Warpgate as a Kubernetes Deployment

  • Configurable:

    • replicaCount (limited to 1 when using SQLite)
    • resources, nodeSelector, affinity, tolerations
    • podSecurityContext and securityContext
  • Supports persistent storage via PVC or ephemeral emptyDir

  • Configurable Service with ports for SSH, HTTP, MySQL, PostgreSQL, and Kubernetes proxy

  • Optional Ingress (with cert-manager annotations by default)

  • Flexible setup job/initContainer for bootstrapping configuration

  • Supports:

    • Custom Warpgate config overrides
    • Environment variable substitution
    • TLS secrets (tls.key/tls.crt)
    • SSH keys secret (or auto-generation if none is provided)

Usage

helm repo add warpgate https://<repo-url>/charts
helm install my-warpgate warpgate/warpgate

Values can be customized via values.yaml. Example:

replicaCount: 1
data:
  pvc:
    enabled: true
    template:
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: 1Gi

Notes for Reviewers

  • Defaults are safe for testing/dev environments (SQLite, ephemeral storage).
  • For production use, PostgreSQL + PVC-backed persistence is recommended.
  • Chart aligns with Helm best practices (values.yaml, configurable service/ingress, resource hints).

Next Steps

  • Add CI/CD (e.g., Helm lint & template tests in GitHub Actions).
  • Publish chart to a Helm repo (GitHub Pages or OCI registry).
  • Document upgrade strategy in case of breaking config changes.

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.

1 participant