fix(deploy): brand-guard compat + db_reachable med RDS SSL + first-deploy SSL
This commit is contained in:
@@ -95,6 +95,9 @@ fi
|
|||||||
|
|
||||||
get_env() { { grep -E "^$1=" .env || true; } | head -1 | cut -d= -f2-; }
|
get_env() { { grep -E "^$1=" .env || true; } | head -1 | cut -d= -f2-; }
|
||||||
AAMOS_MODE_VAL=$(get_env AAMOS_MODE)
|
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).
|
||||||
|
EXTRA_CA=$(get_env NODE_EXTRA_CA_CERTS)
|
||||||
|
[ -n "$EXTRA_CA" ] && export NODE_EXTRA_CA_CERTS="$EXTRA_CA"
|
||||||
if [ "$MODE" = "production" ]; then
|
if [ "$MODE" = "production" ]; then
|
||||||
if [ "$AAMOS_MODE_VAL" = "gemini" ]; then
|
if [ "$AAMOS_MODE_VAL" = "gemini" ]; then
|
||||||
[ -n "$(get_env GEMINI_API_KEY)" ] || fail "Produktion kräver GEMINI_API_KEY när AAMOS_MODE=gemini."
|
[ -n "$(get_env GEMINI_API_KEY)" ] || fail "Produktion kräver GEMINI_API_KEY när AAMOS_MODE=gemini."
|
||||||
@@ -113,11 +116,13 @@ say "GRIND 1 OK: .env på plats ($([ "$MODE" = production ] && echo 'produktions
|
|||||||
# GRIND 2: Databas + Redis (nåbarhet avgör – Docker är bara reservstart)
|
# GRIND 2: Databas + Redis (nåbarhet avgör – Docker är bara reservstart)
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
db_reachable() {
|
db_reachable() {
|
||||||
node -e "
|
(cd "$ROOT" && node -e "
|
||||||
const { Client } = require('pg');
|
const { Client } = require('pg');
|
||||||
const c = new Client({ connectionString: process.env.DB_URL, connectionTimeoutMillis: 3000 });
|
const extraCa = process.env.NODE_EXTRA_CA_CERTS ? require('fs').readFileSync(process.env.NODE_EXTRA_CA_CERTS) : undefined;
|
||||||
|
const ssl = extraCa ? { ca: extraCa } : undefined;
|
||||||
|
const c = new Client({ connectionString: process.env.DB_URL, connectionTimeoutMillis: 3000, ...(ssl ? { ssl } : {}) });
|
||||||
c.connect().then(() => c.end()).then(() => process.exit(0)).catch(() => process.exit(1));
|
c.connect().then(() => c.end()).then(() => process.exit(0)).catch(() => process.exit(1));
|
||||||
" 2>/dev/null
|
") 2>/dev/null
|
||||||
}
|
}
|
||||||
# Rå TCP-PING: alla svar (även -NOAUTH) bevisar att Redis är nåbar.
|
# Rå TCP-PING: alla svar (även -NOAUTH) bevisar att Redis är nåbar.
|
||||||
redis_reachable() {
|
redis_reachable() {
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ function requestOnce(input: string | URL | Request, init: RequestInit | undefine
|
|||||||
headers["content-length"] = String(Buffer.byteLength(postData));
|
headers["content-length"] = String(Buffer.byteLength(postData));
|
||||||
}
|
}
|
||||||
if (!headers["user-agent"]) {
|
if (!headers["user-agent"]) {
|
||||||
headers["user-agent"] = "Mozilla/5.0 (compatible; Cibello/1.0)";
|
headers["user-agent"] = "Mozilla/5.0 (compatible; AAMOS-Gateway/1.0)";
|
||||||
}
|
}
|
||||||
|
|
||||||
const req = httpMod.request(
|
const req = httpMod.request(
|
||||||
|
|||||||
Reference in New Issue
Block a user