Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8d065e32c | ||
|
|
608438323f |
@@ -139,4 +139,8 @@ Dillo alla persona, invece di farle scoprire un rosso inspiegabile:
|
|||||||
correggerlo;
|
correggerlo;
|
||||||
- **alcuni progetti non hanno ancora tutti i segreti su SSM**: in locale
|
- **alcuni progetti non hanno ancora tutti i segreti su SSM**: in locale
|
||||||
qualcosa può mancare;
|
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"
|
CHIAVE_SSH="$HOME/.ssh/oto_ed25519"
|
||||||
CARTELLA_PROGETTI="${CARTELLA_PROGETTI:-$HOME/Work/workspace/oto}"
|
CARTELLA_PROGETTI="${CARTELLA_PROGETTI:-$HOME/Work/workspace/oto}"
|
||||||
|
|
||||||
# I server, con i nomi che usano gli script dei progetti. Staging sta su rete
|
# I server, con i nomi che usano gli script dei progetti. Staging e la
|
||||||
# privata: senza VPN non risponde. La produzione di oggi e' quella vecchia,
|
# produzione nuova stanno su rete privata: senza VPN non rispondono. Le
|
||||||
# oto-production-old: oto-production resta per la macchina nuova, e quando
|
# produzioni sono due finche' i siti non sono migrati tutti: oto-production
|
||||||
# arriva la si aggiunge qui e si rilancia configura.sh.
|
# 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_NOME="oto-staging"
|
||||||
STAGING_HOST="10.110.185.10"
|
STAGING_HOST="10.110.185.10"
|
||||||
PRODUZIONE_NOME="oto-production-old"
|
STAGING_UTENTE="admin"
|
||||||
PRODUZIONE_HOST="vps-production.oto-farm.com"
|
PRODUZIONE_NOME="oto-production"
|
||||||
UTENTE_SERVER="admin"
|
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
|
# Un parametro che ogni ruolo di sviluppo puo' leggere: serve a verifica.sh
|
||||||
# per sapere se l'accesso AWS arriva davvero alla cassaforte.
|
# 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.
|
# /c/Users/..., che l'OpenSSH di Windows (quello di VS Code) non capisce.
|
||||||
CHIAVE_CONFIG="~${CHIAVE_SSH#"$HOME"}"
|
CHIAVE_CONFIG="~${CHIAVE_SSH#"$HOME"}"
|
||||||
BLOCCO="$INIZIO"
|
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
|
set -- $VOCE
|
||||||
if printf '%s\n' "$FUORI" | grep -qE "^Host[[:space:]]+$1([[:space:]]|\$)" ; then
|
if printf '%s\n' "$FUORI" | grep -qE "^Host[[:space:]]+$1([[:space:]]|\$)" ; then
|
||||||
attento "$1 e' gia' definito in $CONFIG: lo lascio com'e'"
|
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
|
BLOCCO="$BLOCCO
|
||||||
Host $1
|
Host $1
|
||||||
HostName $2
|
HostName $2
|
||||||
User $UTENTE_SERVER
|
User $3
|
||||||
IdentitiesOnly yes
|
IdentitiesOnly yes
|
||||||
IdentityFile $CHIAVE_CONFIG
|
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" \
|
{ 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"
|
&& 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"
|
titolo "Fatto"
|
||||||
|
|||||||
+13
-1
@@ -78,10 +78,22 @@ if porta_aperta "$STAGING_HOST" 22 ; then
|
|||||||
else
|
else
|
||||||
rosso "staging non raggiungibile: la VPN e' accesa?"
|
rosso "staging non raggiungibile: la VPN e' accesa?"
|
||||||
fi
|
fi
|
||||||
|
# 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
|
if ssh -o BatchMode=yes -o ConnectTimeout=8 "$PRODUZIONE_NOME" true 2> /dev/null ; then
|
||||||
ok "entri in produzione ($PRODUZIONE_NOME)"
|
ok "entri in produzione ($PRODUZIONE_NOME)"
|
||||||
else
|
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 entri (normale se non hai il ruolo di rilascio, o se la tua chiave non e' ancora stata aggiunta)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
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
|
fi
|
||||||
|
|
||||||
titolo "Risultato"
|
titolo "Risultato"
|
||||||
|
|||||||
Reference in New Issue
Block a user