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:
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user