feat(storage,deploy): delad S3/mock-lagring, SSM .env-sync, Gemini readyz

- @app/storage med MockStorage + AwsStorage delas mellan API och worker

- Workerns readUrl() ger presignerad S3-URL i aws-läge (fixar mock-s3 404)

- sync-env-from-ssm.py hämtar /cibello/prod/* och skriver .env; first-deploy.sh kör det i prod

- /readyz returnerar 503 om app.aamos.healthCheck() misslyckas

- docs/SECRETS.md med rotations- och SSM-regler
This commit is contained in:
Sven (AAMOS AI)
2026-08-12 17:28:58 +07:00
parent 535e3e36e8
commit 6e2d794130
17 changed files with 516 additions and 241 deletions
+10
View File
@@ -93,6 +93,16 @@ if [ ! -f .env ]; then
chmod 600 .env
fi
# I produktion härleds .env alltid ur SSM inga handkopior får drifta.
if [ "$MODE" = "production" ]; then
if [ -f "$ROOT/infrastructure/deployment/sync-env-from-ssm.py" ]; then
say "Synkar .env från SSM..."
python3 "$ROOT/infrastructure/deployment/sync-env-from-ssm.py"
else
fail "sync-env-from-ssm.py saknas kan inte synka .env från SSM."
fi
fi
get_env() { { grep -E "^$1=" .env || true; } | head -1 | cut -d= -f2-; }
AAMOS_MODE_VAL=$(get_env AAMOS_MODE)
# Sätt NODE_EXTRA_CA_CERTS om definierad i .env (behövs för RDS SSL från Node/pg).