#!/bin/bash # Script pour générer un token Gitea via API REST et configurer Hermes # Usage: ./get_gitea_token_rest.sh set -e echo "🔑 Génération d'un token Gitea via API REST..." # Demander les informations nécessaires read -p "Nom d'utilisateur Gitea (arcodange) : " GITEA_USER GITEA_USER=${GITEA_USER:-arcodange} read -s -p "Mot de passe Gitea : " GITEA_PASSWORD echo "" read -p "Nom du token (hermes-access) : " TOKEN_NAME TOKEN_NAME=${TOKEN_NAME:-hermes-access} read -p "Portées (write:repository,write:user) : " SCOPES SCOPES=${SCOPES:-write:repository,write:user} # Appeler l'API Gitea pour créer un token echo "📡 Appel à l'API Gitea..." RESPONSE=$(curl -s -X POST \ "https://gitea.arcodange.lab/api/v1/users/${GITEA_USER}/tokens" \ -H "Content-Type: application/json" \ -u "${GITEA_USER}:${GITEA_PASSWORD}" \ -d "{\"name\":\"${TOKEN_NAME}\",\"scopes\":[\"${SCOPES//,/\",\"}\"]}") # Extraire le token de la réponse TOKEN=$(echo "$RESPONSE" | jq -r '.sha1' 2>/dev/null) if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then echo "❌ Échec de la création du token" echo "Réponse de l'API :" echo "$RESPONSE" | jq . exit 1 fi echo "✅ Token généré avec succès !" echo "Token: $TOKEN" # Configurer Hermes echo "🛠 Configuration de Hermes..." hermes config set gitea.token "$TOKEN" hermes config set gitea.base_url "https://gitea.arcodange.lab" hermes config set gitea.username "$GITEA_USER" echo "✨ Configuration terminée !" echo "Token stocké dans la configuration Hermes." echo "" echo "Pour vérifier la configuration :" echo " hermes config get gitea"