sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/developer/providers/migrations/v1.0-to-v1.1.md (about)

     1  # Cluster API v1.0 compared to v1.1
     2  
     3  This document provides an overview over relevant changes between ClusterAPI v1.0 and v1.1 for
     4  maintainer of other providers and consumers of our Go API.
     5  
     6  ## Minimum Go version
     7  
     8  * The Go version used by Cluster API is now Go 1.17+
     9  
    10  ## Dependencies
    11  
    12  **Note**: Only the most relevant dependencies are listed, `k8s.io/` and `ginkgo`/`gomega` dependencies
    13  are kept in sync with the versions used by `sigs.k8s.io/controller-runtime`. 
    14  
    15  - sigs.k8s.io/controller-runtime: v0.10.x => v0.11.x
    16  - k8s.io/*: v0.22.x => v0.23.x (derived from controller-runtime)
    17  - github.com/go-logr/logr: v0.4.0 => v1.2.0 (derived from controller-runtime)
    18  - k8s.io/klog/v2: v2.9.0 => v2.30.0 (derived from controller-runtime)
    19  - sigs.k8s.io/controller-tools: v0.7.x => v0.8.x
    20  - sigs.k8s.io/kind: v0.11.x => v0.11.x
    21  
    22  ## Changes by Kind
    23  
    24  ### Deprecation
    25  
    26  * The Cluster and ClusterClass webhooks have been moved to the `webhooks` package. Thus, the following methods on `Cluster` and `ClusterClass` 
    27    in `api/v1beta1` are deprecated: `SetupWebhookWithManager`, `Default`, `ValidateCreate`, `ValidateUpdate` and `ValidateDelete`.
    28  * The `third_party/kubernetes-drain` package is deprecated, as we're now using `k8s.io/kubectl/pkg/drain` instead ([PR](https://github.com/kubernetes-sigs/cluster-api/pull/5440)). 
    29  * `util/version.CompareWithBuildIdentifiers` has been deprecated, please use `util/version.Compare(a, b, WithBuildTags())` instead.
    30  * The functions `annotations.HasPausedAnnotation` and `annotations.HasSkipRemediationAnnotation` have been deprecated, please use
    31    `annotations.HasPaused` and `annotations.HasSkipRemediation` respectively instead.
    32  
    33  ### Removals
    34  
    35  * `KCPUpgradeSpec` has been removed. Please use `ClusterUpgradeConformanceSpec` instead.
    36  
    37  ### API Change
    38  
    39  * Some controllers have been moved to internal to reduce their API surface. We now only
    40    surface what is necessary, e.g. the reconciler and the `SetupWithManager` func:
    41      * [bootstrap/kubeadm/controllers](https://github.com/kubernetes-sigs/cluster-api/pull/5493)
    42      * controllers [part1](https://github.com/kubernetes-sigs/cluster-api/pull/5899) [part2](https://github.com/kubernetes-sigs/cluster-api/pull/5913) [part3](https://github.com/kubernetes-sigs/cluster-api/pull/5917)
    43      * [controlplane/kubeadm/controllers](https://github.com/kubernetes-sigs/cluster-api/pull/5929)
    44      * [exp/addons/controllers](https://github.com/kubernetes-sigs/cluster-api/pull/5639) 
    45      * [test/infrastructure/docker/controllers](https://github.com/kubernetes-sigs/cluster-api/pull/5595) 
    46      * [test/infrastructure/docker/exp/controllers](https://github.com/kubernetes-sigs/cluster-api/pull/5690) 
    47      * [exp/controllers](https://github.com/kubernetes-sigs/cluster-api/pull/5651)
    48  
    49  * Following packages have been moved to internal
    50      * [/test/infrastructure/docker/cloudinit](https://github.com/kubernetes-sigs/cluster-api/pull/5795)
    51      * [/test/infrastructure/docker/docker](https://github.com/kubernetes-sigs/cluster-api/pull/5795)
    52      * [/test/infrastructure/docker/third_party](https://github.com/kubernetes-sigs/cluster-api/pull/5795)
    53      * [/test/infrastructure/docker/exp/docker](https://github.com/kubernetes-sigs/cluster-api/pull/5795)
    54  
    55  ### Other
    56  
    57  * ClusterClass:
    58      * `clusterctl` is now able to handle cluster templates with ClusterClasses ([PR](https://github.com/kubernetes-sigs/cluster-api/pull/5351)).
    59        Please check out the corresponding documentation in [clusterctl provider contract](../../../clusterctl/provider-contract.md#clusterclass-definitions)
    60        If you have any further questions about writing ClusterClasses, please let us know.
    61      * e2e tests:
    62          * `QuickStartSpec` is now able to test clusters using ClusterClass. Please see this [PR](https://github.com/kubernetes-sigs/cluster-api/pull/5423) for an example on how to use it.
    63          * `SelfHostedSpec` is now able to test clusters using ClusterClass. Please see this [PR](https://github.com/kubernetes-sigs/cluster-api/pull/5600) for an example on how to use it.
    64  * Test framework provides better logging in case of failures when creating the bootstrap kind cluster; in order to
    65    fully exploit this feature, it is required to pass the `LogFolder` parameter when calling `CreateKindBootstrapClusterAndLoadImages`. Please see this [PR](https://github.com/kubernetes-sigs/cluster-api/pull/5910) for an example on how to use it. 
    66  * The `gci` linter has been enabled to enforce consistent imports. As usual, feel free to take a look at our linter config, but of course it's not mandatory to adopt it.
    67  * The Tilt dev setup has been extended with:
    68      * [an option to deploy Grafana, Loki and Promtail](https://github.com/kubernetes-sigs/cluster-api/pull/5336) 
    69      * [options to ease debugging of controllers (delve, profiler, metrics)](https://github.com/kubernetes-sigs/cluster-api/pull/5485)