Files
Homelabv4/scripts/gitlab-add-hostaliases.sh
2026-03-09 20:21:35 -05:00

37 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# gitlab-add-hostaliases.sh
# Add hostAliases to GitLab deployments for Authentik OIDC
set -euo pipefail
echo "=== Adding hostAliases to GitLab deployments ==="
NS=gitlab
# Route via Istio ingressgateway LoadBalancer (ingress-nginx removed)
EDGE_IP=$(kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo "Istio edge gateway IP: $EDGE_IP"
# Check if webservice deployment already has hostAliases
if kubectl get deployment gitlab-webservice-default -n "${NS}" -o jsonpath='{.spec.template.spec.hostAliases}' | grep -q "${EDGE_IP}"; then
echo "✅ webservice already has hostAliases configured"
else
echo "Adding hostAliases to webservice..."
kubectl patch deployment gitlab-webservice-default -n "${NS}" --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/spec/hostAliases\", \"value\": [{\"ip\": \"${EDGE_IP}\", \"hostnames\": [\"auth.kube.huskypup.net\"]}]}]"
echo "✅ hostAliases added to webservice"
fi
# Check if sidekiq deployment already has hostAliases
if kubectl get deployment gitlab-sidekiq-all-in-1-v2 -n "${NS}" -o jsonpath='{.spec.template.spec.hostAliases}' | grep -q "${EDGE_IP}"; then
echo "✅ sidekiq already has hostAliases configured"
else
echo "Adding hostAliases to sidekiq..."
kubectl patch deployment gitlab-sidekiq-all-in-1-v2 -n "${NS}" --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/spec/hostAliases\", \"value\": [{\"ip\": \"${EDGE_IP}\", \"hostnames\": [\"auth.kube.huskypup.net\"]}]}]"
echo "✅ hostAliases added to sidekiq"
fi
echo ""
echo "=== hostAliases configuration complete ==="
echo "GitLab will now route auth.kube.huskypup.net through Istio edge gateway (${EDGE_IP})"
echo "This ensures proper SSL certificate validation for Authentik OIDC"