23 lines
859 B
Bash
Executable File
23 lines
859 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
project_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
namespace=default
|
|
secret_name=gitea-anubis-key
|
|
|
|
if ! kubectl --namespace "$namespace" get secret "$secret_name" >/dev/null 2>&1; then
|
|
anubis_signing_key=$(openssl rand -hex 32)
|
|
kubectl --namespace "$namespace" create secret generic "$secret_name" \
|
|
--from-literal="ED25519_PRIVATE_KEY_HEX=${anubis_signing_key}"
|
|
fi
|
|
|
|
kubectl apply --dry-run=server --validate=false \
|
|
--filename "${project_dir}/anubis.yaml"
|
|
kubectl apply --filename "${project_dir}/anubis.yaml"
|
|
# ConfigMap volume updates do not restart Anubis, and the policy is read at
|
|
# process startup. Restart explicitly so policy-only changes take effect.
|
|
kubectl --namespace "$namespace" rollout restart deployment/gitea-anubis
|
|
kubectl --namespace "$namespace" rollout status deployment/gitea-anubis \
|
|
--timeout=5m
|