Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6365654278 | ||
|
|
5a2cd26f52 |
@@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
Chi ti parla è una persona **nuova in OTO**, spesso non tecnica, al primo
|
Chi ti parla è una persona **nuova in OTO**, spesso non tecnica, al primo
|
||||||
giorno. Ti ha scritto qualcosa come «prepara il mio PC per OTO» e ha in mano
|
giorno. Ti ha scritto qualcosa come «prepara il mio PC per OTO» e ha in mano
|
||||||
solo il messaggio di benvenuto che l'amministratore le ha condiviso su
|
la mail *I tuoi accessi OTO* che le ha mandato chi amministra (link,
|
||||||
LastPass: password e chiave AWS. **Il lavoro
|
utenti, password, la frase per te) e, su LastPass, la chiave AWS e, se
|
||||||
|
sviluppa, la VPN. **Il lavoro
|
||||||
lo fai tu**: installi i programmi, lanci i controlli, le dici cosa cliccare.
|
lo fai tu**: installi i programmi, lanci i controlli, le dici cosa cliccare.
|
||||||
Lei fa solo quello che tu non puoi fare: i login nel browser, e scrivere i
|
Lei fa solo quello che tu non puoi fare: i login nel browser, e scrivere i
|
||||||
propri segreti nel terminale. Parla semplice, un passo alla volta, e controlla
|
propri segreti nel terminale. Parla semplice, un passo alla volta, e controlla
|
||||||
@@ -43,12 +44,12 @@ La spiegazione per le persone sta in
|
|||||||
|
|
||||||
| Cosa | Dove lo trova o lo crea |
|
| Cosa | Dove lo trova o lo crea |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Indirizzo, utente e password di AWS e di Gitea | nel **messaggio di benvenuto**: una nota che chi amministra le ha condiviso su **LastPass**. Se non ce l'ha, lo chiede a lui: tu non puoi recuperarlo |
|
| Indirizzo, utente e password di AWS e di Gitea | nella **mail *I tuoi accessi OTO*** che le ha mandato chi amministra: righe già pronte da copiare. Se non ce l'ha, risponde a quella mail o lo chiede a lui: tu non puoi recuperarlo |
|
||||||
| 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 |
|
| 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*) | nel **messaggio di benvenuto** su LastPass: la crea chi amministra insieme all'utente. Solo se lì non c'è (è arrivata prima, o la chiave è stata cancellata), la crea lei: 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 |
|
| Chiave di accesso AWS (*Access key ID* e *Secret access key*) | in una **nota LastPass** condivisa da chi amministra (non nella mail, apposta): la crea chi amministra insieme all'utente. Solo se lì non c'è (è arrivata prima, o la chiave è stata cancellata), la crea lei: 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 |
|
||||||
| Utente Gitea | è quello del messaggio di benvenuto (`nome.cognome`); su Gitea lo vede in alto a destra, cliccando l'icona del profilo |
|
| Utente Gitea | è nella mail (`nome.cognome`); su Gitea lo vede in alto a destra, cliccando l'icona del profilo |
|
||||||
| Email di lavoro | il suo indirizzo `@oto.agency` |
|
| 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 |
|
| File e credenziali della VPN | in una **nota LastPass** condivisa da chi amministra: il file `.ovpn` è allegato alla nota (*Attachments* → si scarica, finisce in *Download*), utente e password della VPN sono scritti nella nota. Il programma è **OpenVPN Connect**, lo installi tu. Se la nota non c'è, lo chiede a chi amministra |
|
||||||
| Password del Mac (per Homebrew) | è quella con cui accende il Mac |
|
| 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 |
|
| Accesso a un progetto che non vede su Gitea | lo dà chi amministra: dille il nome del progetto da chiedere |
|
||||||
|
|
||||||
@@ -82,32 +83,34 @@ token, push), spiegala in una riga la prima volta.
|
|||||||
1. **Programmi.** Servono git, la AWS CLI, Docker, curl e ssh. Installa
|
1. **Programmi.** Servono git, la AWS CLI, Docker, curl e ssh. Installa
|
||||||
quello che manca:
|
quello che manca:
|
||||||
- **Windows**: `winget install -e --id Git.Git`, `Amazon.AWSCLI`,
|
- **Windows**: `winget install -e --id Git.Git`, `Amazon.AWSCLI`,
|
||||||
`Docker.DockerDesktop`. Docker vuole WSL2: `wsl --install`, poi un
|
`Docker.DockerDesktop` e, per chi sviluppa,
|
||||||
|
`OpenVPNTechnologies.OpenVPNConnect`. Docker vuole WSL2: `wsl --install`, poi un
|
||||||
riavvio. Windows chiederà conferma (finestra *Sì/No*): avvisa prima che
|
riavvio. Windows chiederà conferma (finestra *Sì/No*): avvisa prima che
|
||||||
arriva e che va cliccato *Sì*. Dopo un'installazione il `PATH` nuovo lo
|
arriva e che va cliccato *Sì*. Dopo un'installazione il `PATH` nuovo lo
|
||||||
vede solo un terminale nuovo.
|
vede solo un terminale nuovo.
|
||||||
- **Mac**: prima Homebrew. Il suo installatore chiede la password del Mac,
|
- **Mac**: prima Homebrew. Il suo installatore chiede la password del Mac,
|
||||||
quindi quel comando lo lancia la persona nel Terminale:
|
quindi quel comando lo lancia la persona nel Terminale:
|
||||||
`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`.
|
`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`.
|
||||||
Poi tu: `brew install git awscli` e `brew install --cask docker`.
|
Poi tu: `brew install git awscli` e `brew install --cask docker`
|
||||||
|
(per chi sviluppa anche `brew install --cask openvpn-connect`).
|
||||||
- Docker Desktop va **aperto una volta** a mano e le condizioni accettate:
|
- Docker Desktop va **aperto una volta** a mano e le condizioni accettate:
|
||||||
finché non lo si fa, `docker info` non risponde.
|
finché non lo si fa, `docker info` non risponde.
|
||||||
2. **Questo repository sul PC**, se ci stai parlando da un link e non da
|
2. **Questo repository sul PC**, se ci stai parlando da un link e non da
|
||||||
dentro la cartella: `git clone https://git.oto-farm.com/admin/_OTO_IT_onboard.git
|
dentro la cartella: `git clone https://git.oto-farm.com/admin/_OTO_IT_onboard.git
|
||||||
~/Work/workspace/oto/_OTO_IT_onboard` (è pubblico, non ha segreti) e da lì
|
~/Work/workspace/oto/_OTO_IT_onboard` (è pubblico, non ha segreti) e da lì
|
||||||
continui.
|
continui.
|
||||||
3. **Il login su AWS nel browser**, lo fa lei. Le password del messaggio di
|
3. **Il login su AWS nel browser**, lo fa lei. Le password della mail di
|
||||||
benvenuto sono già le definitive (dal 07/10/2026): né AWS né Gitea
|
benvenuto sono già le definitive (dal 07/10/2026): né AWS né Gitea
|
||||||
chiedono di cambiarle, e su Gitea dal browser non c'è niente da fare.
|
chiedono di cambiarle, e su Gitea dal browser non c'è niente da fare.
|
||||||
- **AWS**: entrare dall'indirizzo del messaggio di benvenuto (*IAM user*,
|
- **AWS**: entrare dall'indirizzo della mail di benvenuto (*IAM user*,
|
||||||
utente e password) e attivare
|
utente e password) e attivare
|
||||||
l'MFA. I percorsi esatti sono nella tabella qui sopra: dàglieli un passo
|
l'MFA. I percorsi esatti sono nella tabella qui sopra: dàglieli un passo
|
||||||
alla volta. La chiave di accesso **non** la crea: è già nel messaggio di
|
alla volta. La chiave di accesso **non** la crea: è già nella nota
|
||||||
benvenuto. Se lì non c'è, la crea adesso, e lascia aperta la pagina: la
|
LastPass. Se lì non c'è, la crea adesso, e lascia aperta la pagina: la
|
||||||
parte segreta si vede una volta sola.
|
parte segreta si vede una volta sola.
|
||||||
4. **`./configura.sh`**, nel terminale della persona. Chiede utente e
|
4. **`./configura.sh`**, nel terminale della persona. Chiede utente e
|
||||||
password di Gitea e poi i due pezzi della chiave AWS, che lei copia dal
|
password di Gitea e poi i due pezzi della chiave AWS, che lei copia dal
|
||||||
messaggio di benvenuto su LastPass; crea l'accesso a
|
la nota LastPass; crea l'accesso a
|
||||||
Gitea, configura git, genera la chiave SSH e la carica sul suo profilo
|
Gitea, configura git, genera la chiave SSH e la carica sul suo profilo
|
||||||
Gitea (da lì la prende l'amministratore: **non va mandata a nessuno**),
|
Gitea (da lì la prende l'amministratore: **non va mandata a nessuno**),
|
||||||
scrive i nomi dei server in `~/.ssh/config`. Gitea viene prima apposta: è lui a dire chi è la persona. Se sul PC
|
scrive i nomi dei server in `~/.ssh/config`. Gitea viene prima apposta: è lui a dire chi è la persona. Se sul PC
|
||||||
@@ -116,9 +119,14 @@ token, push), spiegala in una riga la prima volta.
|
|||||||
l'amministratore, perché quella chiave va disattivata. Una chiave altrui
|
l'amministratore, perché quella chiave va disattivata. Una chiave altrui
|
||||||
non va mai tenuta "intanto che funziona": tutto quello che la persona fa
|
non va mai tenuta "intanto che funziona": tutto quello che la persona fa
|
||||||
su AWS risulterebbe fatto dall'altro.
|
su AWS risulterebbe fatto dall'altro.
|
||||||
5. **VPN** (solo chi sviluppa): installare il programma giusto per il file
|
5. **VPN** (solo chi sviluppa). OpenVPN Connect l'hai già installato tu; lei,
|
||||||
(vedi tabella) e aprirci dentro il file che le ha mandato chi amministra.
|
un passo alla volta: apre la nota VPN su LastPass e scarica il file
|
||||||
6. **Dirlo all'amministratore**: «ho finito la configurazione». È il segnale
|
`.ovpn` allegato; apre OpenVPN Connect → *Upload File* (o *Import
|
||||||
|
Profile* → *File*) → *Browse* → il file in *Download*; scrive utente e
|
||||||
|
password della VPN dalla stessa nota, spunta *Save password*, *Connect*.
|
||||||
|
È accesa quando l'interruttore diventa verde (*Connected*).
|
||||||
|
6. **Dirlo all'amministratore**: risponde alla mail *I tuoi accessi OTO*
|
||||||
|
scrivendo «ho finito la configurazione». È il segnale
|
||||||
per mettere la sua chiave SSH sui server; finché non lo fa, staging resta
|
per mettere la sua chiave SSH sui server; finché non lo fa, staging resta
|
||||||
rosso.
|
rosso.
|
||||||
7. **`./verifica.sh`**: tutto verde, o un elenco preciso di cosa manca e a chi
|
7. **`./verifica.sh`**: tutto verde, o un elenco preciso di cosa manca e a chi
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ scaricano i progetti stessi da AWS, con il tuo accesso personale.
|
|||||||
|
|
||||||
Il resto lo fa Claude: installa i programmi e ti dice cosa cliccare. Tu fai i
|
Il resto lo fa Claude: installa i programmi e ti dice cosa cliccare. Tu fai i
|
||||||
login nel browser e scrivi le tue chiavi nel terminale quando te lo chiede.
|
login nel browser e scrivi le tue chiavi nel terminale quando te lo chiede.
|
||||||
Password e chiave AWS sono nel messaggio di benvenuto, la nota
|
Utenti e password sono nella mail *I tuoi accessi OTO* che ti ha mandato chi
|
||||||
che chi amministra ti ha condiviso su LastPass.
|
amministra; la chiave AWS e la VPN in una nota LastPass condivisa con te.
|
||||||
|
|
||||||
## Una regola
|
## Una regola
|
||||||
|
|
||||||
|
|||||||
+9
-9
@@ -18,16 +18,16 @@ titolo "1. Gitea"
|
|||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# Alla persona si chiede la password, non un token: il token lo crea lo
|
# Alla persona si chiede la password, non un token: il token lo crea lo
|
||||||
# script con l'API di Gitea, cosi' non c'e' da cercarlo fra le impostazioni.
|
# script con l'API di Gitea, cosi' non c'e' da cercarlo fra le impostazioni.
|
||||||
# La password e' quella del messaggio di benvenuto: dal 07/10/2026 Gitea non
|
# La password e' quella della mail di benvenuto: dal 07/10/2026 Gitea non
|
||||||
# obbliga piu' a cambiarla. Chi e' stato creato prima invece deve ancora
|
# obbliga piu' a cambiarla. Chi e' stato creato prima invece deve ancora
|
||||||
# cambiarla nel browser, e Gitea gli risponde 403: lo si dice sotto.
|
# cambiarla nel browser, e Gitea gli risponde 403: lo si dice sotto.
|
||||||
UTENTE="$(utente_gitea)"
|
UTENTE="$(utente_gitea)"
|
||||||
if [ -n "$UTENTE" ] ; then
|
if [ -n "$UTENTE" ] ; then
|
||||||
ok "token Gitea gia' salvato (utente $UTENTE)"
|
ok "token Gitea gia' salvato (utente $UTENTE)"
|
||||||
else
|
else
|
||||||
echo " Utente e password di Gitea sono nel messaggio di benvenuto, la nota"
|
echo " Utente e password di Gitea sono nella mail \"I tuoi accessi OTO\" che ti ha"
|
||||||
echo " LastPass che ti ha condiviso chi amministra."
|
echo " mandato chi amministra: copiali da li'."
|
||||||
read -r -p " Il tuo utente Gitea (nome.cognome, come nel messaggio di benvenuto): " UTENTE_DATO
|
read -r -p " Il tuo utente Gitea (dalla mail, riga utente Gitea): " UTENTE_DATO
|
||||||
read -r -s -p " La tua password Gitea, dalla nota LastPass (non si vede, ed e' normale): " PASSWORD ; echo
|
read -r -s -p " La tua password Gitea, dalla nota LastPass (non si vede, ed e' normale): " PASSWORD ; echo
|
||||||
# utente:password passano a curl da stdin, non dalla riga di comando
|
# utente:password passano a curl da stdin, non dalla riga di comando
|
||||||
# (che chiunque sul PC vede con ps). Virgolette e \ vanno protette.
|
# (che chiunque sul PC vede con ps). Virgolette e \ vanno protette.
|
||||||
@@ -77,7 +77,7 @@ fi
|
|||||||
titolo "2. AWS"
|
titolo "2. AWS"
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# La chiave di accesso la crea chi amministra insieme all'utente, e la
|
# La chiave di accesso la crea chi amministra insieme all'utente, e la
|
||||||
# persona la trova nel messaggio di benvenuto su LastPass: qui la si incolla
|
# persona la trova nella nota LastPass della chiave AWS: qui la si incolla
|
||||||
# una volta e finisce in ~/.aws/credentials, dove la leggono la AWS CLI e gli
|
# una volta e finisce in ~/.aws/credentials, dove la leggono la AWS CLI e gli
|
||||||
# script dei progetti. Se non ce l'ha (e' arrivata prima, o l'ha persa), se
|
# script dei progetti. Se non ce l'ha (e' arrivata prima, o l'ha persa), se
|
||||||
# ne crea una dalla console: la strada e' scritta qui sotto.
|
# ne crea una dalla console: la strada e' scritta qui sotto.
|
||||||
@@ -88,10 +88,10 @@ titolo "2. AWS"
|
|||||||
# quello che la persona fa su AWS risulterebbe fatto da un altro.
|
# quello che la persona fa su AWS risulterebbe fatto da un altro.
|
||||||
chiedi_chiave_aws () {
|
chiedi_chiave_aws () {
|
||||||
echo " Serve la tua chiave di accesso AWS, due pezzi: Access key ID e Secret access key."
|
echo " Serve la tua chiave di accesso AWS, due pezzi: Access key ID e Secret access key."
|
||||||
echo " Li trovi nel messaggio di benvenuto, nella nota LastPass che ti ha condiviso"
|
echo " Non sono nella mail: li trovi nella nota LastPass che ti ha condiviso"
|
||||||
echo " chi amministra. Se li' non c'e', la crei tu nella console AWS:"
|
echo " chi amministra. Se li' non c'e', la crei tu nella console AWS:"
|
||||||
echo " 1. entra su $AWS_CONSOLE (IAM user, utente e password"
|
echo " 1. entra su $AWS_CONSOLE (IAM user, utente e password"
|
||||||
echo " del messaggio di benvenuto);"
|
echo " della mail di benvenuto);"
|
||||||
echo " 2. il tuo nome in alto a destra → Security credentials;"
|
echo " 2. il tuo nome in alto a destra → Security credentials;"
|
||||||
echo " 3. riquadro Access keys → Create access key → Command Line Interface (CLI),"
|
echo " 3. riquadro Access keys → Create access key → Command Line Interface (CLI),"
|
||||||
echo " spunta la conferma → Next → Create access key."
|
echo " spunta la conferma → Next → Create access key."
|
||||||
@@ -113,7 +113,7 @@ chiedi_chiave_aws () {
|
|||||||
if ! IDENTITA="$(aws sts get-caller-identity --query Arn --output text 2> /dev/null)" ; then
|
if ! IDENTITA="$(aws sts get-caller-identity --query Arn --output text 2> /dev/null)" ; then
|
||||||
male "AWS non accetta questa chiave: controlla di aver copiato i due pezzi interi, senza scambiarli, e rilancia."
|
male "AWS non accetta questa chiave: controlla di aver copiato i due pezzi interi, senza scambiarli, e rilancia."
|
||||||
elif [ -n "$UTENTE" ] && [ "${IDENTITA##*/}" != "$UTENTE" ] ; then
|
elif [ -n "$UTENTE" ] && [ "${IDENTITA##*/}" != "$UTENTE" ] ; then
|
||||||
male "questa chiave e' di ${IDENTITA##*/}, non tua ($UTENTE): usa quella del tuo messaggio di benvenuto, e rilancia."
|
male "questa chiave e' di ${IDENTITA##*/}, non tua ($UTENTE): usa quella della tua nota LastPass, e rilancia."
|
||||||
else
|
else
|
||||||
ok "accesso AWS: ${IDENTITA##*/}"
|
ok "accesso AWS: ${IDENTITA##*/}"
|
||||||
fi
|
fi
|
||||||
@@ -211,4 +211,4 @@ ok "ssh $STAGING_NOME, ssh $PRODUZIONE_NOME e ssh $PRODUZIONE_VECCHIA_NOME: conf
|
|||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
titolo "Fatto"
|
titolo "Fatto"
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
echo " Ora: importa il file della VPN, poi lancia ./verifica.sh"
|
echo " Ora: accendi la VPN (file e credenziali nella nota LastPass), poi torna da Claude."
|
||||||
|
|||||||
Reference in New Issue
Block a user