outposts: ensure service is always re-created with mismatching ports
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
27e04589c1
commit
919336a519
|
@ -19,12 +19,16 @@ class ServiceReconciler(KubernetesObjectReconciler[V1Service]):
|
||||||
self.api = CoreV1Api(controller.client)
|
self.api = CoreV1Api(controller.client)
|
||||||
|
|
||||||
def reconcile(self, current: V1Service, reference: V1Service):
|
def reconcile(self, current: V1Service, reference: V1Service):
|
||||||
super().reconcile(current, reference)
|
|
||||||
if len(current.spec.ports) != len(reference.spec.ports):
|
if len(current.spec.ports) != len(reference.spec.ports):
|
||||||
raise NeedsRecreate()
|
raise NeedsRecreate()
|
||||||
for port in reference.spec.ports:
|
for port in reference.spec.ports:
|
||||||
if port not in current.spec.ports:
|
if port not in current.spec.ports:
|
||||||
raise NeedsRecreate()
|
raise NeedsRecreate()
|
||||||
|
# run the base reconcile last, as that will probably raise NeedsUpdate
|
||||||
|
# after an authentik update. However the ports might have also changed during
|
||||||
|
# the update, so this causes the service to be re-created with higher
|
||||||
|
# priority than being updated.
|
||||||
|
super().reconcile(current, reference)
|
||||||
|
|
||||||
def get_reference_object(self) -> V1Service:
|
def get_reference_object(self) -> V1Service:
|
||||||
"""Get deployment object for outpost"""
|
"""Get deployment object for outpost"""
|
||||||
|
|
Reference in New Issue