Wire Forgejo SMTP password from OpenBao via External Secrets
Add forgejo-mailer ExternalSecret, inject GITEA__mailer__PASSWD from the synced Secret, remove mailer from SOPS overlay, and add ESO bootstrap targets.
This commit is contained in:
parent
24c8882b69
commit
d5bb4f66f2
7 changed files with 141 additions and 35 deletions
42
Makefile
42
Makefile
|
|
@ -48,6 +48,9 @@ FORGEJO_DB_CLUSTER ?= forgejo-db
|
|||
FORGEJO_DB_NAMESPACE ?= databases
|
||||
FORGEJO_RUNNER_MANIFEST ?= manifests/forgejo-runner.yaml
|
||||
FORGEJO_RUNNER_REGISTRATION_SECRET ?= helm/forgejo-runner-registration.sops.yaml
|
||||
FORGEJO_MAILER_EXTERNAL_SECRET ?= manifests/forgejo-mailer-externalsecret.yaml
|
||||
PLATFORM_REPO ?= $(HOME)/railiance-platform
|
||||
ESO_CHART_VERSION ?= 0.16.1
|
||||
INTER_HUB_IMAGE_REF = $(INTER_HUB_IMAGE_REPOSITORY):$(INTER_HUB_IMAGE_TAG)
|
||||
INTER_HUB_IMAGE_SET_ARG = $(if $(strip $(INTER_HUB_IMAGE_TAG)),--set image.tag=$(INTER_HUB_IMAGE_TAG),)
|
||||
|
||||
|
|
@ -171,31 +174,56 @@ inter-hub-logs: check-railiance01-kubeconfig ## Tail inter-hub app logs from Rai
|
|||
|
||||
##@ Forgejo (forgejo.coulomb.social)
|
||||
|
||||
forgejo-dry-run: check-railiance01-kubeconfig check-sops ## helm template render for Forgejo
|
||||
eso-deploy: check-railiance01-kubeconfig ## Install External Secrets Operator on railiance01
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" helm repo add external-secrets https://charts.external-secrets.io --force-update
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" helm upgrade --install external-secrets external-secrets/external-secrets \
|
||||
--version $(ESO_CHART_VERSION) \
|
||||
--namespace external-secrets --create-namespace \
|
||||
--set installCRDs=true \
|
||||
--set serviceAccount.create=true \
|
||||
--set serviceAccount.name=external-secrets \
|
||||
--wait --timeout 5m
|
||||
|
||||
forgejo-openbao-store-deploy: check-railiance01-kubeconfig eso-deploy ## Apply openbao-forgejo ClusterSecretStore
|
||||
test -d "$(PLATFORM_REPO)/argocd/platform-addons/openbao-secretstore"
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" kubectl apply -f "$(PLATFORM_REPO)/argocd/platform-addons/openbao-secretstore/openbao-forgejo.clustersecretstore.yaml"
|
||||
|
||||
forgejo-mailer-es-deploy: check-railiance01-kubeconfig forgejo-openbao-store-deploy ## Apply Forgejo mailer ExternalSecret
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" kubectl apply -f $(FORGEJO_MAILER_EXTERNAL_SECRET)
|
||||
|
||||
forgejo-mailer-es-status: check-railiance01-kubeconfig ## Show Forgejo mailer ExternalSecret sync status
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" kubectl get externalsecret,secret -n $(FORGEJO_NAMESPACE) forgejo-mailer
|
||||
|
||||
forgejo-dry-run: check-railiance01-kubeconfig ## helm template render for Forgejo
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" helm template $(FORGEJO_RELEASE) $(FORGEJO_CHART) \
|
||||
--version $(FORGEJO_CHART_VERSION) \
|
||||
--namespace $(FORGEJO_NAMESPACE) \
|
||||
-f $(FORGEJO_VALUES) \
|
||||
-f $(FORGEJO_REGISTRY_VALUES) \
|
||||
-f <(sops -d $(FORGEJO_SECRETS))
|
||||
-f <(KUBECONFIG="$(FORGEJO_KUBECONFIG)" tools/forgejo-helm-secrets.sh)
|
||||
|
||||
forgejo-server-dry-run: check-railiance01-kubeconfig check-sops ## Helm server dry-run Forgejo upgrade
|
||||
forgejo-server-dry-run: check-railiance01-kubeconfig ## Helm server dry-run Forgejo upgrade
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" helm upgrade --install $(FORGEJO_RELEASE) $(FORGEJO_CHART) \
|
||||
--version $(FORGEJO_CHART_VERSION) \
|
||||
--namespace $(FORGEJO_NAMESPACE) --create-namespace \
|
||||
-f $(FORGEJO_VALUES) \
|
||||
-f $(FORGEJO_REGISTRY_VALUES) \
|
||||
-f <(sops -d $(FORGEJO_SECRETS)) \
|
||||
-f <(KUBECONFIG="$(FORGEJO_KUBECONFIG)" tools/forgejo-helm-secrets.sh) \
|
||||
--dry-run=server --timeout 5m
|
||||
|
||||
forgejo-deploy: check-railiance01-kubeconfig check-sops ## Deploy / upgrade Forgejo on railiance01
|
||||
forgejo-deploy: check-railiance01-kubeconfig forgejo-mailer-es-deploy ## Deploy / upgrade Forgejo on railiance01
|
||||
@test -n "$$(KUBECONFIG="$(FORGEJO_KUBECONFIG)" kubectl get secret forgejo-mailer -n $(FORGEJO_NAMESPACE) -o name 2>/dev/null)" || { \
|
||||
echo "Missing secret forgejo-mailer in $(FORGEJO_NAMESPACE)." >&2; \
|
||||
echo "Ensure ExternalSecret is Ready and OpenBao role external-secrets-forgejo is configured." >&2; \
|
||||
exit 1; \
|
||||
}
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" helm repo add gitea-charts https://dl.gitea.com/charts/ --force-update
|
||||
KUBECONFIG="$(FORGEJO_KUBECONFIG)" helm upgrade --install $(FORGEJO_RELEASE) $(FORGEJO_CHART) \
|
||||
--version $(FORGEJO_CHART_VERSION) \
|
||||
--namespace $(FORGEJO_NAMESPACE) --create-namespace \
|
||||
-f $(FORGEJO_VALUES) \
|
||||
-f $(FORGEJO_REGISTRY_VALUES) \
|
||||
-f <(sops -d $(FORGEJO_SECRETS)) \
|
||||
-f <(KUBECONFIG="$(FORGEJO_KUBECONFIG)" tools/forgejo-helm-secrets.sh) \
|
||||
--wait --timeout 10m
|
||||
|
||||
forgejo-ingress-deploy: check-railiance01-kubeconfig ## Apply Forgejo HTTPS ingress
|
||||
|
|
@ -268,4 +296,4 @@ help: ## Show this help
|
|||
/^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 } \
|
||||
/^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) }' $(MAKEFILE_LIST)
|
||||
|
||||
.PHONY: check-tools check-sops k8s-server-dry-run apps-pg-status check-railiance01-kubeconfig check-inter-hub-image-tag check-inter-hub-image vergabe-dry-run vergabe-deploy vergabe-ingress-deploy vergabe-status vergabe-migrate vergabe-seed vergabe-superuser vergabe-logs vergabe-db-url-secret forgejo-dry-run forgejo-server-dry-run forgejo-deploy forgejo-ingress-deploy forgejo-ssh-nodeport-deploy forgejo-status forgejo-smoke forgejo-logs forgejo-runner-registration-deploy forgejo-runner-deploy forgejo-runner-status forgejo-runner-logs inter-hub-render-baseline inter-hub-dry-run inter-hub-server-dry-run inter-hub-deploy inter-hub-status inter-hub-release-info inter-hub-smoke inter-hub-logs reuse-dry-run reuse-deploy reuse-status reuse-smoke reuse-logs help
|
||||
.PHONY: check-tools check-sops k8s-server-dry-run apps-pg-status check-railiance01-kubeconfig check-inter-hub-image-tag check-inter-hub-image vergabe-dry-run vergabe-deploy vergabe-ingress-deploy vergabe-status vergabe-migrate vergabe-seed vergabe-superuser vergabe-logs vergabe-db-url-secret eso-deploy forgejo-openbao-store-deploy forgejo-mailer-es-deploy forgejo-mailer-es-status forgejo-dry-run forgejo-server-dry-run forgejo-deploy forgejo-ingress-deploy forgejo-ssh-nodeport-deploy forgejo-status forgejo-smoke forgejo-logs forgejo-runner-registration-deploy forgejo-runner-deploy forgejo-runner-status forgejo-runner-logs inter-hub-render-baseline inter-hub-dry-run inter-hub-server-dry-run inter-hub-deploy inter-hub-status inter-hub-release-info inter-hub-smoke inter-hub-logs reuse-dry-run reuse-deploy reuse-status reuse-smoke reuse-logs help
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue