Files
_OTO_IT_onboard/comune.sh
T
FabioandClaude Opus 5.5 5b028688ba 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>
2026-09-29 17:17:15 +02:00

54 lines
1.8 KiB
Bash
Executable File

#!/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'
}