nginx-gateway-fabric
nginx-gateway-fabric copied to clipboard
If another Gateway API implementation removes NGF from statuses of resources, NGF will not immediately restore it
If another controllers changes the status of the Gateway/HTTPRoute resource so that the information set by our Gateway is removed, our Gateway will not restore the status until the EventLoop invokes the StatusUpdater as a result of processing some other new change to a resource(s).
Corresponds to the FIXME in the StatusUpdater
Is this within our realm of responsibility? If the user wants to install two Gateway API control planes in the same scope, I would expect this kind of behavior.
Statuses of Gateway API resources are designed so that multiple controllers can update them independently and do not overwrite each other updates. For example, for HTTPRoute, each Controller will create its own entry and set the ControllerName to its name https://github.com/kubernetes-sigs/gateway-api/blob/6b93e6effdcbf48a4e8424e20d1152094eb4e3eb/apis/v1/shared_types.go#L454