52 lines
2.0 KiB
Bash
Executable File
52 lines
2.0 KiB
Bash
Executable File
#!/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"
|