From 5e11ed8fdcb0e656bbe16448d8031d5a4a9836bd Mon Sep 17 00:00:00 2001 From: James Allenby Date: Wed, 1 Jul 2026 00:51:20 +0100 Subject: [PATCH] feat: add traefik role --- .../kubernetes_traefik/defaults/main.yaml | 12 +++++++++++ .../roles/kubernetes_traefik/tasks/main.yaml | 20 +++++++++++++++++++ ansible/site.yaml | 1 + 3 files changed, 33 insertions(+) create mode 100644 ansible/roles/kubernetes_traefik/defaults/main.yaml create mode 100644 ansible/roles/kubernetes_traefik/tasks/main.yaml diff --git a/ansible/roles/kubernetes_traefik/defaults/main.yaml b/ansible/roles/kubernetes_traefik/defaults/main.yaml new file mode 100644 index 0000000..b208d58 --- /dev/null +++ b/ansible/roles/kubernetes_traefik/defaults/main.yaml @@ -0,0 +1,12 @@ +traefik_chart_version: 41.0.1 + +traefik_values: + providers: + kubernetesGateway: + enabled: true + gateway: + enabled: true + listeners: + web: + port: 8000 + protocol: HTTP diff --git a/ansible/roles/kubernetes_traefik/tasks/main.yaml b/ansible/roles/kubernetes_traefik/tasks/main.yaml new file mode 100644 index 0000000..33f7138 --- /dev/null +++ b/ansible/roles/kubernetes_traefik/tasks/main.yaml @@ -0,0 +1,20 @@ +- name: Install Gateway API CRDs + kubernetes.core.k8s: + src: https://github.com/kubernetes-sigs/gateway-api/releases/latest/download/standard-install.yaml + state: present + run_once: true + +- name: Ensure Traefik repository exists + kubernetes.core.helm_repository: + name: traefik + url: https://traefik.github.io/charts + +- name: Ensure Traefik is installed + kubernetes.core.helm: + release_name: traefik + release_namespace: traefik + chart_ref: traefik/traefik + chart_version: "{{ traefik_chart_version }}" + create_namespace: true + values: "{{ traefik_values }}" + run_once: true diff --git a/ansible/site.yaml b/ansible/site.yaml index c56188d..5a7c872 100644 --- a/ansible/site.yaml +++ b/ansible/site.yaml @@ -17,6 +17,7 @@ - kubernetes_cilium - kubernetes_metrics_server - kubernetes_longhorn + - kubernetes_traefik # # ======================= # # JOIN MASTERS TO CLUSTER