#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" CONFIG_FILE="$PROJECT_DIR/config/cluster-vars.yml" echo "=== 初始化Gitea配置 ===" # 读取配置 GITEA_ADMIN_USER=$(yq eval '.gitea_admin_user' "$CONFIG_FILE") GITEA_ADMIN_PASSWORD=$(yq eval '.gitea_admin_password' "$CONFIG_FILE") GITEA_ORG_NAME=$(yq eval '.gitea_org_name' "$CONFIG_FILE") GITEA_REPO_NAME=$(yq eval '.gitea_repo_name' "$CONFIG_FILE") GITEA_USER_NAME=$(yq eval '.gitea_user_name' "$CONFIG_FILE") GITEA_USER_PASSWORD=$(yq eval '.gitea_user_password' "$CONFIG_FILE") GITEA_USER_EMAIL=$(yq eval '.gitea_user_email' "$CONFIG_FILE") # 获取Gitea服务地址 GITEA_POD=$(kubectl get pod -n gitea -l app.kubernetes.io/name=gitea -o jsonpath='{.items[0].metadata.name}') GITEA_URL="http://gitea-http.gitea.svc.cluster.local:3000" echo "📝 创建用户: $GITEA_USER_NAME" kubectl exec -n gitea "$GITEA_POD" -- su git -c "gitea admin user create \ --username '$GITEA_USER_NAME' \ --password '$GITEA_USER_PASSWORD' \ --email '$GITEA_USER_EMAIL' \ --must-change-password=false" || echo "用户可能已存在" echo "📝 创建组织: $GITEA_ORG_NAME" kubectl exec -n gitea "$GITEA_POD" -- su git -c "gitea admin org create \ --username '$GITEA_ADMIN_USER' \ --name '$GITEA_ORG_NAME'" || echo "组织可能已存在" echo "📦 创建仓库: $GITEA_REPO_NAME" kubectl exec -n gitea "$GITEA_POD" -- su git -c "gitea admin repo create \ --owner '$GITEA_ORG_NAME' \ --name '$GITEA_REPO_NAME' \ --private=false" || echo "仓库可能已存在" echo "👥 添加用户到组织" # 使用Gitea API添加用户到组织 kubectl exec -n gitea "$GITEA_POD" -- su git -c "curl -X PUT \ -H 'Content-Type: application/json' \ -u '$GITEA_ADMIN_USER:$GITEA_ADMIN_PASSWORD' \ '$GITEA_URL/api/v1/orgs/$GITEA_ORG_NAME/members/$GITEA_USER_NAME'" || true echo "✅ Gitea初始化完成!" echo "📊 仓库地址: $GITEA_URL/$GITEA_ORG_NAME/$GITEA_REPO_NAME.git" echo "👤 ArgoCD用户: $GITEA_USER_NAME" echo "🔑 ArgoCD密码: $GITEA_USER_PASSWORD"