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)
@staticmethod
def
reconciler_name() -> str:
A name this reconciler is identified by in the configuration
def
reconcile( self, current: authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware, reference: authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware):
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
def
create( self, reference: authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware):
API Wrapper to create object
def
delete( self, reference: authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware):
API Wrapper to delete object
def
update( self, current: authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware, reference: authentik.providers.proxy.controllers.k8s.traefik_3.TraefikMiddleware):
45 def update(self, current: TraefikMiddleware, reference: TraefikMiddleware): 46 return self.reconciler.update(current, reference)
API Wrapper to update object