# Source: gitea/templates/gitea/init.yaml apiVersion: v1 kind: Secret metadata: name: gitea-init labels: helm.sh/chart: gitea-9.5.0 app: gitea app.kubernetes.io/name: gitea app.kubernetes.io/instance: gitea app.kubernetes.io/version: "1.20.5" version: "1.20.5" app.kubernetes.io/managed-by: Helm type: Opaque stringData: configure_gpg_environment.sh: |- #!/usr/bin/env bash set -eu gpg --batch --import /raw/private.asc init_directory_structure.sh: |- #!/usr/bin/env bash set -euo pipefail set -x mkdir -p /data/git/.ssh chmod -R 700 /data/git/.ssh [ ! -d /data/gitea/conf ] && mkdir -p /data/gitea/conf # prepare temp directory structure mkdir -p "${GITEA_TEMP}" chmod ug+rwx "${GITEA_TEMP}" configure_gitea.sh: |- #!/usr/bin/env bash set -euo pipefail echo '==== BEGIN GITEA CONFIGURATION ====' { # try gitea migrate } || { # catch echo "Gitea migrate might fail due to database connection...This init-container will try again in a few seconds" exit 1 } function configure_admin_user() { local ACCOUNT_ID=$(gitea admin user list --admin | grep -e "\s\+${GITEA_ADMIN_USERNAME}\s\+" | awk -F " " "{printf \$1}") if [[ -z "${ACCOUNT_ID}" ]]; then echo "No admin user '${GITEA_ADMIN_USERNAME}' found. Creating now..." gitea admin user create --admin --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" --email "git-admin@local.com" --must-change-password=false echo '...created.' else echo "Admin account '${GITEA_ADMIN_USERNAME}' already exist. Running update to sync password..." gitea admin user change-password --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" echo '...password sync done.' fi } configure_admin_user function configure_ldap() { echo 'no ldap configuration... skipping.' } configure_ldap function configure_oauth() { local OAUTH_NAME='vynil' local AUTH_ID=$(gitea admin auth list --vertical-bars | grep -E "\|${OAUTH_NAME}\s+\|" | grep -iE '\|OAuth2\s+\|' | awk -F " " "{print \$1}") if [[ -z "${AUTH_ID}" ]]; then echo "No oauth configuration found with name '${OAUTH_NAME}'. Installing it now..." gitea admin auth add-oauth --auto-discover-url "${VYNIL_OAUTH_DISCOVERY}" --key "${GITEA_OAUTH_KEY_0}" --name "vynil" --provider "openidConnect" --scopes "email profile" --secret "${GITEA_OAUTH_SECRET_0}" echo '...installed.' else echo "Existing oauth configuration with name '${OAUTH_NAME}': '${AUTH_ID}'. Running update to sync settings..." gitea admin auth update-oauth --id "${AUTH_ID}" --auto-discover-url "${VYNIL_OAUTH_DISCOVERY}" --key "${GITEA_OAUTH_KEY_0}" --name "vynil" --provider "openidConnect" --scopes "email profile" --secret "${GITEA_OAUTH_SECRET_0}" echo '...sync settings done.' fi } configure_oauth echo '==== END GITEA CONFIGURATION ===='