#!/bin/bash # --- Configurazione --- REPO_NAME="crystalsrl.com" REPO_ORG="mktg" GIT_HOST="git.cod3.it" GIT_EMAIL="alberto@strazzabosco.com" GIT_USER="albertuan" GCP_PROJECT="cod3it" # Controlla se siamo nella home directory dell'utente alberto if [[ "$HOME" != "/home/alberto" || "$PWD" != "/home/alberto" ]]; then echo "ERRORE: Lo script deve essere eseguito dalla directory /home/alberto" exit 1 fi # Verifica se l'utente รจ autenticato su gcloud if [[ -z $(gcloud auth list --filter=status:ACTIVE --format="value(account)" 2>/dev/null) ]]; then echo "ERRORE: Nessun account gcloud attivo trovato. Esegui 'gcloud auth login' per continuare." exit 1 fi # Crea la directory .ssh se non esiste mkdir -p .ssh # Recupera la chiave privata echo "Recupero della chiave privata..." gcloud secrets versions access latest \ --secret="ssh-bitbucket-albertuan-private" \ --out-file=".ssh/id_rsa" \ --project "$GCP_PROJECT" # Recupera la chiave pubblica echo "Recupero della chiave pubblica..." gcloud secrets versions access latest \ --secret="ssh-bitbucket-albertuan-public" \ --out-file=".ssh/id_rsa.pub" \ --project "$GCP_PROJECT" # Imposta i permessi corretti echo "Impostazione dei permessi..." chmod 400 .ssh/id_rsa* # Aggiunge il server ai known hosts echo "Aggiunta di $GIT_HOST ai known hosts..." ssh-keyscan "$GIT_HOST" >> .ssh/known_hosts # Clona il repository echo "Clonazione del repository..." git clone "git@$GIT_HOST:$REPO_ORG/$REPO_NAME.git" # Sposta nella directory del repository echo "Spostamento nella directory del repository..." cd "$REPO_NAME" || exit 1 # Configura Git globalmente echo "Configurazione Git..." git config --global user.email "$GIT_EMAIL" git config --global user.name "$GIT_USER" echo "Operazioni completate con successo!"