outposts: fix circular import in kubernetes controller
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -10,7 +10,7 @@ from structlog.stdlib import get_logger | ||||
| from urllib3.exceptions import HTTPError | ||||
|  | ||||
| from authentik import __version__ | ||||
| from authentik.lib.sentry import SentryIgnoredException | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsRecreate, NeedsUpdate | ||||
| from authentik.outposts.managed import MANAGED_OUTPOST | ||||
|  | ||||
| if TYPE_CHECKING: | ||||
| @ -20,18 +20,6 @@ if TYPE_CHECKING: | ||||
| T = TypeVar("T", V1Pod, V1Deployment) | ||||
|  | ||||
|  | ||||
| class ReconcileTrigger(SentryIgnoredException): | ||||
|     """Base trigger raised by child classes to notify us""" | ||||
|  | ||||
|  | ||||
| class NeedsRecreate(ReconcileTrigger): | ||||
|     """Exception to trigger a complete recreate of the Kubernetes Object""" | ||||
|  | ||||
|  | ||||
| class NeedsUpdate(ReconcileTrigger): | ||||
|     """Exception to trigger an update to the Kubernetes Object""" | ||||
|  | ||||
|  | ||||
| class KubernetesObjectReconciler(Generic[T]): | ||||
|     """Base Kubernetes Reconciler, handles the basic logic.""" | ||||
|  | ||||
|  | ||||
| @ -17,7 +17,8 @@ from kubernetes.client import ( | ||||
| ) | ||||
|  | ||||
| from authentik.outposts.controllers.base import FIELD_MANAGER | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler, NeedsUpdate | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsUpdate | ||||
| from authentik.outposts.controllers.k8s.utils import compare_ports | ||||
| from authentik.outposts.models import Outpost | ||||
|  | ||||
|  | ||||
| @ -5,7 +5,8 @@ from typing import TYPE_CHECKING | ||||
| from kubernetes.client import CoreV1Api, V1Secret | ||||
|  | ||||
| from authentik.outposts.controllers.base import FIELD_MANAGER | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler, NeedsUpdate | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsUpdate | ||||
|  | ||||
| if TYPE_CHECKING: | ||||
|     from authentik.outposts.controllers.kubernetes import KubernetesController | ||||
|  | ||||
							
								
								
									
										14
									
								
								authentik/outposts/controllers/k8s/triggers.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								authentik/outposts/controllers/k8s/triggers.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| """exceptions used by the kubernetes reconciler to trigger updates""" | ||||
| from authentik.lib.sentry import SentryIgnoredException | ||||
|  | ||||
|  | ||||
| class ReconcileTrigger(SentryIgnoredException): | ||||
|     """Base trigger raised by child classes to notify us""" | ||||
|  | ||||
|  | ||||
| class NeedsRecreate(ReconcileTrigger): | ||||
|     """Exception to trigger a complete recreate of the Kubernetes Object""" | ||||
|  | ||||
|  | ||||
| class NeedsUpdate(ReconcileTrigger): | ||||
|     """Exception to trigger an update to the Kubernetes Object""" | ||||
| @ -4,7 +4,7 @@ from pathlib import Path | ||||
| from kubernetes.client.models.v1_container_port import V1ContainerPort | ||||
| from kubernetes.config.incluster_config import SERVICE_TOKEN_FILENAME | ||||
|  | ||||
| from authentik.outposts.controllers.k8s.base import NeedsRecreate | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsRecreate | ||||
|  | ||||
|  | ||||
| def get_namespace() -> str: | ||||
|  | ||||
| @ -14,11 +14,8 @@ from kubernetes.client import ( | ||||
| from kubernetes.client.models.networking_v1beta1_ingress_rule import NetworkingV1beta1IngressRule | ||||
|  | ||||
| from authentik.outposts.controllers.base import FIELD_MANAGER | ||||
| from authentik.outposts.controllers.k8s.base import ( | ||||
|     KubernetesObjectReconciler, | ||||
|     NeedsRecreate, | ||||
|     NeedsUpdate, | ||||
| ) | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsRecreate, NeedsUpdate | ||||
| from authentik.providers.proxy.models import ProxyMode, ProxyProvider | ||||
|  | ||||
| if TYPE_CHECKING: | ||||
|  | ||||
| @ -6,7 +6,8 @@ from dacite import from_dict | ||||
| from kubernetes.client import ApiextensionsV1Api, CustomObjectsApi | ||||
|  | ||||
| from authentik.outposts.controllers.base import FIELD_MANAGER | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler, NeedsUpdate | ||||
| from authentik.outposts.controllers.k8s.base import KubernetesObjectReconciler | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsUpdate | ||||
| from authentik.providers.proxy.models import ProxyMode, ProxyProvider | ||||
|  | ||||
| if TYPE_CHECKING: | ||||
|  | ||||
| @ -3,8 +3,8 @@ from django.test import TestCase | ||||
|  | ||||
| from authentik.flows.models import Flow | ||||
| from authentik.lib.config import CONFIG | ||||
| from authentik.outposts.controllers.k8s.base import NeedsUpdate | ||||
| from authentik.outposts.controllers.k8s.deployment import DeploymentReconciler | ||||
| from authentik.outposts.controllers.k8s.triggers import NeedsUpdate | ||||
| from authentik.outposts.controllers.kubernetes import KubernetesController | ||||
| from authentik.outposts.models import KubernetesServiceConnection, Outpost, OutpostType | ||||
| from authentik.outposts.tasks import outpost_local_connection | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer