Skip to content

Example 6: Kubernetes Ingress & CRDs ​

Deploy RouteWarden inside Kubernetes clusters using Custom Resource Definitions (Middleware, IngressRoute) or native Kubernetes Ingress annotations and ConfigMap resources.


1. Static Cluster Helm Configuration ​

When using Traefik, ensure the RouteWarden plugin is enabled in Traefik's Helm chart values:

# values.yaml (Traefik Helm Chart)additionalArguments:  - "--experimental.plugins.routewarden.modulename=github.com/routewarden/traefik-warden"  - "--experimental.plugins.routewarden.version=v1.2.1"

2. Ingress & Middleware Manifests ​

Select your ingress controller below to view the corresponding Kubernetes manifests:

# middleware.yamlapiVersion: traefik.io/v1alpha1kind: Middlewaremetadata:  name: routewarden-k8s-shield  namespace: defaultspec:  plugin:    routewarden:      enabled: true      enableDefaultPatterns: true      checkQuery: true      allowedIps:        - "10.0.0.0/8"        - "172.16.0.0/12"      response:        mode: json        statusCode: 403        body: '{"error":"Forbidden","source":"k8s-routewarden-crd"}'

3. Deployment Commands ​

Apply the manifests and verify your ingress shield status:

# Apply Traefik CRDskubectl apply -f middleware.yamlkubectl apply -f ingressroute.yaml# Inspect middleware statuskubectl get middleware routewarden-k8s-shield -o yaml

Released under the MIT License.