diff --git a/README.md b/README.md index 57649cc3..e735be35 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ | [Cloudprem](./charts/cloudprem/README.md) | 4.11.0 | latest | Formance control-plane | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cloudprem)](https://artifacthub.io/packages/search?repo=cloudprem) | | [Console-V3](./charts/console-v3/README.md) | 3.8.0 | v2.7.0 | Formance Console | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/console-v3)](https://artifacthub.io/packages/search?repo=console-v3) | | [Core](./charts/core/README.md) | 1.6.0 | latest | Formance Core Library | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/core)](https://artifacthub.io/packages/search?repo=core) | -| [Formance](./charts/formance/README.md) | 1.19.0 | latest | Formance Platform - Unified Helm Chart | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/formance)](https://artifacthub.io/packages/search?repo=formance) | +| [Formance](./charts/formance/README.md) | 1.20.0 | latest | Formance Platform - Unified Helm Chart | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/formance)](https://artifacthub.io/packages/search?repo=formance) | | [Membership](./charts/membership/README.md) | 3.6.3 | v2.5.0 | Formance EE Membership API. Manage stacks, organizations, regions, invitations, users, roles, and permissions. | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/membership)](https://artifacthub.io/packages/search?repo=membership) | | [Portal](./charts/portal/README.md) | 3.8.0 | v2.7.0 | Formance Portal | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/portal)](https://artifacthub.io/packages/search?repo=portal) | | [Regions](./charts/regions/README.md) | 3.15.2 | latest | Formance Private Regions Helm Chart | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/regions)](https://artifacthub.io/packages/search?repo=regions) | diff --git a/charts/formance/Chart.lock b/charts/formance/Chart.lock index 032212b5..b3fccc3b 100644 --- a/charts/formance/Chart.lock +++ b/charts/formance/Chart.lock @@ -8,5 +8,5 @@ dependencies: - name: cloudprem repository: file://../cloudprem version: 4.11.0 -digest: sha256:337cf5697e2a374a1c65164cb194f0e9e4d0cf2839b9f79ffef20bede5512616 -generated: "2026-08-14T10:20:14.043633+02:00" +digest: sha256:ec6de0cd779f9fb0328d5a8e60c333cc99bee25604503ee1bddcd62f0308ddb7 +generated: "2026-08-14T13:50:52.69606+01:00" diff --git a/charts/formance/Chart.yaml b/charts/formance/Chart.yaml index 707fc980..441da974 100644 --- a/charts/formance/Chart.yaml +++ b/charts/formance/Chart.yaml @@ -10,7 +10,7 @@ maintainers: icon: "https://avatars.githubusercontent.com/u/84325077?s=200&v=4" type: application -version: 1.19.0 +version: 1.20.0 appVersion: "latest" # The "-0" suffix is required for GKE compatibility. GKE versions contain # build metadata like "v1.33.5-gke.2392000" which semver treats as pre-release. @@ -27,6 +27,7 @@ dependencies: version: 3.X repository: "file://../regions" tags: + - EnterpriseEdition - EntrepriseEdition - CommunityEdition import-values: @@ -38,4 +39,5 @@ dependencies: version: 4.X repository: "file://../cloudprem" tags: + - EnterpriseEdition - EntrepriseEdition diff --git a/charts/formance/README.md b/charts/formance/README.md index 559b05cb..f94b7f69 100644 --- a/charts/formance/README.md +++ b/charts/formance/README.md @@ -1,6 +1,6 @@ # formance -![Version: 1.19.0](https://img.shields.io/badge/Version-1.19.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.20.0](https://img.shields.io/badge/Version-1.20.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Formance Platform - Unified Helm Chart @@ -181,13 +181,15 @@ Kubernetes: `>=1.14.0-0` | Key | Type | Default | Description | |-----|------|---------|-------------| -| tags | object | `{"CommunityEdition":true,"EntrepriseEdition":false}` | Tags | +| tags | object | `{"CommunityEdition":true,"Demo":false,"EnterpriseEdition":false,"EntrepriseEdition":false}` | Tags | ### Edition | Key | Type | Default | Description | |-----|------|---------|-------------| -| tags.EntrepriseEdition | bool | `false` | Choose deployment edition - EE: Entreprise (requires Licence) - CE: Community | +| tags.Demo | bool | `false` | Enable demo mode, which adds sample configuration hints to the install notes | +| tags.EnterpriseEdition | bool | `false` | Choose deployment edition - EE: Enterprise (requires a Licence) - CE: Community | +| tags.EntrepriseEdition | bool | `false` | Deprecated misspelling of `tags.EnterpriseEdition`, still honoured. Will be removed in the next major. Prefer `tags.EnterpriseEdition`. | ### Migration configuration diff --git a/charts/formance/templates/NOTES.txt b/charts/formance/templates/NOTES.txt index 0ef8f5d2..3663788b 100644 --- a/charts/formance/templates/NOTES.txt +++ b/charts/formance/templates/NOTES.txt @@ -1,3 +1,4 @@ +{{- include "formance.validateTags" . -}} {{- include "formance.validateEE" . -}} ================================================================================ @@ -9,8 +10,13 @@ {{ include "formance.edition" . }} ================================================================================ - -{{- if .Values.tags.EntrepriseEdition }} +{{ if and .Values.tags.EntrepriseEdition (not .Values.tags.EnterpriseEdition) }} +WARNING: tags.EntrepriseEdition is deprecated (it is a misspelling). + Use tags.EnterpriseEdition instead. The old key still works for now + and will be removed in the next major version of this chart. +================================================================================ +{{ end }} +{{- if include "formance.enterpriseEnabled" . }} ================================================================================ CONTROL PLANE ================================================================================ @@ -103,7 +109,7 @@ Region: Private (self-hosted) List all stacks: kubectl get stacks -{{- if and .Values.regions.stacks (not .Values.tags.EntrepriseEdition) }} +{{- if and .Values.regions.stacks (not (include "formance.enterpriseEnabled" .)) }} Port-forward: {{- range $name, $config := .Values.regions.stacks }} diff --git a/charts/formance/templates/_helpers.tpl b/charts/formance/templates/_helpers.tpl index 7d6a47b9..cdee20e5 100644 --- a/charts/formance/templates/_helpers.tpl +++ b/charts/formance/templates/_helpers.tpl @@ -52,12 +52,42 @@ app.kubernetes.io/name: {{ include "formance.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} +{{/* +Is Enterprise Edition selected? + +`tags.EnterpriseEdition` is the supported key. `tags.EntrepriseEdition` is the +original misspelling, still honoured so existing values files keep working; it +is deprecated and warned about in NOTES.txt. + +Returns a non-empty string when EE is on, so callers can use it directly in an +`if`. Keep this as the only place that reads either tag. +*/}} +{{- define "formance.enterpriseEnabled" -}} +{{- if or .Values.tags.EnterpriseEdition .Values.tags.EntrepriseEdition -}}true{{- end -}} +{{- end -}} + +{{/* +Reject unknown keys under `tags`. + +Helm resolves tags natively and silently ignores ones it does not know, so a +typo -- including the near-miss `EnterprizeEdition` -- would otherwise leave an +Enterprise install quietly running as Community. +*/}} +{{- define "formance.validateTags" -}} +{{- $known := list "EnterpriseEdition" "EntrepriseEdition" "CommunityEdition" "Demo" -}} +{{- range $key, $_ := .Values.tags -}} + {{- if not (has $key $known) -}} + {{- fail (printf "\n\n==================== CONFIGURATION ERROR ====================\nUnknown tag: tags.%s\n\nHelm ignores tags it does not recognise, so this would have been\nsilently dropped -- leaving an Enterprise install running as Community.\n\nValid tags are:\n tags.EnterpriseEdition (Enterprise Edition, requires a licence)\n tags.CommunityEdition (Community Edition, the default)\n tags.Demo (demo mode hints in the install notes)\n tags.EntrepriseEdition (deprecated spelling of tags.EnterpriseEdition)\n==============================================================\n" $key) -}} + {{- end -}} +{{- end -}} +{{- end -}} + {{/* Validate Enterprise Edition configuration. This template will fail if EE is enabled but licence is not properly configured. */}} {{- define "formance.validateEE" -}} -{{- if .Values.tags.EntrepriseEdition -}} +{{- if include "formance.enterpriseEnabled" . -}} {{- if and (not .Values.global.licence.token) (not .Values.global.licence.existingSecret) -}} {{- fail "\n\n==================== CONFIGURATION ERROR ====================\nEnterprise Edition enabled but no licence provided.\n\nPlease set one of:\n --set global.licence.token=\n --set global.licence.existingSecret=\n\nContact Formance to obtain a licence: https://formance.com\n==============================================================\n" -}} {{- end -}} @@ -71,7 +101,7 @@ This template will fail if EE is enabled but licence is not properly configured. Get edition name */}} {{- define "formance.edition" -}} -{{- if .Values.tags.EntrepriseEdition -}} +{{- if include "formance.enterpriseEnabled" . -}} Enterprise Edition {{- else -}} Community Edition diff --git a/charts/formance/templates/tests/console.yaml b/charts/formance/templates/tests/console.yaml index 1f8c326e..716c2a3a 100644 --- a/charts/formance/templates/tests/console.yaml +++ b/charts/formance/templates/tests/console.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.tags.EntrepriseEdition .Values.global.platform.consoleV3.enabled }} +{{- if and (include "formance.enterpriseEnabled" .) .Values.global.platform.consoleV3.enabled }} apiVersion: v1 kind: ServiceAccount metadata: diff --git a/charts/formance/templates/tests/membership.yaml b/charts/formance/templates/tests/membership.yaml index e3977016..c358c7e2 100644 --- a/charts/formance/templates/tests/membership.yaml +++ b/charts/formance/templates/tests/membership.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.tags.EntrepriseEdition (index .Values "global" "platform" "membership" "enabled" | default true) }} +{{- if and (include "formance.enterpriseEnabled" .) (index .Values "global" "platform" "membership" "enabled" | default true) }} apiVersion: v1 kind: ServiceAccount metadata: diff --git a/charts/formance/templates/tests/portal.yaml b/charts/formance/templates/tests/portal.yaml index 5a33673a..5d14627d 100644 --- a/charts/formance/templates/tests/portal.yaml +++ b/charts/formance/templates/tests/portal.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.tags.EntrepriseEdition .Values.global.platform.portal.enabled }} +{{- if and (include "formance.enterpriseEnabled" .) .Values.global.platform.portal.enabled }} apiVersion: v1 kind: ServiceAccount metadata: diff --git a/charts/formance/templates/tests/stargate.yaml b/charts/formance/templates/tests/stargate.yaml index 1581650c..9fdce4fa 100644 --- a/charts/formance/templates/tests/stargate.yaml +++ b/charts/formance/templates/tests/stargate.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.tags.EntrepriseEdition .Values.global.platform.stargate.enabled }} +{{- if and (include "formance.enterpriseEnabled" .) .Values.global.platform.stargate.enabled }} apiVersion: v1 kind: ServiceAccount metadata: diff --git a/charts/formance/values.schema.json b/charts/formance/values.schema.json index a68ed501..31c0cf97 100644 --- a/charts/formance/values.schema.json +++ b/charts/formance/values.schema.json @@ -512,6 +512,12 @@ "CommunityEdition": { "type": "boolean" }, + "Demo": { + "type": "boolean" + }, + "EnterpriseEdition": { + "type": "boolean" + }, "EntrepriseEdition": { "type": "boolean" } diff --git a/charts/formance/values.yaml b/charts/formance/values.yaml index b430d9d5..74dbd1e0 100644 --- a/charts/formance/values.yaml +++ b/charts/formance/values.yaml @@ -10,11 +10,18 @@ # @section -- Tags tags: # -- Choose deployment edition - # - EE: Entreprise (requires Licence) + # - EE: Enterprise (requires a Licence) # - CE: Community # @section -- Edition + EnterpriseEdition: false + # -- Deprecated misspelling of `tags.EnterpriseEdition`, still honoured. + # Will be removed in the next major. Prefer `tags.EnterpriseEdition`. + # @section -- Edition EntrepriseEdition: false CommunityEdition: true + # -- Enable demo mode, which adds sample configuration hints to the install notes + # @section -- Edition + Demo: false # ============================================================================= # GLOBAL CONFIGURATION