From 2a9c54cb42d4abba090b60f9478d31d4afdfa07b Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Wed, 13 May 2026 21:13:51 +0100 Subject: [PATCH] Sync docs: Elixir 1.20.0-rc.5, Oban pruner 7d, Docker builder --- .agents/skills/oban-worker/SKILL.md | 2 +- docs/architecture.md | 12 ++++++------ docs/production-infrastructure.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.agents/skills/oban-worker/SKILL.md b/.agents/skills/oban-worker/SKILL.md index e44c88dc..97f5d7e7 100644 --- a/.agents/skills/oban-worker/SKILL.md +++ b/.agents/skills/oban-worker/SKILL.md @@ -140,7 +140,7 @@ difference from on-demand workers. | Plugin | Config | Purpose | |--------|--------|---------| -| `Pruner` | `max_age: 43200` (12h) | Clean up completed jobs | +| `Pruner` | `max_age: 604800` (7 days) | Clean up completed jobs | | `Reindexer` | `schedule: "@weekly"` | Reindex for query performance | | `Cron` | timezone: `"Europe/London"` | Schedule recurring jobs | diff --git a/docs/architecture.md b/docs/architecture.md index bc533404..8cd1727a 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -21,7 +21,7 @@ Key capabilities: - Encrypted secret storage (Cloak) - Presto companion display (MicroPython, 4" IPS LCD, "Records on this day") -**Elixir ~> 1.14, Phoenix ~> 1.8, LiveView ~> 1.1, SQLite3** +**Elixir 1.20.0-rc.5, Phoenix ~> 1.8, LiveView ~> 1.1, SQLite3** --- @@ -197,11 +197,11 @@ HTTP 429 into `:rate_limit` vs `:auth_error` by reading the body `code` ### Plugins (prod) -| Plugin | Config | Purpose | -| ------------------------ | --------------------------- | ------------------------------------------------------------ | -| `Oban.Plugins.Pruner` | `max_age: 43200` (12h) | Prune completed/cancelled/discarded jobs older than 12 hours | -| `Oban.Plugins.Reindexer` | `schedule: "@weekly"` | Weekly reindex of Oban tables for query performance | -| `Oban.Plugins.Cron` | `timezone: "Europe/London"` | Scheduled recurring workers (see Cron Workers table) | +| Plugin | Config | Purpose | +| ------------------------ | --------------------------- | ---------------------------------------------------------- | +| `Oban.Plugins.Pruner` | `max_age: 604800` (7 days) | Prune completed/cancelled/discarded jobs older than 7 days | +| `Oban.Plugins.Reindexer` | `schedule: "@weekly"` | Weekly reindex of Oban tables for query performance | +| `Oban.Plugins.Cron` | `timezone: "Europe/London"` | Scheduled recurring workers (see Cron Workers table) | ### On-Demand Workers diff --git a/docs/production-infrastructure.md b/docs/production-infrastructure.md index 0d1fa8ce..1270b00d 100644 --- a/docs/production-infrastructure.md +++ b/docs/production-infrastructure.md @@ -28,7 +28,7 @@ push via GitHub Actions. The Docker image is a multi-stage build: -1. **Builder** — `hexpm/elixir:1.20.0-rc.4-erlang-28.5-debian-trixie-20260505-slim` with +1. **Builder** — `hexpm/elixir:1.20.0-rc.5-erlang-28.5-debian-trixie-20260505-slim` with Node.js 26, compiles deps, builds assets (`mix assets.deploy`), generates an OTP release. 2. **Runner** — `debian:trixie-20260505-slim` with minimal runtime deps (`libstdc++6`, `openssl`, `libncurses6`, `ca-certificates`). Runs as unprivileged `nobody` user.