Files
erp/chart/templates/config.yaml
Gabriel Radureau ec4df4719f chart: template hardcoded single-env literals; add values-sandbox.yaml overlay
Phase C of the multi-env evolution discussed in the runbook design thread
(see PR description). Pure refactor — the prod helm template render is
verified byte-identical (10857 bytes both before and after, diff exit 0).

What was hardcoded, now templated:
- chart/templates/vaultauth.yaml          role: erp                       → role: {{ .Values.vault.k8sRole }}
- chart/templates/vaultdynamicsecret.yaml path: creds/erp                 → path: {{ .Values.vault.dynamicPath }}
- chart/templates/vaultsecret.yaml        path: erp/config                → path: {{ .Values.vault.staticPath }}
- chart/templates/config.yaml             DOLI_DB_NAME: erp               → DOLI_DB_NAME: {{ .Values.db.name }}
                                          DOLI_URL_ROOT: https://erp..lab → DOLI_URL_ROOT: 'https://{{ .Values.host }}'

values.yaml gains a documented multi-env coordinate block with prod defaults
(env, instance, host, db.name, vault.k8sRole, vault.dynamicPath, vault.staticPath).
The elision rule (env=prod → no suffix, env=non-prod → "<app>-<env>" suffix)
guarantees the prod render is unchanged.

chart/values-sandbox.yaml is added as the ready-to-use overlay for Phase D.
It is NOT wired into any helm install / ArgoCD app today — the platform side
(factory/postgres/iac tfvars, tools/hashicorp-vault/iac module signature) is
not yet evolved. The file documents the convention so the Phase D commit can
just `helm install -f values.yaml -f values-sandbox.yaml`.

Also fixes .gitea/workflows/vault.yaml CI typo: the vault_step JWT role was
gitea_cicd_webapp (copy-paste from the template repo) instead of
gitea_cicd_erp. Real bug — the erp CI would have failed JWT auth against
Vault. Fix unrelated to multi-env but bundled here because it's small and
touches the same file family.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 23:26:20 +02:00

23 lines
758 B
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "erp.name" . }}-config
namespace: {{ .Release.Namespace }}
# Doc: https://hub.docker.com/r/dolibarr/dolibarr https://github.com/Dolibarr/dolibarr-docker
data:
DOLI_DB_TYPE: pgsql
DOLI_DB_HOST: pgbouncer.tools
DOLI_DB_HOST_PORT: !!str 5432
# DOLI_DB_USER: root
# DOLI_DB_PASSWORD: root
DOLI_DB_NAME: {{ .Values.db.name }}
DOLI_URL_ROOT: 'https://{{ .Values.host }}'
# DOLI_ADMIN_LOGIN: 'admin'
# DOLI_ADMIN_PASSWORD: 'admininitialpassword'
DOLI_ENABLE_MODULES: Societe,Facture
DOLI_COMPANY_NAME: Arcodange
DOLI_COMPANY_COUNTRYCODE: FR
PHP_INI_DATE_TIMEZONE: Europe/Paris
DOLI_AUTH: dolibarr
DOLI_CRON: !!str 0
# DOLI_INSTANCE_UNIQUE_ID: <random salt for encryption>