diff --git a/cc-ci-plan/upstream/discourse.md b/cc-ci-plan/upstream/discourse.md index ab58e83..587dd95 100644 --- a/cc-ci-plan/upstream/discourse.md +++ b/cc-ci-plan/upstream/discourse.md @@ -2,30 +2,25 @@ | service | image | source repo | releases / changelog | |---------|-------|-------------|----------------------| -| app | bitnamilegacy/discourse (was bitnami/discourse) | https://github.com/bitnami/containers/tree/main/bitnami/discourse | https://github.com/bitnami/containers/blob/main/bitnami/discourse/CHANGELOG.md | -| sidekiq | bitnamilegacy/discourse (same image as app) | https://github.com/bitnami/containers/tree/main/bitnami/discourse | https://github.com/bitnami/containers/blob/main/bitnami/discourse/CHANGELOG.md | -| db | pgvector/pgvector (was postgres) | https://github.com/pgvector/pgvector | https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md | +| app | discourse/discourse (official, was bitnamilegacy/discourse) | https://github.com/discourse/discourse | https://releases.discourse.org/ (per-version: https://releases.discourse.org/changelog/v/) | +| db | discourse/postgres (pgvector + auto-upgrade layer, was pgvector/pgvector) | https://github.com/discourse/discourse-postgres | https://github.com/discourse/discourse-postgres (tags: pg13..pg18, `latest`; no semver — `pg`) | | redis | redis | https://github.com/redis/redis | https://raw.githubusercontent.com/redis/redis/8.0/00-RELEASENOTES | ## Standing notes -- bitnami/discourse was removed from Docker Hub; bitnamilegacy/discourse is the byte-identical archived - drop-in. The recipe (PR #1) re-pins to bitnamilegacy/discourse. The cc-ci overlay (compose.ccci.yml) - also re-pins the base deploy. -- bitnamilegacy/discourse is FROZEN at `3.5.0` (last runnable tag, pushed 2025-08-22; no 3.5.x patch tags - exist). The `9.0.4`/`9.0.3` tags abra reports as upgrades are **Helm chart OCI artifacts** - (`media_type: application/vnd.cncf.helm.config.v1+json`, ~186 KB, `tag_status: inactive`, 0 images) — - NOT runnable container images. Do NOT bump app/sidekiq to 9.x. The real Discourse app image upgrade is - the official `discourse/discourse` image, tracked in PR #5 (discourse-official-image) / PR #7 - (discourse-official, +db → discourse/postgres:pg18). Confirmed directly via Docker Hub API 2026-06-22. -- postgres major version upgrades require operator action: pg_dumpall backup → undeploy → delete data - volume → redeploy → restore. See recipe README "Welcome to hell" section. Do NOT auto-bump postgres - more than one major at a time. -- PR #2 (upgrade-0.8.0+3.5.0) upgrades discourse 3.3.1→3.5.0 and postgres:13→pgvector/pgvector:pg17. - That is a 4-major postgres jump; operators MUST follow the manual dump/restore procedure in the README. -- Redis 8.0 GA supports upgrade from 7.x data files. Discourse uses Redis only as a cache/queue (no - persistence modules). Redis 8.0 integrates RediSearch/RedisJSON/etc. as built-ins; discourse does not - use those modules so this is transparent. -- bitnami/discourse:3.3.1 bundles pg_dump v13 internally; if using external postgres >13, backup hooks - that call pg_dump from within the app container may emit version-mismatch warnings (non-fatal for - simple schemas, but worth noting). The cc-ci ops.py backup test uses psql from the db container, - bypassing this. +- The recipe switched from bitnamilegacy/discourse to the official `discourse/discourse` image in + v1.0.0+3.5.3 (merged upstream 2026-06, PR #16 `discourse-official`). sidekiq now runs INSIDE the app + container (no separate sidekiq service). The old bitnamilegacy path is dead; bitnamilegacy 9.x tags + are Helm-chart OCI artifacts, not runnable images. +- Discourse switched from semver (3.x) to calver (YYYY.M.x) starting v2026.1.0 (2026-01-28). v2026.1.0 + is the first ESR (Extended Support Release), replacing the old "stable" branch. Sites on 3.5.x → + 2026.1.x on next upgrade (normal, supported path; Rails migrations run automatically on boot via the + official image). Release notes: https://releases.discourse.org/ . ESR line (2026.1.x) gets ~8 months + support; monthly `release` channel gets ~2 months; `latest` is continuous. The `esr` Docker tag + tracks the current ESR. Target the ESR line for stable deployments. +- discourse/postgres tags are `pg` (pg13..pg18), non-semver — abra can't parse them. Check Docker + Hub directly: https://hub.docker.com/r/discourse/postgres/tags . pg18 is the newest (2026-07-01); no + pg19 yet. The image auto-upgrades an older cluster in place on boot (pg_upgrade into versioned PGDATA); + no manual dump/restore needed (the old "Welcome to hell" procedure is superseded for this image). +- Redis 8.0 GA supports upgrade from 7.x data files. Discourse uses Redis only as a cache/queue (Sidekiq) + with no persistence modules. Redis 8.0 integrates RediSearch/RedisJSON/etc. as built-ins; discourse + does not use those modules so this is transparent.