Files
odoosky-odoo/versions.yaml

67 lines
2.7 KiB
YAML

# odoosky-odoo — pinned Odoo platform images.
#
# Source of truth: which upstream Odoo nightly each major is pinned to.
# Customer instances pull from registry.odoosky.cloud/odoosky/docker-mirror/odoo:<tag>
# via the instance-template-v3 chart's odoo.pinnedTags map.
#
# Bumping policy:
# 1. Pull a candidate upstream nightly to lab1.
# 2. Smoke it: deploy a fresh test tenant on a sandbox cluster,
# login, install one demo addon, check pod logs for SQL/runtime
# errors.
# 3. If clean, push it to our mirror under the same date tag.
# 4. Update this file AND instance-template-v3/values.yaml's
# odoo.pinnedTags map IN THE SAME PR. ArgoCD picks up the new
# chart values and customer instances pull the new image on next
# pod restart.
# 5. If broken, do nothing. Customers stay on the previous pinned
# tag until a clean candidate appears.
#
# Never use rolling tags (18.0, 17.0, 16.0). They auto-pull the latest
# nightly and have shipped regressions to every new instance — see the
# 2026-05-04 incident with res_users_log query (now() - INTERVAL '15
# minutes' string-quoted, broke every login).
majors:
- major: "19.0"
pinnedTag: "19.0-20260421"
upstreamSource: "docker.io/library/odoo:19.0-20260421"
blessedAt: "2026-05-06"
blessedBy: "m@havari.me"
notes: "Apr 21 nightly. Same revision baseline as 18.0."
- major: "18.0"
pinnedTag: "18.0-20260421"
upstreamSource: "docker.io/library/odoo:18.0-20260421"
blessedAt: "2026-05-06"
blessedBy: "m@havari.me"
notes: "Apr 21 nightly. Predates the 2026-05-04 SQL regression."
- major: "17.0"
pinnedTag: "17.0-20260421"
upstreamSource: "docker.io/library/odoo:17.0-20260421"
blessedAt: "2026-05-06"
blessedBy: "m@havari.me"
notes: "Apr 21 nightly. Same revision baseline as 18.0."
- major: "16.0"
pinnedTag: "16.0-20250909"
upstreamSource: "docker.io/library/odoo:16.0-20250909"
blessedAt: "2026-05-06"
blessedBy: "m@havari.me"
notes: "Final upstream nightly for 16.0 — Odoo SA stopped publishing 16.0 nightlies after Sep 9 2025 (EOL)."
# Postgres images are also mirrored to registry.odoosky.cloud/odoosky/
# docker-mirror/postgres. Currently mirrored: 16-alpine, 17-alpine,
# 15-alpine. Tag-as-major (no date pinning) is acceptable for postgres
# because Alpine tags are stable per major.
# Smoke checklist (paste into your bump PR description):
# [ ] nerdctl pull <upstream>
# [ ] nerdctl tag + push to our mirror
# [ ] kubectl apply temp tenant on a sandbox cluster
# [ ] login as admin → 200
# [ ] /web/dataset/call_kw on a basic model → 200, no SQL errors
# [ ] install one demo addon → 'Installed' state
# [ ] tear down temp tenant