ADAPTION of test to k3d
Some checks failed
Test / Static Analysis (push) Successful in 33s
Test / Unit Tests — Docker Stack (push) Successful in 36s
Test / Unit Tests — K8s Stack (push) Successful in 39s
Test / Integration Test — K8s (k3d) (push) Has been cancelled

This commit is contained in:
2026-03-14 17:02:19 +01:00
parent bbb4399970
commit f54fa6efbd
2 changed files with 18 additions and 11 deletions

View File

@@ -107,18 +107,20 @@ jobs:
--agents 1 \
--k3s-arg "--disable=traefik@server:0" \
--wait
# Gitea runners execute inside a Docker container (DinD). The host
# loopback (127.0.0.1) is unreachable from inside the runner container,
# so we patch the kubeconfig to use the k3d server container's
# Docker-network IP and connect directly on port 6443.
SERVER_IP=$(docker inspect k3d-tofu-test-server-0 \
--format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}')
k3d kubeconfig get tofu-test \
| sed 's|https://0\.0\.0\.0:|https://127.0.0.1:|g' \
| sed "s|https://0\.0\.0\.0:[0-9]*|https://${SERVER_IP}:6443|g" \
| sed "s|https://127\.0\.0\.1:[0-9]*|https://${SERVER_IP}:6443|g" \
> /tmp/test-kubeconfig
chmod 600 /tmp/test-kubeconfig
- name: Install Traefik CRDs
run: |
# Wait for API server to accept connections before applying CRDs
for i in $(seq 1 20); do
kubectl --kubeconfig /tmp/test-kubeconfig get nodes >/dev/null 2>&1 && break
echo "Waiting for API server... ($i/20)"; sleep 3
done
kubectl --kubeconfig /tmp/test-kubeconfig apply --validate=false \
-f https://raw.githubusercontent.com/traefik/traefik/v2.11/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
kubectl --kubeconfig /tmp/test-kubeconfig wait \

View File

@@ -91,14 +91,19 @@ integration-k8s:
--agents 1 \
--k3s-arg "--disable=traefik@server:0" \
--wait
k3d kubeconfig get tofu-test > /tmp/test-kubeconfig
# GitLab CI runners execute inside a Docker container (DinD). The host
# loopback (127.0.0.1) is unreachable from inside the runner container,
# so patch the kubeconfig to use the k3d server container's
# Docker-network IP and connect directly on port 6443.
SERVER_IP=$(docker inspect k3d-tofu-test-server-0 \
--format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}')
k3d kubeconfig get tofu-test \
| sed "s|https://0\.0\.0\.0:[0-9]*|https://${SERVER_IP}:6443|g" \
| sed "s|https://127\.0\.0\.1:[0-9]*|https://${SERVER_IP}:6443|g" \
> /tmp/test-kubeconfig
chmod 600 /tmp/test-kubeconfig
- |
echo "── Installing Traefik CRDs ──"
for i in $(seq 1 20); do
kubectl --kubeconfig /tmp/test-kubeconfig get nodes >/dev/null 2>&1 && break
echo "Waiting for API server... ($i/20)"; sleep 3
done
kubectl --kubeconfig /tmp/test-kubeconfig apply --validate=false \
-f https://raw.githubusercontent.com/traefik/traefik/v2.11/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
kubectl --kubeconfig /tmp/test-kubeconfig wait \