Kustomize blueprint Odoo 18 CE (CURQ) BB Open platform
- Shell 35.4%
- Dockerfile 34.4%
- Python 30.2%
De remote-tak leverde de negen curq-modules (7x *_branding, container_install, release_note) die odoo.captains.nl nodig heeft voor een 1:1 DB-restore, plus een losse carbone_sdk-pip-regel. De lokale tak leverde de addons-curq-SHA-pin, depcheck.py, de global-discount-keten en impersonate_login. Resolutie: - Containerfile: lokale kant. Die installeert carbone-sdk al gepind op 1.1.1 als must-succeed, wat de losse `pip install carbone_sdk` van de remote overbodig maakt, en bevat de dep-check-stap. - package.txt: beide kanten. De captains-modules blijven staan; ze weggooien zou het werk van een parallelle sessie stilzwijgend ongedaan maken. LET OP voor de volgende build: de image die nu op de vijf CE-tenants draait (18.0-20260803@sha256:4c0a5c39) is gebouwd vóór deze merge en bevat de negen modules NIET. Een rebuild levert ze dus wel op. Dat is beheerst: van de negen staan alleen sale_branding en website_branding op auto_install, en die worden op alle vijf geblokkeerd door modules_auto_install_disabled in de odoo.conf (bb-open-platform-v2, clusters/proxy-nbg2-prod/tenant-*-odoo.yaml). De overige zeven installeren niet vanzelf. Captains draait op een eigen tag en wil ze juist. Nog open: of de gedeelde :18.0-lijn deze modules permanent moet dragen, of dat captains een eigen lijn houdt. Zie docs/projects/2026-08-03-odoo-image-repin-en-edsger-test.md in bb-open-platform-v2. |
||
|---|---|---|
| base | ||
| image | ||
| overlays | ||
| tier | ||
| .gitignore | ||
| DESIGN.md | ||
| LICENSE | ||
| README.md | ||
bb-odoo-18-ce
Kustomize-blueprint voor Odoo 18 Community Edition (CURQ-image) als BB Open multi-tenant app.
Status
| Tier | Productie-ready | Notitie |
|---|---|---|
| Brons | ✅ | Default keuze voor MKB zonder EE-features |
| Zilver | ✅ | 3-instance CNPG HA, voor klanten die wel 30 GB storage willen |
| Goud | ❌ (niet leverbaar) | Goud-tier alleen voor EE/Nubus/OpenCloud |
Layout
base/ # core manifests (StatefulSet, CNPG, Service, Ingress, …)
tier/{brons,zilver}/ # sizing + replica + retention Components (Goud niet leverbaar voor CE)
Tenant-overlay pattern
# tenants/<tenant>/odoo/kustomization.yaml (in bb-open-platform-v2)
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: <tenant>-odoo
resources:
- ../../../tenants/_base
- https://forgejo.bb-open.com/bb-open/bb-odoo-18-ce.git//base?ref=v0.1.0
components:
- ../../../tenants/_base/tier/brons
- https://forgejo.bb-open.com/bb-open/bb-odoo-18-ce.git//tier/brons?ref=v0.1.0
patches:
- target: { kind: Namespace, name: PLACEHOLDER }
patch: |
- op: replace
path: /metadata/name
value: <tenant>-odoo
- target: { kind: Ingress, name: odoo }
patch: |
- op: replace
path: /spec/rules/0/host
value: <tenant>.bb-open.com
- target: { kind: Cluster, name: odoo-db }
patch: |
- op: replace
path: /spec/backup/barmanObjectStore/destinationPath
value: s3://bbopen-backups/<tenant>/odoo/
OCA-addons
clone-oca-addons init-container clont OCA-repos naar emptyDir-volume.
Default: no-op (CURQ-image addons + Odoo-standaard zijn voldoende).
Tenant-overlay kan args patchen om extra OCA-modules te clonen:
- target: { kind: StatefulSet, name: odoo }
patch: |
- op: replace
path: /spec/template/spec/initContainers/0/args
value:
- |
mkdir -p /extra-addons
cd /extra-addons
git clone --depth 1 -b 18.0 https://github.com/OCA/account-financial-reporting.git
git clone --depth 1 -b 18.0 https://github.com/OCA/web.git
Bijbehorend addons_path-patch op odoo.conf via ConfigMap-overlay.
Image
Stable Onestein CURQ-image. Niet zelf gebuild — pull via ghcr.io/onesteinbv/curq:18.0.
Vereisten op tenant-namespace
odoo-admin-master— Odoo master-password (Pass-item<tenant>-odoo-admin-master)odoo-smtp-config— SMTP-creds (Pass-itemsmtp-scaleway-bb-open, transitie Soverin → Scaleway)hetzner-bbopen-backups-nbg1— S3-creds voor CNPG WAL-archive
Allemaal gerendered door proton-pass-sync CronJob in platform-secrets-sync ns.
License
Proprietary tooling-config — BB Open Solutions. Odoo-source onder LGPLv3.
Versioning
SemVer-tags op deze repo. Tenant-overlay refereert specifieke tag.