Files
k3s_auto_deploy/scripts/setup-gitea.sh

52 lines
2.0 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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"