Standalone-Arkindex-Coolify/scripts/lib.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

40 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Fonctions et variables partagées par les scripts de déploiement.
# Usage : source "$(dirname "$0")/lib.sh"
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# Config non-secrète
[ -f "$ROOT/deploy.conf" ] && . "$ROOT/deploy.conf"
# Secrets (optionnels selon le script)
load_secrets() {
if [ ! -f "$ROOT/.secrets.env" ]; then
echo "$ROOT/.secrets.env manquant. Lance d'abord scripts/00-gen-secrets.sh" >&2
exit 1
fi
set -a; . "$ROOT/.secrets.env"; set +a
}
# Nom réel d'un conteneur (avec suffixe Coolify si défini)
# ex: cname ark-backend -> ark-backend-tdquwauzxsq0985fk9kjqqys (mode Coolify)
# -> ark-backend (mode CLI)
cname() { echo "$1${CONTAINER_SUFFIX:-}"; }
# docker exec sur un service Arkindex
dex() { local svc="$1"; shift; docker exec "$(cname "$svc")" "$@"; }
dexi() { local svc="$1"; shift; docker exec -i "$(cname "$svc")" "$@"; }
log() { printf '\033[1;34m▶ %s\033[0m\n' "$*"; }
ok() { printf '\033[1;32m✅ %s\033[0m\n' "$*"; }
warn() { printf '\033[1;33m⚠ %s\033[0m\n' "$*"; }
coolify_token() { cat "${COOLIFY_TOKEN_FILE}"; }
capi() { # capi METHOD PATH [curl-args...]
local m="$1" p="$2"; shift 2
curl -s -X "$m" -H "Authorization: Bearer $(coolify_token)" \
-H "Content-Type: application/json" -H "Accept: application/json" \
"$@" "${COOLIFY_API}${p}"
}