Skip to content

Local Helm Runbook

The raw deploy/k8s manifests remain the primary offline kind path. The Helm chart is a render/install alternative for local clusters and must use the same local image tags.

Render

bash
helm lint deploy/helm/hoctapaz
helm template hoctapaz-go deploy/helm/hoctapaz \
  --values deploy/helm/hoctapaz/values.local.yaml \
  --set migrations.enabled=true \
  > /tmp/hoctapaz-go-helm-rendered.yaml

Validate coverage:

bash
scripts/test/go-formula-runtime-coverage.sh
scripts/test/helm-render-coverage.sh

Install Or Upgrade

Make sure local images have already been loaded into kind:

bash
make docker-build IMAGE_TAG=local
for image in postgres:16-alpine redis:7-alpine nats:2-alpine minio/minio:RELEASE.2024-05-10T01-41-38Z prom/prometheus:v2.53.0; do
  docker pull "$image"
done
make kind-load-images KIND_CLUSTER=hoctapaz-go IMAGE_TAG=local

The build/load commands include the hoctapaz/go-formula-docx:local runtime image. The Helm chart renders it as an internal dependency and sets docx-import-service GO_FORMULA_DOCX_URL to http://go-formula-docx:8080.

Install the local chart:

bash
helm upgrade --install hoctapaz-go deploy/helm/hoctapaz \
  --values deploy/helm/hoctapaz/values.local.yaml \
  --namespace hoctapaz-go \
  --create-namespace

Run schema migration Jobs through Helm only when needed:

bash
helm upgrade --install hoctapaz-go deploy/helm/hoctapaz \
  --values deploy/helm/hoctapaz/values.local.yaml \
  --set migrations.enabled=true \
  --namespace hoctapaz-go \
  --create-namespace

Inspect

bash
kubectl get all -n hoctapaz-go
kubectl -n hoctapaz-go port-forward svc/prometheus 9090:9090

Go-platform documentation is generated from repository Markdown.