docs: object storage is Garage now
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:
parent
475be2ece6
commit
490bb3748c
4 changed files with 6 additions and 6 deletions
|
|
@ -105,7 +105,7 @@ jobs:
|
||||||
SOURCE: "docker-compose.yml"
|
SOURCE: "docker-compose.yml"
|
||||||
TARGET: "/opt/datacenterbingo/"
|
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.
|
# owns writes. BINGO_HOST also feeds the Traefik rule via compose.
|
||||||
- name: Deploy .env from secrets
|
- name: Deploy .env from secrets
|
||||||
uses: appleboy/ssh-action@v1.2.3
|
uses: appleboy/ssh-action@v1.2.3
|
||||||
|
|
|
||||||
|
|
@ -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,
|
admin side (writes, photo upload and resizing, IndexNow pings, ranking,
|
||||||
seeding, `guess_provider`) stays in asxpio. Keep shared parts in step:
|
seeding, `guess_provider`) stays in asxpio. Keep shared parts in step:
|
||||||
`PROVIDERS`, `Board`, and model methods.
|
`PROVIDERS`, `Board`, and model methods.
|
||||||
- Prod uses a read-only DB role `bingo` (SELECT on the two tables) and a
|
- Prod uses a read-only DB role `bingo` (SELECT on the two tables) and an
|
||||||
MinIO user limited to `s3:GetObject` on `datacenterbingo-photos`. Both
|
S3 key (Garage) that can only read `datacenterbingo-photos`. Both
|
||||||
are provisioned by the `storage` repo (`init/`), from the same
|
are provisioned by the `storage` repo (`init/`), from the same
|
||||||
`BINGO_*` secrets set on both repos.
|
`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 |
|
| `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 |
|
| `DEPLOY_IP`, `DEPLOY_USER`, `DEPLOY_SSH_KEY` | SSH to prod |
|
||||||
| `BINGO_DB_PASSWORD` | read-only Postgres role `bingo` |
|
| `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) |
|
| `INDEXNOW` | same key as asxpio's `INDEXNOW` (served here, pinged from there) |
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ services:
|
||||||
env_file: .env
|
env_file: .env
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
- storage # postgres + minio
|
- storage # postgres + garage (S3)
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
# Priority beats the old asxpio-bingo router while both exist.
|
# Priority beats the old asxpio-bingo router while both exist.
|
||||||
|
|
|
||||||
|
|
@ -299,7 +299,7 @@ module Bingo
|
||||||
end
|
end
|
||||||
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.
|
# by the asxp.io admin) and are proxied here, so the bucket stays private.
|
||||||
module Photo
|
module Photo
|
||||||
PREFIX = 'bingo/'.freeze
|
PREFIX = 'bingo/'.freeze
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue