Description
Per Kubebuilder documentation, finalizers are typically named in the format of my.domain.com/finalizer
. In our case, that would be application-networking.k8s.aws/finalizer
.
The purpose of using our domain as part of the finalizer is to avoid conflicts with other controllers which may add/remove finalizers for the same resources. Currently, we use finalizers that do not include our domain, and if another controller uses the same finalizer, then we are at risk of collision (a risk which is greatly mitigated if we include our domain in the finalizer). We also use different finalizers for every resource, which adds unnecessary code to controllers. Lastly, it's an inconsistency with the broader Kubernetes community.
Changing finalizers would be a backwards incompatible change.