From b6ced9c1abe906acc3efa057e8b8fca814856ec5 Mon Sep 17 00:00:00 2001 From: jedarden Date: Sat, 23 May 2026 07:18:40 -0400 Subject: [PATCH] P8.2: Document Helm chart structure completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Helm chart structure was already in place with all required files per plan §6: - Chart.yaml with API v2 metadata - values.yaml with dev defaults (replicas=1, RF=1, RG=1, sqlite) - values.schema.json for validation - templates/ with all required resources - tests/connection-test.yaml - NOTES.txt with production override guidance Co-Authored-By: Claude Opus 4.7 --- notes/miroir-qjt.2.md | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 notes/miroir-qjt.2.md diff --git a/notes/miroir-qjt.2.md b/notes/miroir-qjt.2.md new file mode 100644 index 0000000..cce2b32 --- /dev/null +++ b/notes/miroir-qjt.2.md @@ -0,0 +1,58 @@ +# P8.2: Helm Chart Structure Completion + +## Task +Scaffold `charts/miroir/` per plan §6 with dev defaults and production override guidance. + +## Status: Already Complete + +The Helm chart structure was already in place with all required files: + +### Chart Structure +- `Chart.yaml` - API v2, description, keywords, sources +- `values.yaml` - Dev defaults (replicas=1, RF=1, RG=1, sqlite, redis disabled) +- `values.schema.json` - JSON schema validation +- `templates/_helpers.tpl` - Node list DNS generation helpers +- `templates/miroir-deployment.yaml` - Miroir proxy deployment +- `templates/miroir-service.yaml` - ClusterIP service +- `templates/miroir-headless.yaml` - Headless service for peer discovery +- `templates/miroir-configmap.yaml` - Miroir YAML config +- `templates/miroir-secret.yaml` - Master keys and API keys +- `templates/miroir-hpa.yaml` - Horizontal Pod Autoscaler +- `templates/miroir-pvc.yaml` - CDC buffer PVC (conditional) +- `templates/meilisearch-statefulset.yaml` - Meilisearch StatefulSet +- `templates/meilisearch-service.yaml` - Meilisearch service +- `templates/redis-deployment.yaml` - Redis deployment (optional) +- `templates/serviceaccount.yaml` - ServiceAccount +- `templates/NOTES.txt` - Post-install instructions with prod override guidance +- `tests/connection-test.yaml` - Helm test pod + +### Dev Defaults (values.yaml) +- `miroir.replicas: 1` +- `miroir.shards: 64` +- `miroir.replicationFactor: 1` +- `miroir.replicaGroups: 1` +- `miroir.hpa.enabled: false` +- `meilisearch.replicas: 2` (1 group × 2 nodes) +- `meilisearch.nodesPerGroup: 2` +- `redis.enabled: false` +- `taskStore.backend: sqlite` + +### Production Override Guidance (NOTES.txt) +``` +!!! PRODUCTION UPGRADE PATH !!! +These defaults are for dev/CI (single-pod evaluation). For production, override: + miroir.replicas=2+ + miroir.replicationFactor=2 + miroir.replicaGroups=2 + taskStore.backend=redis + redis.enabled=true + hpa.enabled=true +``` + +### Node List DNS Generation (_helpers.tpl) +- `miroir.meilisearchNodeAddress` - Generates DNS for a single node +- `miroir.meilisearchNodeList` - Generates full node list for ConfigMap +- Format: `http://-meili-.-meili-headless..svc.cluster.local:7700` + +### Validation +Chart is packaged and validated in the `miroir-release` workflow (k8s/argo-workflows/miroir-release.yaml) using `helm package`.