Merge branch 'next' into version-2021.5
This commit is contained in:
commit
92537a6c8d
|
@ -48,10 +48,13 @@ class KubernetesObjectReconciler(Generic[T]):
|
||||||
@property
|
@property
|
||||||
def name(self) -> str:
|
def name(self) -> str:
|
||||||
"""Get the name of the object this reconciler manages"""
|
"""Get the name of the object this reconciler manages"""
|
||||||
return (self.controller.outpost.config.object_naming_template % {
|
return (
|
||||||
|
self.controller.outpost.config.object_naming_template
|
||||||
|
% {
|
||||||
"name": slugify(self.controller.outpost.name),
|
"name": slugify(self.controller.outpost.name),
|
||||||
"uuid": self.controller.outpost.uuid.hex,
|
"uuid": self.controller.outpost.uuid.hex,
|
||||||
}).lower()
|
}
|
||||||
|
).lower()
|
||||||
|
|
||||||
def up(self):
|
def up(self):
|
||||||
"""Create object if it doesn't exist, update if needed or recreate if needed."""
|
"""Create object if it doesn't exist, update if needed or recreate if needed."""
|
||||||
|
|
11
authentik/outposts/controllers/k8s/utils.py
Normal file
11
authentik/outposts/controllers/k8s/utils.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
"""k8s utils"""
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
def get_namespace() -> str:
|
||||||
|
"""Get the namespace if we're running in a pod, otherwise default to default"""
|
||||||
|
path = Path("/var/run/secrets/kubernetes.io/serviceaccount/namespace")
|
||||||
|
if path.exists():
|
||||||
|
with open(path, "r") as _namespace_file:
|
||||||
|
return _namespace_file.read()
|
||||||
|
return "default"
|
|
@ -33,6 +33,7 @@ from authentik.lib.config import CONFIG
|
||||||
from authentik.lib.models import InheritanceForeignKey
|
from authentik.lib.models import InheritanceForeignKey
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.lib.sentry import SentryIgnoredException
|
||||||
from authentik.lib.utils.http import USER_ATTRIBUTE_CAN_OVERRIDE_IP
|
from authentik.lib.utils.http import USER_ATTRIBUTE_CAN_OVERRIDE_IP
|
||||||
|
from authentik.outposts.controllers.k8s.utils import get_namespace
|
||||||
from authentik.outposts.docker_tls import DockerInlineTLS
|
from authentik.outposts.docker_tls import DockerInlineTLS
|
||||||
|
|
||||||
OUR_VERSION = parse(__version__)
|
OUR_VERSION = parse(__version__)
|
||||||
|
@ -59,7 +60,7 @@ class OutpostConfig:
|
||||||
|
|
||||||
object_naming_template: str = field(default="ak-outpost-%(name)s")
|
object_naming_template: str = field(default="ak-outpost-%(name)s")
|
||||||
kubernetes_replicas: int = field(default=1)
|
kubernetes_replicas: int = field(default=1)
|
||||||
kubernetes_namespace: str = field(default="default")
|
kubernetes_namespace: str = field(default_factory=get_namespace)
|
||||||
kubernetes_ingress_annotations: dict[str, str] = field(default_factory=dict)
|
kubernetes_ingress_annotations: dict[str, str] = field(default_factory=dict)
|
||||||
kubernetes_ingress_secret_name: str = field(default="authentik-outpost-tls")
|
kubernetes_ingress_secret_name: str = field(default="authentik-outpost-tls")
|
||||||
kubernetes_service_type: str = field(default="ClusterIP")
|
kubernetes_service_type: str = field(default="ClusterIP")
|
||||||
|
|
Reference in a new issue