authentik.providers.proxy.controllers.k8s.traefik

Kubernetes Traefik Middleware Reconciler

 1"""Kubernetes Traefik Middleware Reconciler"""
 2
 3from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler
 4from authentik.outposts.controllers.kubernetes import KubernetesController
 5from authentik.providers.proxy.controllers.k8s.traefik_2 import Traefik2MiddlewareReconciler
 6from authentik.providers.proxy.controllers.k8s.traefik_3 import (
 7    Traefik3MiddlewareReconciler,
 8    TraefikMiddleware,
 9)
10
11
12class TraefikMiddlewareReconciler(KubernetesObjectReconciler):
13    """Kubernetes Traefik Middleware Reconciler"""
14
15    def __init__(self, controller: KubernetesController) -> None:
16        super().__init__(controller)
17        self.reconciler = Traefik3MiddlewareReconciler(controller)
18        if not self.reconciler.crd_exists():
19            self.reconciler = Traefik2MiddlewareReconciler(controller)
20
21    @staticmethod
22    def reconciler_name() -> str:
23        return "traefik middleware"
24
25    @property
26    def noop(self) -> bool:
27        return self.reconciler.noop
28
29    def reconcile(self, current: TraefikMiddleware, reference: TraefikMiddleware):
30        return self.reconciler.reconcile(current, reference)
31
32    def get_reference_object(self) -> TraefikMiddleware:
33        return self.reconciler.get_reference_object()
34
35    def create(self, reference: TraefikMiddleware):
36        return self.reconciler.create(reference)
37
38    def delete(self, reference: TraefikMiddleware):
39        return self.reconciler.delete(reference)
40
41    def retrieve(self) -> TraefikMiddleware:
42        return self.reconciler.retrieve()
43
44    def update(self, current: TraefikMiddleware, reference: TraefikMiddleware):
45        return self.reconciler.update(current, reference)
class TraefikMiddlewareReconciler(typing.Generic[T]):
13class TraefikMiddlewareReconciler(KubernetesObjectReconciler):
14    """Kubernetes Traefik Middleware Reconciler"""
15
16    def __init__(self, controller: KubernetesController) -> None:
17        super().__init__(controller)
18        self.reconciler = Traefik3MiddlewareReconciler(controller)
19        if not self.reconciler.crd_exists():
20            self.reconciler = Traefik2MiddlewareReconciler(controller)
21
22    @staticmethod
23    def reconciler_name() -> str:
24        return "traefik middleware"
25
26    @property
27    def noop(self) -> bool:
28        return self.reconciler.noop
29
30    def reconcile(self, current: TraefikMiddleware, reference: TraefikMiddleware):
31        return self.reconciler.reconcile(current, reference)
32
33    def get_reference_object(self) -> TraefikMiddleware:
34        return self.reconciler.get_reference_object()
35
36    def create(self, reference: TraefikMiddleware):
37        return self.reconciler.create(reference)
38
39    def delete(self, reference: TraefikMiddleware):
40        return self.reconciler.delete(reference)
41
42    def retrieve(self) -> TraefikMiddleware:
43        return self.reconciler.retrieve()
44
45    def update(self, current: TraefikMiddleware, reference: TraefikMiddleware):
46        return self.reconciler.update(current, reference)

Kubernetes Traefik Middleware Reconciler

TraefikMiddlewareReconciler( controller: authentik.outposts.controllers.kubernetes.KubernetesController)
16    def __init__(self, controller: KubernetesController) -> None:
17        super().__init__(controller)
18        self.reconciler = Traefik3MiddlewareReconciler(controller)
19        if not self.reconciler.crd_exists():
20            self.reconciler = Traefik2MiddlewareReconciler(controller)
reconciler
@staticmethod
def reconciler_name() -> str:
22    @staticmethod
23    def reconciler_name() -> str:
24        return "traefik middleware"

A name this reconciler is identified by in the configuration

noop: bool
26    @property
27    def noop(self) -> bool:
28        return self.reconciler.noop

Return true if this object should not be created/updated/deleted in this cluster

30    def reconcile(self, current: TraefikMiddleware, reference: TraefikMiddleware):
31        return self.reconciler.reconcile(current, reference)

Check what operations should be done, should be raised as ReconcileTrigger

def get_reference_object( self) -> authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware:
33    def get_reference_object(self) -> TraefikMiddleware:
34        return self.reconciler.get_reference_object()

Return object as it should be

36    def create(self, reference: TraefikMiddleware):
37        return self.reconciler.create(reference)

API Wrapper to create object

39    def delete(self, reference: TraefikMiddleware):
40        return self.reconciler.delete(reference)

API Wrapper to delete object

42    def retrieve(self) -> TraefikMiddleware:
43        return self.reconciler.retrieve()

API Wrapper to retrieve object

45    def update(self, current: TraefikMiddleware, reference: TraefikMiddleware):
46        return self.reconciler.update(current, reference)

API Wrapper to update object