Add named sizes table (tiny/small/medium/large)

This commit is contained in:
git_admin
2026-04-26 20:04:39 +03:00
parent a915b31588
commit 97666c4e2f
4 changed files with 58 additions and 16 deletions

View File

@@ -12,19 +12,56 @@ instance:
# The full HTTPS hostname this instance answers on.
# Tenants live under *.tenants.odoosky.org (covered by wildcard DNS A).
domain: demo.tenants.odoosky.org
# Named size — looked up against the `sizes` table below to derive
# CPU / memory limits + Odoo workers. Per-tenant overlays only need
# `instance.size: medium` (etc); they don't have to know the numbers.
size: small
# The named-size table. Single source of truth for what each instance
# tier actually gets. Adjust here, ALL future instances pick up the
# new defaults on next reconcile. Existing instances keep their
# previously-rendered manifests until ArgoCD re-syncs.
#
# Anchored loosely on v2's tested defaults:
# tiny — dev/preview, 1 user
# small — 515 users, default
# medium — 1550 users
# large — 50150 users
sizes:
tiny:
odoo:
requests: { memory: 256Mi, cpu: 100m }
limits: { memory: 1Gi, cpu: "1" }
postgres:
requests: { memory: 128Mi, cpu: 50m }
limits: { memory: 256Mi, cpu: 500m }
small:
odoo:
requests: { memory: 512Mi, cpu: 250m }
limits: { memory: 2Gi, cpu: "2" }
postgres:
requests: { memory: 256Mi, cpu: 100m }
limits: { memory: 1Gi, cpu: "1" }
medium:
odoo:
requests: { memory: 1Gi, cpu: 500m }
limits: { memory: 4Gi, cpu: "4" }
postgres:
requests: { memory: 512Mi, cpu: 250m }
limits: { memory: 2Gi, cpu: "2" }
large:
odoo:
requests: { memory: 2Gi, cpu: "1" }
limits: { memory: 8Gi, cpu: "6" }
postgres:
requests: { memory: 1Gi, cpu: 500m }
limits: { memory: 4Gi, cpu: "3" }
odoo:
image: odoo
tag: "18.0"
# Filestore PVC size (Odoo's /var/lib/odoo).
filestoreSize: 10Gi
resources:
requests:
memory: 512Mi
cpu: 250m
limits:
memory: 2Gi
cpu: "2"
postgres:
image: postgres
@@ -35,13 +72,6 @@ postgres:
# the existing Secret on subsequent upgrades (lookup pattern).
password: ""
storage: 10Gi
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 1Gi
cpu: "1"
ingress:
# Traefik entrypoint name (set on the Traefik install in the