
* managed: move flowexporter to managed Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * *: implement SerializerModel in all models Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * managed: add initial api Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * managed: start blueprint Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * managed: spec Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * version blueprint Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * yep Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * remove v2, improve v1 Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * start custom tag, more rebrand Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add default flows Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * move blueprints out of website Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * try new things Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add !lookup, fix web Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * update and cleanup default Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix tags in lists Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * don't save field if its set to default value Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * more flow cleanup Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * format web Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix missing serializer for sms Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * ignore _set fields Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * remove custom file extension Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * migrate default flow to tenant Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * include blueprints Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix tests Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""Outpost managed objects"""
|
|
from authentik.blueprints.manager import EnsureExists, ObjectManager
|
|
from authentik.outposts.models import (
|
|
DockerServiceConnection,
|
|
KubernetesServiceConnection,
|
|
Outpost,
|
|
OutpostConfig,
|
|
OutpostType,
|
|
)
|
|
|
|
MANAGED_OUTPOST = "goauthentik.io/outposts/embedded"
|
|
|
|
|
|
class OutpostManager(ObjectManager):
|
|
"""Outpost managed objects"""
|
|
|
|
def reconcile(self):
|
|
def outpost_created(outpost: Outpost):
|
|
"""When outpost is initially created, and we already have a service connection,
|
|
auto-assign it."""
|
|
if KubernetesServiceConnection.objects.exists():
|
|
outpost.service_connection = KubernetesServiceConnection.objects.first()
|
|
elif DockerServiceConnection.objects.exists():
|
|
outpost.service_connection = DockerServiceConnection.objects.first()
|
|
outpost.config = OutpostConfig(
|
|
kubernetes_disabled_components=[
|
|
"deployment",
|
|
"secret",
|
|
]
|
|
)
|
|
outpost.save()
|
|
|
|
return [
|
|
EnsureExists(
|
|
Outpost,
|
|
MANAGED_OUTPOST,
|
|
created_callback=outpost_created,
|
|
name="authentik Embedded Outpost",
|
|
type=OutpostType.PROXY,
|
|
),
|
|
]
|