Archived
16 lines
1.0 KiB
Bash
Executable File
16 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd); work=$(mktemp -d); trap 'rm -rf "${work}"' EXIT
|
|
sh -n "$dir/install.sh" "$dir/update-outpost-images.sh"; bash -n "$dir/render.sh" "$dir/create-ci-kubeconfig.sh" "$dir/test.sh"
|
|
"$dir/render.sh" "$work/authentik.yaml"
|
|
grep -Eq '^kind: Secret$' "$work/authentik.yaml" && { echo "Chart rendered a Secret" >&2; exit 1; }
|
|
image=ghcr.io/yannh/kubeconform:v0.7.0
|
|
for file in "$work/authentik.yaml" "$dir/authentik-outpost-path.yaml" "$dir/authentik-media-redirect.yaml" "$dir/ci-deployer.yaml"; do docker run --rm -i "$image" -strict -exit-on-error -ignore-missing-schemas -summary < "$file"; done
|
|
grep -q 'replicas: 2' "$work/authentik.yaml"
|
|
grep -q 'cpu: 500m' "$work/authentik.yaml"
|
|
if grep -Eq 'router.middlewares:|inFlightReq:|rateLimit:' "$work/authentik.yaml" "$dir/authentik-outpost-path.yaml"; then
|
|
echo "Public Authentik request limiting must remain disabled." >&2
|
|
exit 1
|
|
fi
|
|
echo "Authentik public desired state is valid and contains no Secrets."
|