Update traefik role

This commit is contained in:
Adrien Reslinger 2024-09-28 18:55:34 +02:00
parent 8db2742da0
commit 232cd4de5d
Signed by: adrien
GPG key ID: DA7B27055C66D6DE
5 changed files with 64 additions and 7 deletions

View file

@ -1,6 +1,6 @@
my_context: kubernetes my_context: kubernetes
traefik_version: "3.0.4" traefik_version: "3.1.4"
traefik_helm_chart_version: "28.0.0" traefik_helm_chart_version: "31.1.1"
cluster_domain: "local" cluster_domain: "local"
traefik_namespace: "traefik" traefik_namespace: "traefik"
traefik_service_type: LoadBalancer traefik_service_type: LoadBalancer

View file

@ -106,6 +106,9 @@
kubernetes.core.helm_repository: kubernetes.core.helm_repository:
name: traefik name: traefik
repo_url: "https://helm.traefik.io/traefik" repo_url: "https://helm.traefik.io/traefik"
# - name: show templating results
# ansible.builtin.debug:
# msg: "{{ lookup('ansible.builtin.template', 'traefik-helm-value.yaml.j2') }}"
- name: Deploy latest version of Traefik - name: Deploy latest version of Traefik
kubernetes.core.helm: kubernetes.core.helm:
context: "{{ my_context }}" context: "{{ my_context }}"
@ -113,6 +116,7 @@
chart_ref: traefik/traefik chart_ref: traefik/traefik
chart_version: "{{ traefik_helm_chart_version }}" chart_version: "{{ traefik_helm_chart_version }}"
release_namespace: "{{ traefik_namespace }}" release_namespace: "{{ traefik_namespace }}"
create_namespace: true
values: "{{ lookup('template', 'traefik-helm-value.yaml.j2') | from_yaml }}" values: "{{ lookup('template', 'traefik-helm-value.yaml.j2') | from_yaml }}"
- name: Install traefik configuration - name: Install traefik configuration
@ -122,8 +126,9 @@
namespace: '{{ traefik_namespace }}' namespace: '{{ traefik_namespace }}'
# merge_type: merge # merge_type: merge
apply: true apply: true
resource_definition: "{{ lookup('template', item) | from_yaml }}" resource_definition: "{{ lookup('template', item) | from_yaml_all }}"
with_items: with_items:
- default-network-dns-policy.yaml.j2
# - "{{ lookup('vars', 'traefik_' + traefik_version | regex_replace('[.]','_') + '_list') }}" # - "{{ lookup('vars', 'traefik_' + traefik_version | regex_replace('[.]','_') + '_list') }}"
- traefik-certificate.yml.j2 - traefik-certificate.yml.j2
- traefik-cm.yml.j2 - traefik-cm.yml.j2

View file

@ -0,0 +1,46 @@
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: intra-namespace
spec:
podSelector: {}
ingress:
- from:
- namespaceSelector:
matchLabels:
name: {{ traefik_namespace }}
#---
#apiVersion: networking.k8s.io/v1
#kind: NetworkPolicy
#metadata:
# name: allow-dns-access
#spec:
# podSelector:
# matchLabels: {}
# policyTypes:
# - Egress
# egress:
# - to:
# - namespaceSelector:
# matchLabels:
# kubernetes.io/metadata.name: kube-system
# podSelector:
# matchLabels:
# k8s-app: kube-dns
# ports:
# - protocol: UDP
# port: 53
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-all-traefik-v121-ingress
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: traefik
ingress:
- {}
policyTypes:
- Ingress

View file

@ -140,11 +140,10 @@ metrics:
# severity: warning # severity: warning
# annotations: # annotations:
# summary: "Traefik Down" # summary: "Traefik Down"
# description: "{{ $labels.pod }} on {{ $labels.nodename }} is down" # description: "{% raw %}{{ $labels.pod }} on {{ $labels.nodename }} is down{% endraw %}"
experimental: experimental:
plugins:
enabled: true
{% if traefik_ondemand is defined %} {% if traefik_ondemand is defined %}
plugins:
sablier: sablier:
moduleName: "github.com/acouvreur/sablier" moduleName: "github.com/acouvreur/sablier"
version: "v1.7.0" version: "v1.7.0"
@ -155,3 +154,10 @@ experimental:
hub: hub:
enabled: true enabled: true
{% endif %} {% endif %}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
readOnlyRootFilesystem: true
seccompProfile:
type: RuntimeDefault

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.io/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: traefik name: traefik