docs: object storage is Garage now
All checks were successful
Build and Deploy to Production / test (push) Successful in 16s
Build and Deploy to Production / build (push) Successful in 49s
Build and Deploy to Production / deploy (push) Successful in 37s

The notes and comments still spoke of a MinIO user and of asxpio's
bucket. The photos are in datacenterbingo-photos on Garage, read with a
read-only S3 key.

Assisted-by: Claude:fable-5-2
This commit is contained in:
Sergei Poljanski 2026-11-11 04:28:35 +04:00
commit 490bb3748c
Signed by: asxpi
GPG key ID: 4F8851660FA4121B
4 changed files with 6 additions and 6 deletions

View file

@ -105,7 +105,7 @@ jobs:
SOURCE: "docker-compose.yml"
TARGET: "/opt/datacenterbingo/"
# Read-only DB role and MinIO user (see CLAUDE.md); the asxp.io admin
# Read-only DB role and S3 key (see CLAUDE.md); the asxp.io admin
# owns writes. BINGO_HOST also feeds the Traefik rule via compose.
- name: Deploy .env from secrets
uses: appleboy/ssh-action@v1.2.3

View file

@ -20,8 +20,8 @@ Content is edited in the asxp.io admin (`/admin/bingo`, repo `asxpio`:
admin side (writes, photo upload and resizing, IndexNow pings, ranking,
seeding, `guess_provider`) stays in asxpio. Keep shared parts in step:
`PROVIDERS`, `Board`, and model methods.
- Prod uses a read-only DB role `bingo` (SELECT on the two tables) and a
MinIO user limited to `s3:GetObject` on `datacenterbingo-photos`. Both
- Prod uses a read-only DB role `bingo` (SELECT on the two tables) and an
S3 key (Garage) that can only read `datacenterbingo-photos`. Both
are provisioned by the `storage` repo (`init/`), from the same
`BINGO_*` secrets set on both repos.
@ -85,5 +85,5 @@ Secrets:
| `FJ_REGISTRY`, `FJ_USER`, `FJ_TOKEN` | kaniko clone + push (`write:package`, `read:repository`); Forgejo reserves the `FORGEJO_` prefix |
| `DEPLOY_IP`, `DEPLOY_USER`, `DEPLOY_SSH_KEY` | SSH to prod |
| `BINGO_DB_PASSWORD` | read-only Postgres role `bingo` |
| `BINGO_S3_ACCESS_KEY`, `BINGO_S3_SECRET_KEY` | read-only MinIO user |
| `BINGO_S3_ACCESS_KEY`, `BINGO_S3_SECRET_KEY` | read-only S3 key; the deploy hashes it into Garage's key format, as storage does |
| `INDEXNOW` | same key as asxpio's `INDEXNOW` (served here, pinged from there) |

View file

@ -8,7 +8,7 @@ services:
env_file: .env
networks:
- traefik
- storage # postgres + minio
- storage # postgres + garage (S3)
labels:
- "traefik.enable=true"
# Priority beats the old asxpio-bingo router while both exist.

View file

@ -299,7 +299,7 @@ module Bingo
end
end
# Photos live in the asxpio MinIO bucket under bingo/ (uploaded and resized
# Photos live in the datacenterbingo-photos bucket under bingo/ (uploaded and resized
# by the asxp.io admin) and are proxied here, so the bucket stays private.
module Photo
PREFIX = 'bingo/'.freeze