Description
The StatusUpdater component, responsible for updating statuses of Gateway API resources has a number of limitations:
(1) It doesn't understand the leader election. Only the leader must report the statuses of the resources. Otherwise, multiple replicas will step on each other when trying to report statuses for the same resources.
(5) It doesn't retry on failures. This means there is a chance that some resources will not have up-to-do statuses.
Statuses are important part of the Gateway API, so we need to ensure that the Gateway always keep the resources
statuses up-to-date.
FIXME in the code -- https://github.com/nginxinc/nginx-gateway-kubernetes/blob/890fddb787ff3560b9b743647a36b649d498ae51/internal/status/updater.go#L67
Acceptance criteria:
- Address those limitations
- NKG does not print errors when context is cancelled. See Ensure NKG shutdowns gracefully #563
### Tasks
- [ ] #637
- [ ] https://github.com/nginxinc/nginx-kubernetes-gateway/issues/1016