freeCodeCamp / freeCodeCamp/artemis
Bundled PostgreSQL runs on node-local storage: registry, audit log and durable-exec state at ~24h RPO
- Dominant language
- Go
- Stars
- 2
- Forks
- 0
- Avg merge
- 16h 21m
- Merged PRs (30d)
- 19
Description
## Summary
The bundled PostgreSQL StatefulSet stores its data on the cluster's default `local-path` StorageClass. That volume holds the site registry (source of truth since v1.4.0), the `audit_log`, the deploy index, the outbox, and the Hatchet tenant's entire durable-execution state.
Properties of the current binding:
- `local-path` — node-local directory, not replicated and not network-attached, which pins the pod to one node
- reclaim policy `Delete`
- `ALLOWVOLUMEEXPANSION: false`
The only durability layer is the nightly logical backup to R2, so the recovery point objective for all of the above is up to 24 hours.
This is the artemis-specific instance of the ADR-008 gap already recorded in the platform state audit (`docs/architecture/universe-state-2026-07-17.md` §4-3: no network-attached storage layer exists on this galaxy).
## Fix direction
Needs a design decision rather than a patch. Options include network-attached block storage for the PVC, a replicated Postgres (the CNPG operator already runs on the sibling galaxy), or continuous archiving to shrink the RPO. Worth scoring against ADR-008 and the DR runbooks before picking.
Not a code change in this repo; filed here to keep the artemis reliability picture in one tracker.
Contributor guide
Research direction
Start with ADR-008 and docs/architecture/universe-state-2026-07-17.md §4-3, then review the DR runbooks and the bundled PostgreSQL StatefulSet configuration. Compare the listed storage, replication, and archiving options against the stated RPO, and consider the work complete when a decision and implementation path are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- postgresql
- Domain
- databases, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100