Standalone-Arkindex-Coolify/scripts/20-garage-init.sh
nak0x 18064be674 Repo complet : scripts, templates, docs et durcissement secrets
- Ajout scripts/ reproduisant chaque étape (secrets, render config, up CLI,
  init Garage, bootstrap prod, admin, vérif E2E, adoption Coolify, backup)
- Templates envsubst (config.yml, garage.toml, cantaloupe.properties) + .example
- deploy.conf (config non-secrète : domaine, versions, uuids Coolify)
- docs/ : ARCHITECTURE, TROUBLESHOOTING (11 problèmes/fixes), RUNBOOK, SECURITY
- Makefile (raccourcis)
- .gitignore + retrait du suivi de .env/.secrets.env/config.yml/garage.toml
  (fichiers conservés sur disque ; secrets restent dans l'historique -> voir SECURITY.md)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 16:26:29 +02:00

31 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Initialise Garage : layout du cluster (1 nœud), import de la clé S3, création + droits des buckets.
# Idempotent. Fonctionne en mode CLI ou Coolify (via CONTAINER_SUFFIX).
source "$(dirname "$0")/lib.sh"
load_secrets
G=$(cname ark-garage)
log "Init Garage ($G)…"
NODE=$(docker exec "$G" /garage status 2>/dev/null | awk '/NO ROLE ASSIGNED/{print $1}')
if [ -n "${NODE:-}" ]; then
docker exec "$G" /garage layout assign -z dev -c 1G "$NODE" >/dev/null
# applique la version courante+1 (1 si cluster neuf)
VER=$(docker exec "$G" /garage layout show 2>/dev/null | awk '/Current cluster layout version/{print $NF}')
docker exec "$G" /garage layout apply --version "$(( ${VER:-0} + 1 ))" >/dev/null
ok "Layout appliqué."
else
warn "Nœud déjà configuré (layout existant)."
fi
# Import de la clé S3 (même GK_ID/GK_SECRET que config.yml)
docker exec "$G" /garage key import --yes -n arkindex "$GK_ID" "$GK_SECRET" >/dev/null 2>&1 \
&& ok "Clé S3 importée." || warn "Clé S3 déjà présente."
for b in $GARAGE_BUCKETS; do
docker exec "$G" /garage bucket create "$b" >/dev/null 2>&1 || true
docker exec "$G" /garage bucket allow --read --write --owner --key "$GK_ID" "$b" >/dev/null 2>&1 || true
done
N=$(docker exec "$G" /garage bucket list 2>/dev/null | grep -c '20' || true)
ok "Buckets prêts ($N)."