#!/bin/bash CHART_VERSION=6.0.5 NAMESPACE=gitea VAULT_AUTH_NAMESPACE="k8s-teapot" helm repo add gitea-charts https://dl.gitea.io/charts/ helm repo update kubectl create ns gitea kubectl create serviceaccount -n ${NAMESPACE} gitea kubectl apply -n ${NAMESPACE} -f external-secrets.yaml cat << EOH > gitea.hcl path "kv/data/git" { capabilities = ["read"] } EOH vault policy write gitea gitea.hcl rm gitea.hcl HOST_IP=$(ip addr show eth0 | grep -Po 'inet \K[\d.]+') TOKEN="$(kubectl get secret serviceaccounttoken -n gitea -o go-template='{{ .data.token }}' | base64 -d)" vault write auth/${VAULT_AUTH_NAMESPACE}/role/gitea \ bound_service_account_names=gitea \ bound_service_account_namespaces=gitea \ policies=gitea \ ttl=24h vault write auth/${VAULT_AUTH_NAMESPACE}/login role=gitea jwt=${TOKEN} iss=https://${HOST_IP}:6443 helm upgrade --install \ gitea \ gitea-charts/gitea \ -f values.yaml \ -n ${NAMESPACE} \ --version ${CHART_VERSION} \ --cleanup-on-fail