Migrate to current MetalLB Service configuration
org.openrewrite.kubernetes.metallb.MetalLBArtifactorg.openrewrite.recipe:rewrite-kubernetesBring the Service side of a MetalLB installation up to date: annotations move off the deprecated metallb.universe.tf domain onto metallb.io, and an address pinned in the deprecated spec.loadBalancerIP moves into the metallb.io/loadBalancerIPs annotation that replaced it.
These are MetalLB's own conventions rather than Kubernetes API migrations. Nothing here applies to a cluster whose LoadBalancer services are served by a cloud provider or by another bare metal load balancer, so scope the run to the manifests MetalLB serves.
The domain rename runs first, so that a service already carrying metallb.universe.tf/loadBalancerIPs is compared against its migrated name.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.kubernetes.metallb.MetalLBIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-kubernetes:RELEASEDefinition
This recipe runs the following recipes in order.
- Migrate MetalLB annotations to the
metallb.iodomainorg.openrewrite.kubernetes.metallb.MigrateMetalLbAnnotationPrefix - Migrate
Servicespec.loadBalancerIPto the MetalLB annotationorg.openrewrite.kubernetes.metallb.MigrateLoadBalancerIpToMetalLbAnnotation
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats