All checks were successful
Deploy storage stack / deploy (push) Successful in 25s
MinIO is abandoned upstream and its images are gone from the registries, so the object store cannot be rebuilt or updated. Garage takes its place. This is the first step: Garage runs as one node next to MinIO, with the same three buckets and one key per app, and is not routed yet. MinIO keeps serving s3.asxp.io and is no longer bootstrapped, so its users stay as they are until the data is copied and the apps are switched. Garage only accepts keys in its own format. The bootstrap hashes the existing secrets into that format, as the apps' deploys will, so no secret has to change for the move; a secret already in Garage's format is used as it is. Garage has no anonymous S3 access. The public bucket is marked as a website instead, to be served through Garage's web endpoint. Assisted-by: Claude:fable-5-2
30 lines
976 B
TOML
30 lines
976 B
TOML
# Garage, single node. No secrets here: the RPC secret is a file made on the
|
|
# host at first deploy (see the deploy workflow).
|
|
metadata_dir = "/var/lib/garage/meta"
|
|
data_dir = "/var/lib/garage/data"
|
|
|
|
# One node and no replica to repair from, so prefer the engine that survives
|
|
# an unclean stop, sync writes, and keep metadata snapshots.
|
|
db_engine = "sqlite"
|
|
metadata_fsync = true
|
|
data_fsync = true
|
|
metadata_auto_snapshot_interval = "6h"
|
|
|
|
replication_factor = 1
|
|
|
|
rpc_bind_addr = "[::]:3901"
|
|
rpc_public_addr = "127.0.0.1:3901"
|
|
rpc_secret_file = "/run/secrets/garage_rpc_secret"
|
|
|
|
[s3_api]
|
|
# The apps sign for us-east-1, as they did against MinIO.
|
|
s3_region = "us-east-1"
|
|
api_bind_addr = "[::]:3900"
|
|
|
|
# Anonymous reads. Garage has no anonymous S3 access; a bucket marked as a
|
|
# website is served here, picked by Host: <bucket>.web.garage. Traefik sends
|
|
# https://s3.asxp.io/public/<key> this way.
|
|
[s3_web]
|
|
bind_addr = "[::]:3902"
|
|
root_domain = ".web.garage"
|
|
index = "index.html"
|