From c4fd76539ee87bd5ac20d5296437abb9758d60b2 Mon Sep 17 00:00:00 2001 From: Fabio Date: Wed, 7 Oct 2026 12:58:52 +0200 Subject: [PATCH] onboard: ogni domanda dice dove si trova o si crea la risposta Regola nuova nel CLAUDE.md e tabella "cosa le chiedi e dove lo trova". configura.sh dice da dove vengono utente e password Gitea, l'email e i passi della console per la chiave AWS (AWS_CONSOLE in comune.sh); verifica.sh rimanda a configura.sh invece che ad aws configure. Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 42 +++++++++++++++++++++++++++++++++--------- comune.sh | 1 + configura.sh | 22 ++++++++++++++++------ verifica.sh | 2 +- 4 files changed, 51 insertions(+), 16 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index f620999..09eb93b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -29,6 +29,29 @@ La spiegazione per le persone sta in Lo dici e prosegui. 5. **Non copiare file da altri PC** e non proporlo: se a un progetto manca un segreto, va messo su AWS SSM da un amministratore. +6. **Ogni volta che le chiedi qualcosa, le dici dove lo trova o dove lo + crea.** Non "inserisci la chiave AWS", ma "la crei nella console AWS: il + tuo nome in alto a destra → Security credentials → …". Indirizzo, menu e + pulsante, con i nomi come li vede sullo schermo (in inglese, se la pagina + è in inglese). Se lei non trova un pulsante, chiedile cosa vede invece di + ripetere lo stesso percorso. Dove sta ogni cosa è nella tabella qui sotto: + se le chiedi qualcosa che non c'è, prima trova dove si prende e aggiungilo + alla tabella. + +## Cosa le chiedi e dove lo trova + +| Cosa | Dove lo trova o lo crea | +|---|---| +| Indirizzo, utente e password provvisoria di AWS e di Gitea | nel **messaggio di benvenuto** che le ha mandato chi amministra. Se non ce l'ha, lo chiede a lui: tu non puoi recuperarlo | +| Password nuova di AWS | la sceglie lei: AWS la chiede subito dopo il primo login, nella pagina che si apre da sola | +| Codice dal telefono (MFA) di AWS | console AWS → il suo nome in alto a destra → *Security credentials* → riquadro *Multi-factor authentication (MFA)* → *Assign MFA device* → *Authenticator app*. Serve un'app di autenticazione sul telefono (Google Authenticator, Microsoft Authenticator o simili): se non ce l'ha, prima la installa dallo store | +| Chiave di accesso AWS (*Access key ID* e *Secret access key*) | console AWS → il suo nome in alto a destra → *Security credentials* → riquadro *Access keys* → *Create access key* → *Command Line Interface (CLI)* → spunta la conferma → *Next* → *Create access key*. I due pezzi sono nella pagina *Retrieve access keys*; la Secret si vede con *Show*, una volta sola. Se l'ha chiusa: cancella quella chiave dallo stesso riquadro e ne crea un'altra | +| Password nuova di Gitea | la sceglie lei: `https://git.oto-farm.com` → *Sign in* in alto a destra → utente e password provvisoria; Gitea chiede subito quella nuova | +| Utente Gitea | è quello del messaggio di benvenuto (`nome.cognome`); su Gitea lo vede in alto a destra, cliccando l'icona del profilo | +| Email di lavoro | il suo indirizzo `@oto.agency` | +| File della VPN | lo manda chi amministra, che lo riceve dal fornitore. Il programma da installare dipende dal file: `.ovpn` → OpenVPN Connect, `.conf` → WireGuard. Se il file non le è arrivato, lo chiede a chi amministra | +| Password del Mac (per Homebrew) | è quella con cui accende il Mac | +| Accesso a un progetto che non vede su Gitea | lo dà chi amministra: dille il nome del progetto da chiedere | ## Dove sei @@ -75,13 +98,14 @@ token, push), spiegala in una riga la prima volta. ~/Work/workspace/oto/_OTO_IT_onboard` (è pubblico, non ha segreti) e da lì continui. 3. **I login nel browser**, li fa lei: - - **AWS** (indirizzo e password provvisoria nel messaggio dell'amministratore): - scegliere la password nuova, attivare l'MFA (*il suo nome in alto a destra - → Security credentials → Assign MFA device*, con un'app sul telefono), poi - nella stessa pagina *Create access key*, uso *Command Line Interface*. - **Lasciare aperta la pagina**: la chiave segreta si vede una volta sola. - - **Gitea** (`https://git.oto-farm.com`): entrare con la password provvisoria - e sceglierne una nuova. Nient'altro: il token lo crea lo script. + - **AWS**: entrare dall'indirizzo del messaggio di benvenuto (*IAM user*, + utente e password provvisoria), scegliere la password nuova, attivare + l'MFA e creare la chiave di accesso. I percorsi esatti sono nella tabella + qui sopra: dàglieli un passo alla volta. **Lasciare aperta la pagina + della chiave**: la parte segreta si vede una volta sola. + - **Gitea** (`https://git.oto-farm.com`, *Sign in* in alto a destra): + entrare con la password provvisoria e sceglierne una nuova. Nient'altro: + il token lo crea lo script. 4. **`./configura.sh`**, nel terminale della persona. Chiede utente e password di Gitea e poi i due pezzi della chiave AWS; crea l'accesso a Gitea, configura git, genera la chiave SSH e la carica sul suo profilo @@ -93,8 +117,8 @@ token, push), spiegala in una riga la prima volta. l'amministratore, perché quella chiave va disattivata. Una chiave altrui non va mai tenuta "intanto che funziona": tutto quello che la persona fa su AWS risulterebbe fatto dall'altro. -5. **VPN** (solo chi sviluppa): installare il client e importare il file - arrivato dal fornitore. +5. **VPN** (solo chi sviluppa): installare il programma giusto per il file + (vedi tabella) e aprirci dentro il file che le ha mandato chi amministra. 6. **Dirlo all'amministratore**: «ho finito la configurazione». È il segnale per mettere la sua chiave SSH sui server; finché non lo fa, staging resta rosso. diff --git a/comune.sh b/comune.sh index 61a8c78..a71cef0 100755 --- a/comune.sh +++ b/comune.sh @@ -6,6 +6,7 @@ GITEA_URL="https://git.oto-farm.com" GITEA_HOST="git.oto-farm.com" AWS_REGIONE="eu-central-1" +AWS_CONSOLE="https://170187898933.signin.aws.amazon.com/console" # Dove stanno le cose della persona, sul suo PC. Gli script dei progetti # leggono da qui: non cambiarli senza cambiare anche loro. diff --git a/configura.sh b/configura.sh index 98468e8..de33b69 100755 --- a/configura.sh +++ b/configura.sh @@ -23,9 +23,12 @@ UTENTE="$(utente_gitea)" if [ -n "$UTENTE" ] ; then ok "token Gitea gia' salvato (utente $UTENTE)" else - echo " Se non l'hai ancora fatto, entra su $GITEA_URL e cambia la password provvisoria." - read -r -p " Il tuo utente Gitea (nome.cognome): " UTENTE_DATO - read -r -s -p " La tua password Gitea (non si vede, ed e' normale): " PASSWORD ; echo + echo " Utente e password provvisoria di Gitea sono nel messaggio di benvenuto" + echo " di chi amministra. Se non l'hai ancora fatto, entra su $GITEA_URL" + echo " (Sign in, in alto a destra) e cambia la password provvisoria: qui serve" + echo " quella nuova, e Gitea rifiuta la provvisoria." + read -r -p " Il tuo utente Gitea (nome.cognome, come nel messaggio di benvenuto): " UTENTE_DATO + read -r -s -p " La tua password Gitea nuova (non si vede, ed e' normale): " PASSWORD ; echo # utente:password passano a curl da stdin, non dalla riga di comando # (che chiunque sul PC vede con ps). Virgolette e \ vanno protette. PASSWORD_CURL="$(printf '%s:%s' "$UTENTE_DATO" "$PASSWORD" | sed 's/[\\"]/\\&/g')" @@ -59,7 +62,7 @@ fi if [ -n "$UTENTE" ] ; then [ -n "$(git config --global user.name)" ] || git config --global user.name "$UTENTE" if [ -z "$(git config --global user.email)" ] ; then - read -r -p " La tua email di lavoro (per i commit): " EMAIL + read -r -p " La tua email di lavoro, quella @oto.agency (firma le tue modifiche al codice): " EMAIL [ -n "$EMAIL" ] && git config --global user.email "$EMAIL" fi [ -n "$(git config --global credential.helper)" ] || git config --global credential.helper store @@ -82,8 +85,15 @@ titolo "2. AWS" # rimasta da chi lo usava prima, o copiata da un collega, e allora tutto # quello che la persona fa su AWS risulterebbe fatto da un altro. chiedi_chiave_aws () { - echo " Serve la tua chiave di accesso AWS, due pezzi. La crei nella console AWS:" - echo " il tuo nome in alto a destra → Security credentials → Create access key (uso: CLI)." + echo " Serve la tua chiave di accesso AWS, due pezzi. La crei tu, nella console AWS:" + echo " 1. entra su $AWS_CONSOLE (IAM user, utente e password" + echo " del messaggio di benvenuto);" + echo " 2. il tuo nome in alto a destra → Security credentials;" + echo " 3. riquadro Access keys → Create access key → Command Line Interface (CLI)," + echo " spunta la conferma → Next → Create access key." + echo " I due pezzi sono nella pagina che si apre (Retrieve access keys): la Secret" + echo " si vede cliccando Show, e una volta sola. Se hai chiuso quella pagina," + echo " cancella la chiave dallo stesso riquadro e creane un'altra." echo " Non si vede mentre la incolli, ed e' normale." read -r -s -p " Access key ID (inizia con AKIA): " CHIAVE_ID ; echo read -r -s -p " Secret access key: " CHIAVE_SEGRETA ; echo diff --git a/verifica.sh b/verifica.sh index 2d43b03..8670e59 100755 --- a/verifica.sh +++ b/verifica.sh @@ -40,7 +40,7 @@ if c_e aws && IDENTITA="$(aws sts get-caller-identity --query Arn --output text rosso "non legge SSM: all'amministratore serve darti il ruolo di sviluppo" fi else - rosso "AWS non configurato: aws configure (regione $AWS_REGIONE)" + rosso "AWS non configurato: rilancia ./configura.sh, che ti dice dove crearti la chiave nella console ($AWS_CONSOLE)" fi titolo "Gitea"