Kustomize blueprint Odoo 18 CE (CURQ) BB Open platform
  • Shell 35.4%
  • Dockerfile 34.4%
  • Python 30.2%
Find a file
Bram Buijs a681b97a9a merge: captains-branding uit origin/main samen met SHA-pin + dep-check
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.
2026-08-04 09:42:59 +02:00
base chore(sizing): data-gedreven resource-baseline (ADR-0063) 2026-06-15 12:57:58 +02:00
image merge: captains-branding uit origin/main samen met SHA-pin + dep-check 2026-08-04 09:42:59 +02:00
overlays feat: overlays/<tier> wrappers voor Flux multi-source pattern 2026-05-12 09:58:28 +02:00
tier fix(brons): CNPG enablePDB:false — single-instance PDB blokkeerde node-drain 2026-06-15 14:59:10 +02:00
.gitignore chore: initial blueprint extracted from bb-open-platform-v2 2026-05-12 09:06:23 +02:00
DESIGN.md fix(tiers): remove tier/goud — CE not supported on Goud tier 2026-05-12 09:25:47 +02:00
LICENSE chore: initial blueprint extracted from bb-open-platform-v2 2026-05-12 09:06:23 +02:00
README.md fix(tiers): remove tier/goud — CE not supported on Goud tier 2026-05-12 09:25:47 +02:00

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-item smtp-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.