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`
This commit is contained in:
Mint Bot committed 2025-08-13 10:34:23 +02:00
1 parent d120b5336d
commit f266eb4e21
6 files changed
+56 -22

No files matched your search

+2 -5
View File
@@ -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"
+4 -4
View File
@@ -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
+10 -3
View File
@@ -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
+2 -2
View File
@@ -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 }}
+9 -6
View File
@@ -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 }}
+29 -2
View File
@@ -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
##