Primo giorno: script che preparano il PC di chi arriva
configura.sh (token Gitea, git, chiave SSH, nomi dei server), verifica.sh (verde/rosso per ogni accesso), progetti.sh (scarica i repository visibili), e un CLAUDE.md che guida la persona senza chiederle mai un segreto in chat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Valori e funzioni condivisi dagli script di questo repository.
|
||||
# Qui non ci sono segreti: solo nomi di server e percorsi.
|
||||
|
||||
GITEA_URL="https://git.oto-farm.com"
|
||||
GITEA_HOST="git.oto-farm.com"
|
||||
AWS_REGIONE="eu-central-1"
|
||||
|
||||
# Dove stanno le cose della persona, sul suo PC. Gli script dei progetti
|
||||
# leggono da qui: non cambiarli senza cambiare anche loro.
|
||||
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 "vecchia" e' questa; quando
|
||||
# arriva la nuova si cambia qui e si rilancia configura.sh.
|
||||
STAGING_NOME="oto-staging"
|
||||
STAGING_HOST="10.110.185.10"
|
||||
PRODUZIONE_NOME="oto-produzione"
|
||||
PRODUZIONE_HOST="vps-production.oto-farm.com"
|
||||
UTENTE_SERVER="admin"
|
||||
|
||||
# Un parametro che ogni ruolo di sviluppo puo' leggere: serve a verifica.sh
|
||||
# per sapere se l'accesso AWS arriva davvero alla cassaforte.
|
||||
SSM_PROVA="/oto/_comune/MAILTRAP_SMTP_USER"
|
||||
|
||||
if [ -t 1 ] ; then
|
||||
VERDE=$'\e[32m' ; ROSSO=$'\e[31m' ; GIALLO=$'\e[33m' ; GRASSETTO=$'\e[1m' ; FINE=$'\e[0m'
|
||||
else
|
||||
VERDE="" ; ROSSO="" ; GIALLO="" ; GRASSETTO="" ; FINE=""
|
||||
fi
|
||||
|
||||
ok () { echo " ${VERDE}✔${FINE} $*" ; }
|
||||
male () { echo " ${ROSSO}✘${FINE} $*" ; }
|
||||
attento () { echo " ${GIALLO}!${FINE} $*" ; }
|
||||
titolo () { echo ; echo "${GRASSETTO}$*${FINE}" ; }
|
||||
|
||||
c_e () { command -v "$1" > /dev/null 2>&1 ; }
|
||||
|
||||
token_gitea () {
|
||||
[ -s "$TOKEN_GITEA_FILE" ] && tr -d '[:space:]' < "$TOKEN_GITEA_FILE"
|
||||
}
|
||||
|
||||
# Stampa il nome utente Gitea del token, o niente se il token non vale.
|
||||
utente_gitea () {
|
||||
local token
|
||||
token="$(token_gitea)" || return 1
|
||||
[ -n "$token" ] || return 1
|
||||
curl -s --max-time 10 -H "Authorization: token $token" "$GITEA_URL/api/v1/user" \
|
||||
| sed -n 's/.*"login":"\([^"]*\)".*/\1/p'
|
||||
}
|
||||
Reference in New Issue
Block a user