Pulse/deploy/helm/pulse
rcourtman dc8eaa3ffe Add production-grade Helm chart improvements
High-impact improvements based on Codex recommendations:

1. values.schema.json - JSON schema validation catches config errors at install time
2. helm-docs automation - Auto-generates documentation from values.yaml comments
3. kind smoke tests - Deploys and upgrades chart in real cluster to catch runtime issues
4. ServiceMonitor template - Built-in Prometheus integration for observability
5. Artifact Hub metadata - Changelog, links, and maintainer info for better discoverability

These improvements provide:
- Configuration validation before deployment
- Always up-to-date documentation
- Runtime validation in CI
- First-class monitoring support
- Better user experience on Artifact Hub

Related to #686
2025-11-11 19:52:58 +00:00
..
templates Add production-grade Helm chart improvements 2025-11-11 19:52:58 +00:00
Chart.yaml Add production-grade Helm chart improvements 2025-11-11 19:52:58 +00:00
README.md Add Helm chart tooling, CI, and release packaging 2025-10-18 11:50:57 +00:00
values.schema.json Add production-grade Helm chart improvements 2025-11-11 19:52:58 +00:00
values.yaml Add production-grade Helm chart improvements 2025-11-11 19:52:58 +00:00

Pulse Helm Chart

This chart deploys the Pulse hub (web UI + API) and, optionally, the Docker monitoring agent.

Installing from GHCR

helm registry login ghcr.io
helm install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version $(curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/VERSION) \
  --namespace pulse \
  --create-namespace

Replace the inline curl command if you need to pin to a specific release. The chart version tracks the Pulse release version (e.g., Pulse v4.24.0 → chart 4.24.0).

Common Values

Key Description Default
persistence.enabled Persist /data using a PVC. Disable for ephemeral testing. true
ingress.enabled Create an Ingress resource. Configure hosts/TLS via ingress.hosts and ingress.tls. false
server.secretEnv Manage sensitive env vars (API tokens, auth secrets). Enable create or point at an existing secret. {}
agent.enabled Deploy the Docker agent as a DaemonSet or Deployment. Requires access to the Docker socket by default. false

See values.yaml for the full list of overridable settings.

Local Development

Install from the working copy when testing chart changes:

helm upgrade --install pulse ./deploy/helm/pulse \
  --namespace pulse \
  --create-namespace \
  --set persistence.enabled=false \
  --set server.secretEnv.create=true \
  --set server.secretEnv.data.API_TOKENS=dummy-token

For more deployment details (ingress, agent, persistence options), refer to docs/KUBERNETES.md.