argoyle a62ee9efb1 refactor: migrate from ingress-nginx to Traefik v3 (#254)
## Summary

- Replace ingress-nginx 4.15.1 with Traefik v3 (Helm chart 39.0.7) as ingress controller
- Convert nginx-specific annotations to Traefik Middleware CRDs
- Update setup script selectors, namespaces, and readiness checks
- Add `.claude/settings.local.json` to `.gitignore`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #254
2026-04-15 13:05:43 +00:00
2024-09-12 19:56:26 +00:00

Run Unbound environment in local K8S

This is a setup for running the Unbound environment in K8S using KinD

Prerequisites

Tools

Setup

Create a Gitlab Personal Access Token with (at least) read_registry access and set it as environment variable GITLAB_TOKEN. Can be done with a .envrc-file in a parent directory:

source_up .envrc
export GITLAB_TOKEN=<xyz>

Create a .buildtools.yaml-file in the parent directory with the following content:

targets:
  local:
    context: kind-unbound
    namespace: default
  staging:
    context: k8s.unbound.se
    namespace: staging
  prod:
    context: k8s.unbound.se
    namespace: default

Creating the cluster

Just run the following:

./setup

Wait for the cluster to be ready. The K8S context should be set automatically. Check what's been deployed by running:

kubectl get pod -A

Stopping/starting the cluster

If you need to stop the cluster to be able to use the exposed ports for other things, run:

docker stop unbound-control-plane

To start it again:

docker start unbound-control-plane

Removing the cluster

To remove the cluster completely, run:

kind delete cluster --name unbound

Cleaning up retained data

The setup stores data for containers in the data-directory. To start from scratch, stop the cluster, empty the directory and start the cluster again.

S
Description
No description provided
Readme 1.7 MiB
Languages
Shell 100%