← All recipes
Moderne licensed

Migrate Cluster API resources to v1beta2

Recipe IDorg.openrewrite.kubernetes.clusterapi.MigrateToClusterApiV1beta2Artifactorg.openrewrite.recipe:rewrite-kubernetes

Migrate every custom resource Cluster API owns to v1beta2. v1beta1 has been deprecated since v1.11 and stops being served in v1.16. The cluster.x-k8s.io kinds move fields and apiVersion together; addons and ipam change apiVersion only, because those kinds are the same shape under a new name. Two things are deliberately left behind. The four Kubeadm* kinds are not migrated at all: extraArgs changes from a map to a list throughout the embedded kubeadm configuration and the control plane regroups half its spec, so a bare swap is either rejected outright or accepted while the apiserver prunes what moved. And infrastructure.cluster.x-k8s.io is out of scope, because that group belongs to the providers, each of which decides for itself what v1beta2 means. Both have to be migrated by hand.

Composite recipecluster-apikubernetesProprietary

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.clusterapi.MigrateToClusterApiV1beta2

If the recipe isn’t available locally, install it with:

mod config recipes jar install org.openrewrite.recipe:rewrite-kubernetes:RELEASE

Definition

This recipe runs the following recipes in order.

Data tables

Structured output this recipe can produce.

  • Cluster API v1beta2 migrationsEvery `cluster.x-k8s.io/v1beta1` resource considered, what moving it to `v1beta2` rewrote, and why the ones left behind could not move.org.openrewrite.kubernetes.clusterapi.table.ClusterApiV1beta2Migrations
  • 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