Migrate MetalLB annotations to the metallb.io domain

Proprietary

Rename the MetalLB Service annotations that moved from the metallb.universe.tf domain to metallb.io in MetalLB 0.14.9. The old domain still works, but the controller now raises a deprecatedAnnotation event against every service using it and the release notes reserve the right to drop the compatibility shim. Only the four annotations that genuinely moved are renamed — address-pool, loadBalancerIPs, allow-shared-ip and the controller-written ip-allocated-from-pool — so an unrelated metallb.universe.tf key keeps its domain.

MetalLB prefers the metallb.io spelling wherever both are present, which makes the deprecated twin dead weight. Such a twin is dropped when it carries the same value and reported otherwise, rather than renamed into a duplicate key.

This is MetalLB's own annotation domain, not a Kubernetes API migration; a cluster load balanced by anything else is unaffected.

org.openrewrite.kubernetes.metallb.MigrateMetalLbAnnotationPrefix

Optional

Matching files will be modified. This is a glob expression.

mod run . --recipe=org.openrewrite.kubernetes.metallb.MigrateMetalLbAnnotationPrefix

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.