configura.sh e verifica.sh: anche la produzione nuova

In ~/.ssh/config c'era solo oto-production-old. Adesso c'e' anche
oto-production (10.110.137.20, dietro VPN), con il suo utente
admin.produzione: l'utente non e' piu' uno solo per tutti i server.
verifica.sh controlla tutte e due le produzioni, un tentativo per macchina.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Fabio
2026-10-07 12:59:58 +02:00
co-authored by Claude Opus 5.5
parent 024983c93f
commit 608438323f
4 changed files with 37 additions and 14 deletions
+5 -1
View File
@@ -139,4 +139,8 @@ Dillo alla persona, invece di farle scoprire un rosso inspiegabile:
correggerlo;
- **alcuni progetti non hanno ancora tutti i segreti su SSM**: in locale
qualcosa può mancare;
- la produzione nuova non esiste ancora: in `~/.ssh/config` c'è quella vecchia.
- **le produzioni sono due** finché i siti non sono migrati tutti: in
`~/.ssh/config` ci sono `oto-production` (la macchina nuova, dietro la VPN
come staging, utente `admin.produzione`) e `oto-production-old` (quella
dove girano ancora i siti). Chi ha il ruolo di rilascio entra in tutte e
due; per gli altri sono gialle tutte e due, ed è normale.
+12 -7
View File
@@ -14,15 +14,20 @@ TOKEN_GITEA_FILE="$HOME/.config/oto/gitea.token"
CHIAVE_SSH="$HOME/.ssh/oto_ed25519"
CARTELLA_PROGETTI="${CARTELLA_PROGETTI:-$HOME/Work/workspace/oto}"
# I server, con i nomi che usano gli script dei progetti. Staging sta su rete
# privata: senza VPN non risponde. La produzione di oggi e' quella vecchia,
# oto-production-old: oto-production resta per la macchina nuova, e quando
# arriva la si aggiunge qui e si rilancia configura.sh.
# I server, con i nomi che usano gli script dei progetti. Staging e la
# produzione nuova stanno su rete privata: senza VPN non rispondono. Le
# produzioni sono due finche' i siti non sono migrati tutti: oto-production
# e' la macchina nuova (dal 05/10/2026), oto-production-old quella dove
# girano ancora i siti. Sulla nuova l'utente non e' admin.
STAGING_NOME="oto-staging"
STAGING_HOST="10.110.185.10"
PRODUZIONE_NOME="oto-production-old"
PRODUZIONE_HOST="vps-production.oto-farm.com"
UTENTE_SERVER="admin"
STAGING_UTENTE="admin"
PRODUZIONE_NOME="oto-production"
PRODUZIONE_HOST="10.110.137.20"
PRODUZIONE_UTENTE="admin.produzione"
PRODUZIONE_VECCHIA_NOME="oto-production-old"
PRODUZIONE_VECCHIA_HOST="vps-production.oto-farm.com"
PRODUZIONE_VECCHIA_UTENTE="admin"
# Un parametro che ogni ruolo di sviluppo puo' leggere: serve a verifica.sh
# per sapere se l'accesso AWS arriva davvero alla cassaforte.
+5 -3
View File
@@ -182,7 +182,9 @@ FUORI="$(awk -v i="$INIZIO" -v f="$FINE_BLOCCO" '$0 == i {dentro=1; next} $0 ==
# /c/Users/..., che l'OpenSSH di Windows (quello di VS Code) non capisce.
CHIAVE_CONFIG="~${CHIAVE_SSH#"$HOME"}"
BLOCCO="$INIZIO"
for VOCE in "$STAGING_NOME $STAGING_HOST" "$PRODUZIONE_NOME $PRODUZIONE_HOST" ; do
for VOCE in "$STAGING_NOME $STAGING_HOST $STAGING_UTENTE" \
"$PRODUZIONE_NOME $PRODUZIONE_HOST $PRODUZIONE_UTENTE" \
"$PRODUZIONE_VECCHIA_NOME $PRODUZIONE_VECCHIA_HOST $PRODUZIONE_VECCHIA_UTENTE" ; do
set -- $VOCE
if printf '%s\n' "$FUORI" | grep -qE "^Host[[:space:]]+$1([[:space:]]|\$)" ; then
attento "$1 e' gia' definito in $CONFIG: lo lascio com'e'"
@@ -191,7 +193,7 @@ for VOCE in "$STAGING_NOME $STAGING_HOST" "$PRODUZIONE_NOME $PRODUZIONE_HOST" ;
BLOCCO="$BLOCCO
Host $1
HostName $2
User $UTENTE_SERVER
User $3
IdentitiesOnly yes
IdentityFile $CHIAVE_CONFIG
"
@@ -200,7 +202,7 @@ BLOCCO="$BLOCCO$FINE_BLOCCO"
{ printf '%s\n' "$FUORI" | sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' ; echo ; printf '%s\n' "$BLOCCO" ; } > "$CONFIG.nuovo" \
&& mv "$CONFIG.nuovo" "$CONFIG" && chmod 600 "$CONFIG"
ok "ssh $STAGING_NOME e ssh $PRODUZIONE_NOME: configurati"
ok "ssh $STAGING_NOME, ssh $PRODUZIONE_NOME e ssh $PRODUZIONE_VECCHIA_NOME: configurati"
# --------------------------------------------------------------------------
titolo "Fatto"
+14 -2
View File
@@ -78,10 +78,22 @@ if porta_aperta "$STAGING_HOST" 22 ; then
else
rosso "staging non raggiungibile: la VPN e' accesa?"
fi
if ssh -o BatchMode=yes -o ConnectTimeout=8 "$PRODUZIONE_NOME" true 2> /dev/null ; then
# Le produzioni sono due finche' i siti non sono migrati tutti. La nuova sta
# dietro la stessa VPN di staging. Un tentativo solo per macchina: la nuova
# chiude le porte per un po' a chi sbaglia il login piu' volte di fila.
if porta_aperta "$PRODUZIONE_HOST" 22 ; then
if ssh -o BatchMode=yes -o ConnectTimeout=8 "$PRODUZIONE_NOME" true 2> /dev/null ; then
ok "entri in produzione ($PRODUZIONE_NOME)"
else
attento "produzione ($PRODUZIONE_NOME): non entri (normale se non hai il ruolo di rilascio, o se la tua chiave non e' ancora stata aggiunta)"
fi
else
attento "produzione: non entri (normale se non hai il ruolo di rilascio, o se la tua chiave non e' ancora stata aggiunta)"
attento "produzione ($PRODUZIONE_NOME): non raggiungibile (sta dietro la VPN, come staging)"
fi
if ssh -o BatchMode=yes -o ConnectTimeout=8 "$PRODUZIONE_VECCHIA_NOME" true 2> /dev/null ; then
ok "entri nella produzione vecchia ($PRODUZIONE_VECCHIA_NOME)"
else
attento "produzione vecchia ($PRODUZIONE_VECCHIA_NOME): non entri (normale se non hai il ruolo di rilascio, o se la tua chiave non e' ancora stata aggiunta)"
fi
titolo "Risultato"