From f266eb4e21f202ccafecf65c5201e47447644503 Mon Sep 17 00:00:00 2001 From: Mint Bot Date: Wed, 13 Aug 2025 10:34:18 +0200 Subject: [PATCH] feat(odoo): restructure CloudNativePG configuration and remove dependency - Restructured CloudNativePG parameters to use nested configuration under `cnpg.cluster` and `cnpg.database` - Removed `cloudnative-pg` chart dependency in favor of direct CRD management - Updated templates to reflect new values structure and conditions - Enhanced README with updated parameter documentation - Fixed backup secret lookup syntax in `backup.yaml` --- odoo/Chart.lock | 7 ++----- odoo/Chart.yaml | 8 ++++---- odoo/README.md | 13 ++++++++++--- odoo/templates/backup.yaml | 4 ++-- odoo/templates/cnpg.yaml | 15 +++++++++------ odoo/values.yaml | 31 +++++++++++++++++++++++++++++-- 6 files changed, 56 insertions(+), 22 deletions(-) diff --git a/odoo/Chart.lock b/odoo/Chart.lock index 79644fb..235e89c 100644 --- a/odoo/Chart.lock +++ b/odoo/Chart.lock @@ -8,8 +8,5 @@ dependencies: - name: postgresql repository: https://charts.bitnami.com/bitnami version: 16.7.21 -- name: cloudnative-pg - repository: https://cloudnative-pg.github.io/charts - version: 0.25.0 -digest: sha256:f4f0cda4effdc95b608e0793d73d45b6fa40d98a1c7529595b6b91310e607353 -generated: "2025-08-13T09:58:23.767487855+02:00" +digest: sha256:2d4bef8058676e09a7cb1705fcf5ce92c818a58304ca5932051d14710358c6ab +generated: "2025-08-13T10:33:08.487602219+02:00" diff --git a/odoo/Chart.yaml b/odoo/Chart.yaml index 7a2d4ad..8803e63 100644 --- a/odoo/Chart.yaml +++ b/odoo/Chart.yaml @@ -21,7 +21,7 @@ dependencies: version: 16.7.21 repository: https://charts.bitnami.com/bitnami condition: postgresql.enabled - - name: cloudnative-pg - version: 0.25.0 - repository: https://cloudnative-pg.github.io/charts - condition: cnpg.enabled + # - name: cloudnative-pg + # version: 0.25.0 + # repository: https://cloudnative-pg.github.io/charts + # condition: cnpg.enabled diff --git a/odoo/README.md b/odoo/README.md index 3d2eefe..2fd0167 100644 --- a/odoo/README.md +++ b/odoo/README.md @@ -45,9 +45,16 @@ This Helm chart deploys Odoo with PostgreSQL. ### CloudNativePG parameters -| Name | Description | Value | -| -------------- | ------------------------------- | ------ | -| `cnpg.enabled` | Enable or disable CloudNativePG | `true` | +| Name | Description | Value | +| --------------------------- | ----------------------------------------------------------------------- | ------ | +| `cnpg.cluster.enabled` | Enable or disable CloudNativePG | `true` | +| `cnpg.cluster.nameOverride` | Override the name of the PostgreSQL cluster | `""` | +| `cnpg.cluster.instances` | Number of PostgreSQL instances (1 for single, 2+ for high availability) | `1` | +| `cnpg.cluster.storage.size` | Persistent volume size for each instance | `8Gi` | +| `cnpg.database.enabled` | Enable or disable creation of a Database resource | `true` | +| `cnpg.database.name` | Name of the PostgreSQL database to create | `odoo` | +| `cnpg.database.user` | Name of the database user (optional, defaults to database name) | `odoo` | +| `cnpg.database.secretName` | Name of the secret to store credentials | `""` | ### Odoo parameters diff --git a/odoo/templates/backup.yaml b/odoo/templates/backup.yaml index d16866e..ca9dd35 100644 --- a/odoo/templates/backup.yaml +++ b/odoo/templates/backup.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.cnpg.enabled }} +{{- if and .Values.k8up.enabled }} apiVersion: v1 kind: Secret metadata: @@ -6,7 +6,7 @@ metadata: labels: app: odoo data: - {{- $existingSecret := lookup "v1" "Secret" .Release.Namespace backup-repo }} + {{- $existingSecret := lookup "v1" "Secret" .Release.Namespace "backup-repo" }} {{- if and $existingSecret (index $existingSecret.data "password") }} password: {{ index $existingSecret.data "password" }} {{- else }} diff --git a/odoo/templates/cnpg.yaml b/odoo/templates/cnpg.yaml index 26823be..210da01 100644 --- a/odoo/templates/cnpg.yaml +++ b/odoo/templates/cnpg.yaml @@ -1,19 +1,22 @@ -{{- if and .Values.cnpg.enabled }} +{{- if .Values.cnpg.cluster.enabled }} apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: - name: {{ .Release.Name }}-postgresql + name: {{ default (printf "%s-postgresql" .Release.Name) .Values.cnpg.cluster.nameOverride }} spec: - instances: 1 + instances: {{ .Values.cnpg.cluster.instances }} storage: - size: 1Gi + size: {{ .Values.cnpg.cluster.storage.size }} +{{- end }} + +{{- if .Values.cnpg.database.enabled }} --- apiVersion: postgresql.cnpg.io/v1 kind: Database metadata: name: {{ .Release.Name }}-database spec: - name: {{ .Values.database }} + name: {{ .Values.cnpg.database.name }} cluster: - name: {{ .Release.Name }}-postgresql + name: {{ default (printf "%s-postgresql" .Release.Name) .Values.cnpg.cluster.nameOverride }} {{- end }} diff --git a/odoo/values.yaml b/odoo/values.yaml index 94ec94d..d70bdb8 100644 --- a/odoo/values.yaml +++ b/odoo/values.yaml @@ -77,9 +77,36 @@ postgresql: ## @section CloudNativePG parameters ## cnpg: - ## @param cnpg.enabled Enable or disable CloudNativePG + cluster: + ## @param cnpg.cluster.enabled Enable or disable CloudNativePG + ## + enabled: true + ## @param cnpg.cluster.nameOverride Override the name of the PostgreSQL cluster + ## Default: "{release-name}-postgresql" + ## + nameOverride: "" + ## @param cnpg.cluster.instances Number of PostgreSQL instances (1 for single, 2+ for high availability) + ## + instances: 1 + storage: + ## @param cnpg.cluster.storage.size Persistent volume size for each instance + ## + size: 8Gi + ## @param cnpg.database.enabled Enable or disable creation of a Database resource + ## Requires a running Cluster ## - enabled: true + database: + enabled: true + ## @param cnpg.database.name Name of the PostgreSQL database to create + ## + name: odoo + ## @param cnpg.database.user Name of the database user (optional, defaults to database name) + ## + user: odoo + ## @param cnpg.database.secretName Name of the secret to store credentials + ## Default: {release-name}-cnpg-credentials + ## + secretName: "" ## @section Odoo parameters ##