diff --git a/Makefile b/Makefile index 1c79fa1ff..e1bc18215 100644 --- a/Makefile +++ b/Makefile @@ -437,7 +437,7 @@ create-management-cluster: $(KUSTOMIZE) $(ENVSUBST) ./hack/install-cert-manager.sh # Deploy CAPI - curl --retry $(CURL_RETRIES) -sSL https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/cluster-api-components.yaml | $(ENVSUBST) | kubectl apply -f - + curl --retry $(CURL_RETRIES) -sSL https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/cluster-api-components.yaml | $(ENVSUBST) | kubectl apply -f - # Deploy CAPDO kind load docker-image $(CONTROLLER_IMG)-$(ARCH):$(TAG) --name=capdo diff --git a/Tiltfile b/Tiltfile index ebae44117..7d95473a4 100644 --- a/Tiltfile +++ b/Tiltfile @@ -16,7 +16,7 @@ settings = { "deploy_cert_manager": True, "preload_images_for_kind": True, "kind_cluster_name": "capdo", - "capi_version": "v1.4.5", + "capi_version": "v1.5.2", "cert_manager_version": "v1.10.1", "kubernetes_version": "v1.25.5", } diff --git a/api/v1beta1/docluster_webhook.go b/api/v1beta1/docluster_webhook.go index b533c4d8a..3b728508e 100644 --- a/api/v1beta1/docluster_webhook.go +++ b/api/v1beta1/docluster_webhook.go @@ -26,6 +26,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) // log is for logging in this package. @@ -49,17 +50,17 @@ func (r *DOCluster) SetupWebhookWithManager(mgr ctrl.Manager) error { func (r *DOCluster) Default() {} // ValidateCreate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOCluster) ValidateCreate() error { - return nil +func (r *DOCluster) ValidateCreate() (admission.Warnings, error) { + return nil, nil } // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOCluster) ValidateUpdate(old runtime.Object) error { +func (r *DOCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { var allErrs field.ErrorList oldDOCluster, ok := old.(*DOCluster) if !ok { - return apierrors.NewBadRequest(fmt.Sprintf("expected an DOCluster but got a %T", old)) + return nil, apierrors.NewBadRequest(fmt.Sprintf("expected an DOCluster but got a %T", old)) } if r.Spec.Region != oldDOCluster.Spec.Region { @@ -67,13 +68,13 @@ func (r *DOCluster) ValidateUpdate(old runtime.Object) error { } if len(allErrs) == 0 { - return nil + return nil, nil } - return apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) + return nil, apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) } // ValidateDelete implements webhook.Validator so a webhook will be registered for the type. -func (r *DOCluster) ValidateDelete() error { - return nil +func (r *DOCluster) ValidateDelete() (admission.Warnings, error) { + return nil, nil } diff --git a/api/v1beta1/doclustertemplate_webhook.go b/api/v1beta1/doclustertemplate_webhook.go index f84e8a2e9..aabc026b6 100644 --- a/api/v1beta1/doclustertemplate_webhook.go +++ b/api/v1beta1/doclustertemplate_webhook.go @@ -25,6 +25,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) // log is for logging in this package. @@ -49,27 +50,27 @@ func (r *DOClusterTemplate) Default() { var _ webhook.Validator = &DOClusterTemplate{} // ValidateCreate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOClusterTemplate) ValidateCreate() error { +func (r *DOClusterTemplate) ValidateCreate() (admission.Warnings, error) { doclustertemplatelog.Info("validate create", "name", r.Name) - return nil + return nil, nil } // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error { +func (r *DOClusterTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error) { old, ok := oldRaw.(*DOClusterTemplate) if !ok { - return apierrors.NewBadRequest(fmt.Sprintf("expected an DOClusterTemplate but got a %T", oldRaw)) + return nil, apierrors.NewBadRequest(fmt.Sprintf("expected an DOClusterTemplate but got a %T", oldRaw)) } if !reflect.DeepEqual(r.Spec, old.Spec) { - return apierrors.NewBadRequest("DOClusterTemplate.Spec is immutable") + return nil, apierrors.NewBadRequest("DOClusterTemplate.Spec is immutable") } - return nil + return nil, nil } // ValidateDelete implements webhook.Validator so a webhook will be registered for the type. -func (r *DOClusterTemplate) ValidateDelete() error { +func (r *DOClusterTemplate) ValidateDelete() (admission.Warnings, error) { doclustertemplatelog.Info("validate delete", "name", r.Name) - return nil + return nil, nil } diff --git a/api/v1beta1/domachine_webhook.go b/api/v1beta1/domachine_webhook.go index 0d32c7fcb..0987dac83 100644 --- a/api/v1beta1/domachine_webhook.go +++ b/api/v1beta1/domachine_webhook.go @@ -28,6 +28,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) // log is for logging in this package. @@ -51,22 +52,22 @@ func (r *DOMachine) SetupWebhookWithManager(mgr ctrl.Manager) error { func (r *DOMachine) Default() {} // ValidateCreate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOMachine) ValidateCreate() error { - return nil +func (r *DOMachine) ValidateCreate() (admission.Warnings, error) { + return nil, nil } // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOMachine) ValidateUpdate(old runtime.Object) error { +func (r *DOMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { var allErrs field.ErrorList newDOMachine, err := runtime.DefaultUnstructuredConverter.ToUnstructured(r) if err != nil { - return apierrors.NewInternalError(errors.Wrap(err, "failed to convert new DOMachine to unstructured object")) + return nil, apierrors.NewInternalError(errors.Wrap(err, "failed to convert new DOMachine to unstructured object")) } oldDOMachine, err := runtime.DefaultUnstructuredConverter.ToUnstructured(old) if err != nil { - return apierrors.NewInternalError(errors.Wrap(err, "failed to convert old DOMachine to unstructured object")) + return nil, apierrors.NewInternalError(errors.Wrap(err, "failed to convert old DOMachine to unstructured object")) } newDOMachineSpec := newDOMachine["spec"].(map[string]interface{}) @@ -85,13 +86,13 @@ func (r *DOMachine) ValidateUpdate(old runtime.Object) error { } if len(allErrs) == 0 { - return nil + return nil, nil } - return apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) + return nil, apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) } // ValidateDelete implements webhook.Validator so a webhook will be registered for the type. -func (r *DOMachine) ValidateDelete() error { - return nil +func (r *DOMachine) ValidateDelete() (admission.Warnings, error) { + return nil, nil } diff --git a/api/v1beta1/domachinetemplate_webhook.go b/api/v1beta1/domachinetemplate_webhook.go index da6d499b4..8cd2cffd6 100644 --- a/api/v1beta1/domachinetemplate_webhook.go +++ b/api/v1beta1/domachinetemplate_webhook.go @@ -25,6 +25,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) // +kubebuilder:webhook:verbs=create;update,path=/validate-infrastructure-cluster-x-k8s-io-v1beta1-domachinetemplate,mutating=false,failurePolicy=fail,matchPolicy=Equivalent,groups=infrastructure.cluster.x-k8s.io,resources=domachinetemplates,versions=v1beta1,name=validation.domachinetemplate.infrastructure.cluster.x-k8s.io,sideEffects=None,admissionReviewVersions=v1beta1 @@ -42,7 +43,7 @@ func (r *DOMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error { var _ webhook.Validator = &DOMachineTemplate{} // ValidateCreate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOMachineTemplate) ValidateCreate() error { +func (r *DOMachineTemplate) ValidateCreate() (admission.Warnings, error) { var allErrs field.ErrorList if r.Spec.Template.Spec.ProviderID != nil { @@ -50,14 +51,14 @@ func (r *DOMachineTemplate) ValidateCreate() error { } if len(allErrs) == 0 { - return nil + return nil, nil } - return apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) + return nil, apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) } // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type. -func (r *DOMachineTemplate) ValidateUpdate(old runtime.Object) error { +func (r *DOMachineTemplate) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { var allErrs field.ErrorList oldDOMachineTemplate := old.(*DOMachineTemplate) @@ -66,15 +67,15 @@ func (r *DOMachineTemplate) ValidateUpdate(old runtime.Object) error { } if len(allErrs) == 0 { - return nil + return nil, nil } - return apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) + return nil, apierrors.NewInvalid(r.GroupVersionKind().GroupKind(), r.Name, allErrs) } // ValidateDelete implements webhook.Validator so a webhook will be registered for the type. -func (r *DOMachineTemplate) ValidateDelete() error { - return nil +func (r *DOMachineTemplate) ValidateDelete() (admission.Warnings, error) { + return nil, nil } // Default implements webhookutil.defaulter so a webhook will be registered for the type. diff --git a/controllers/docluster_controller.go b/controllers/docluster_controller.go index 3fd070189..3c5fb6b13 100644 --- a/controllers/docluster_controller.go +++ b/controllers/docluster_controller.go @@ -63,7 +63,7 @@ func (r *DOClusterReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Man // Add a watch on clusterv1.Cluster object for unpause notifications. if err = c.Watch( - &source.Kind{Type: &clusterv1.Cluster{}}, + source.Kind(mgr.GetCache(), &clusterv1.Cluster{}), handler.EnqueueRequestsFromMapFunc(util.ClusterToInfrastructureMapFunc(ctx, infrav1.GroupVersion.WithKind("DOCluster"), mgr.GetClient(), &infrav1.DOCluster{})), predicates.ClusterUnpaused(ctrl.LoggerFrom(ctx)), ); err != nil { diff --git a/controllers/domachine_controller.go b/controllers/domachine_controller.go index e912674b8..fd04bfc61 100644 --- a/controllers/domachine_controller.go +++ b/controllers/domachine_controller.go @@ -60,11 +60,11 @@ func (r *DOMachineReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Man For(&infrav1.DOMachine{}). WithEventFilter(predicates.ResourceNotPaused(ctrl.LoggerFrom(ctx))). // don't queue reconcile if resource is paused Watches( - &source.Kind{Type: &clusterv1.Machine{}}, + &clusterv1.Machine{}, handler.EnqueueRequestsFromMapFunc(util.MachineToInfrastructureMapFunc(infrav1.GroupVersion.WithKind("DOMachine"))), ). Watches( - &source.Kind{Type: &infrav1.DOCluster{}}, + &infrav1.DOCluster{}, handler.EnqueueRequestsFromMapFunc(r.DOClusterToDOMachines(ctx)), ). Build(r) @@ -72,14 +72,14 @@ func (r *DOMachineReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Man return errors.Wrapf(err, "error creating controller") } - clusterToObjectFunc, err := util.ClusterToObjectsMapper(r.Client, &infrav1.DOMachineList{}, mgr.GetScheme()) + clusterToObjectFunc, err := util.ClusterToTypedObjectsMapper(r.Client, &infrav1.DOMachineList{}, mgr.GetScheme()) if err != nil { return errors.Wrapf(err, "failed to create mapper for Cluster to DOMachines") } // Add a watch on clusterv1.Cluster object for unpause & ready notifications. if err := c.Watch( - &source.Kind{Type: &clusterv1.Cluster{}}, + source.Kind(mgr.GetCache(), &clusterv1.Cluster{}), handler.EnqueueRequestsFromMapFunc(clusterToObjectFunc), predicates.ClusterUnpausedAndInfrastructureReady(ctrl.LoggerFrom(ctx)), ); err != nil { @@ -92,7 +92,7 @@ func (r *DOMachineReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Man // DOClusterToDOMachines convert the cluster to machines spec. func (r *DOMachineReconciler) DOClusterToDOMachines(ctx context.Context) handler.MapFunc { log := ctrl.LoggerFrom(ctx) - return func(o client.Object) []ctrl.Request { + return func(ctx context.Context, o client.Object) []ctrl.Request { result := []ctrl.Request{} c, ok := o.(*infrav1.DOCluster) diff --git a/controllers/domachine_controller_unit_test.go b/controllers/domachine_controller_unit_test.go index 2be66bc56..3581fe115 100644 --- a/controllers/domachine_controller_unit_test.go +++ b/controllers/domachine_controller_unit_test.go @@ -17,6 +17,7 @@ limitations under the License. package controllers import ( + "context" "testing" . "github.com/onsi/gomega" @@ -154,7 +155,7 @@ func TestDOMachineReconciler_DOClusterToDOMachines(t *testing.T) { } fn := r.DOClusterToDOMachines(ctrl.SetupSignalHandler()) - out := fn(tt.request) + out := fn(context.Background(), tt.request) g.Expect(out).To(Equal(tt.expected)) }) } diff --git a/go.mod b/go.mod index 5d918cb9d..5e2e98abd 100644 --- a/go.mod +++ b/go.mod @@ -12,14 +12,14 @@ require ( github.com/pkg/errors v0.9.1 github.com/spf13/pflag v1.0.5 golang.org/x/oauth2 v0.13.0 - k8s.io/api v0.26.7 - k8s.io/apimachinery v0.26.7 - k8s.io/client-go v0.26.7 + k8s.io/api v0.27.6 + k8s.io/apimachinery v0.27.6 + k8s.io/client-go v0.27.6 k8s.io/klog/v2 v2.90.1 k8s.io/utils v0.0.0-20230209194617-a36077c30491 - sigs.k8s.io/cluster-api v1.4.5 - sigs.k8s.io/cluster-api/test v1.4.5 - sigs.k8s.io/controller-runtime v0.14.5 + sigs.k8s.io/cluster-api v1.5.2 + sigs.k8s.io/cluster-api/test v1.5.2 + sigs.k8s.io/controller-runtime v0.15.2 ) require ( @@ -29,6 +29,7 @@ require ( github.com/Masterminds/semver/v3 v3.2.0 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.5.0 // indirect + github.com/adrg/xdg v0.4.0 // indirect github.com/alessio/shellescape v1.4.1 // indirect github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect @@ -37,7 +38,7 @@ require ( github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/coredns/caddy v1.1.0 // indirect - github.com/coredns/corefile-migration v1.0.20 // indirect + github.com/coredns/corefile-migration v1.0.21 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/distribution v2.8.2+incompatible // indirect github.com/docker/docker v24.0.5+incompatible // indirect @@ -108,7 +109,7 @@ require ( golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.13.0 // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect + gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/protobuf v1.31.0 // indirect @@ -117,10 +118,10 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.0 // indirect - k8s.io/apiextensions-apiserver v0.26.7 // indirect - k8s.io/apiserver v0.26.7 // indirect - k8s.io/cluster-bootstrap v0.26.7 // indirect - k8s.io/component-base v0.26.7 // indirect + k8s.io/apiextensions-apiserver v0.27.2 // indirect + k8s.io/apiserver v0.27.2 // indirect + k8s.io/cluster-bootstrap v0.27.2 // indirect + k8s.io/component-base v0.27.2 // indirect k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/kind v0.20.0 // indirect @@ -128,4 +129,4 @@ require ( sigs.k8s.io/yaml v1.3.0 // indirect ) -replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.4.5 +replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.5.2 diff --git a/go.sum b/go.sum index 072062b9b..0c009b8b3 100644 --- a/go.sum +++ b/go.sum @@ -53,6 +53,8 @@ github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBa github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls= +github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0= @@ -90,8 +92,8 @@ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnht github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/coredns/caddy v1.1.0 h1:ezvsPrT/tA/7pYDBZxu0cT0VmWk75AfIaf6GSYCNMf0= github.com/coredns/caddy v1.1.0/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= -github.com/coredns/corefile-migration v1.0.20 h1:MdOkT6F3ehju/n9tgxlGct8XAajOX2vN+wG7To4BWSI= -github.com/coredns/corefile-migration v1.0.20/go.mod h1:XnhgULOEouimnzgn0t4WPuFDN2/PJQcTxdWKC5eXNGE= +github.com/coredns/corefile-migration v1.0.21 h1:W/DCETrHDiFo0Wj03EyMkaQ9fwsmSgqTCQDHpceaSsE= +github.com/coredns/corefile-migration v1.0.21/go.mod h1:XnhgULOEouimnzgn0t4WPuFDN2/PJQcTxdWKC5eXNGE= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -128,7 +130,6 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= @@ -151,7 +152,7 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= +github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8= @@ -353,7 +354,7 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= +github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -410,7 +411,7 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -488,7 +489,7 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -654,6 +655,7 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -743,8 +745,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +gomodules.xyz/jsonpatch/v2 v2.3.0 h1:8NFhfS6gzxNqjLIYnZxg319wZ5Qjnx4m/CcX+Klzazc= +gomodules.xyz/jsonpatch/v2 v2.3.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -883,20 +885,20 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.26.7 h1:Lf4iEBEJb5OFNmawtBfSZV/UNi9riSJ0t1qdhyZqI40= -k8s.io/api v0.26.7/go.mod h1:Vk9bMadzA49UHPmHB//lX7VRCQSXGoVwfLd3Sc1SSXI= -k8s.io/apiextensions-apiserver v0.26.7 h1:L7ImW831auK1ZQBtNJPaG5qyrFxeISEBlgfZJfnaIPk= -k8s.io/apiextensions-apiserver v0.26.7/go.mod h1:3DbZBfS3kO7/Jaj7qqzcBtPcKP0/KcklyAnk8zc+fs4= -k8s.io/apimachinery v0.26.7 h1:590jSBwaSHCAFCqltaEogY/zybFlhGsnLteLpuF2wig= -k8s.io/apimachinery v0.26.7/go.mod h1:qYzLkrQ9lhrZRh0jNKo2cfvf/R1/kQONnSiyB7NUJU0= -k8s.io/apiserver v0.26.7 h1:NX/zBZZn4R+Cq6shwyn8Pn8REd0yJJ16dbtv9WkEVEU= -k8s.io/apiserver v0.26.7/go.mod h1:r0wDRWHI7VL/KlQLTkJJBVGZ3KeNfv+VetlyRtr86xs= -k8s.io/client-go v0.26.7 h1:hyU9aKHlwVOykgyxzGYkrDSLCc4+mimZVyUJjPyUn1E= -k8s.io/client-go v0.26.7/go.mod h1:okYjy0jtq6sdeztALDvCh24tg4opOQS1XNvsJlERDAo= -k8s.io/cluster-bootstrap v0.26.7 h1:dABsfwfa6MzaAVjSbKBghzafwYMIU04xrxX7AVGMXNw= -k8s.io/cluster-bootstrap v0.26.7/go.mod h1:6niekEJNTZNfOvqLrJCqrhTdsjmEMMjAjsQBoEDWlZQ= -k8s.io/component-base v0.26.7 h1:uqsOyZh0Zqoaup8tmHa491D/CvgFdGUs+X2H/inNUKM= -k8s.io/component-base v0.26.7/go.mod h1:CZe1HTmX/DQdeBrb9XYOXzs96jXth8ZbFvhLMsoJLUg= +k8s.io/api v0.27.6 h1:PBWu/lywJe2qQcshMjubzcBg7+XDZOo7O8JJAWuYtUo= +k8s.io/api v0.27.6/go.mod h1:AQYj0UsFCp3qJE7bOVnUuy4orCsXVkvHefnbYQiNWgk= +k8s.io/apiextensions-apiserver v0.27.2 h1:iwhyoeS4xj9Y7v8YExhUwbVuBhMr3Q4bd/laClBV6Bo= +k8s.io/apiextensions-apiserver v0.27.2/go.mod h1:Oz9UdvGguL3ULgRdY9QMUzL2RZImotgxvGjdWRq6ZXQ= +k8s.io/apimachinery v0.27.6 h1:mGU8jmBq5o8mWBov+mLjdTBcU+etTE19waies4AQ6NE= +k8s.io/apimachinery v0.27.6/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E= +k8s.io/apiserver v0.27.2 h1:p+tjwrcQEZDrEorCZV2/qE8osGTINPuS5ZNqWAvKm5E= +k8s.io/apiserver v0.27.2/go.mod h1:EsOf39d75rMivgvvwjJ3OW/u9n1/BmUMK5otEOJrb1Y= +k8s.io/client-go v0.27.6 h1:vzI8804gpUtpMCNaFjIFyJrifH7u//LJCJPy8fQuYQg= +k8s.io/client-go v0.27.6/go.mod h1:PMsXcDKiJTW7PHJ64oEsIUJF319wm+EFlCj76oE5QXM= +k8s.io/cluster-bootstrap v0.27.2 h1:OL3onrOwrUD7NQxBUqQwTl1Uu2GQKCkw9BMHpc4PbiA= +k8s.io/cluster-bootstrap v0.27.2/go.mod h1:b++PF0mjUOiTKdPQFlDw7p4V2VquANZ8SfhAwzxZJFM= +k8s.io/component-base v0.27.2 h1:neju+7s/r5O4x4/txeUONNTS9r1HsPbyoPBAtHsDCpo= +k8s.io/component-base v0.27.2/go.mod h1:5UPk7EjfgrfgRIuDBFtsEFAe4DAvP3U+M8RTzoSJkpo= k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= @@ -906,12 +908,12 @@ k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/cluster-api v1.4.5 h1:Xwi9cuL3FOR1gB6FhhKi7EEadY4m3CdJAesyx9/kxUo= -sigs.k8s.io/cluster-api v1.4.5/go.mod h1:HSiT5mE5uuxctGBiQcRJrZ6/iH+CCVmTvOryxSBcBG8= -sigs.k8s.io/cluster-api/test v1.4.5 h1:0ZuQre03UaxRXgiK3wQjtJNZGebw1xFaPvKFDOi3KaM= -sigs.k8s.io/cluster-api/test v1.4.5/go.mod h1:OMWLTfmTeFqMtprBE1zCDDpYect1M5jcEYYTSY7AgSA= -sigs.k8s.io/controller-runtime v0.14.5 h1:6xaWFqzT5KuAQ9ufgUaj1G/+C4Y1GRkhrxl+BJ9i+5s= -sigs.k8s.io/controller-runtime v0.14.5/go.mod h1:WqIdsAY6JBsjfc/CqO0CORmNtoCtE4S6qbPc9s68h+0= +sigs.k8s.io/cluster-api v1.5.2 h1:pCsyEHwTBb7n+U5Z2OA5STxdJ1EuSpJv8FLBx4lii3s= +sigs.k8s.io/cluster-api v1.5.2/go.mod h1:EGJUNpFWi7dF426tO8MG/jE+w7T0UO5KyMnOwQ5riUY= +sigs.k8s.io/cluster-api/test v1.5.2 h1:Hlorgn4ebGdSxP4IZAT7eMweAowh4n0/vdhc4HAPNF8= +sigs.k8s.io/cluster-api/test v1.5.2/go.mod h1:mFlsY1y0lApBgQyXbmVprdzCK+9MQNp1C38K+aZdn5A= +sigs.k8s.io/controller-runtime v0.15.2 h1:9V7b7SDQSJ08IIsJ6CY1CE85Okhp87dyTMNDG0FS7f4= +sigs.k8s.io/controller-runtime v0.15.2/go.mod h1:7ngYvp1MLT+9GeZ+6lH3LOlcHkp/+tzA/fmHa4iq9kk= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/kind v0.20.0 h1:f0sc3v9mQbGnjBUaqSFST1dwIuiikKVGgoTwpoP33a8= diff --git a/metadata.yaml b/metadata.yaml index 12288dffe..3f780ad0a 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -22,3 +22,6 @@ releaseSeries: - major: 1 minor: 4 contract: v1beta1 +- major: 1 + minor: 5 + contract: v1beta1 diff --git a/test/e2e/config/digitalocean-ci.yaml b/test/e2e/config/digitalocean-ci.yaml index 1b0097293..97c96f756 100644 --- a/test/e2e/config/digitalocean-ci.yaml +++ b/test/e2e/config/digitalocean-ci.yaml @@ -7,8 +7,8 @@ providers: - name: cluster-api type: CoreProvider versions: - - name: v1.4.5 - value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/core-components.yaml + - name: v1.5.2 + value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/core-components.yaml type: "url" files: - sourcePath: "${PWD}/test/e2e/data/metadata/cluster-api/metadata.yaml" @@ -20,8 +20,8 @@ providers: - name: kubeadm type: BootstrapProvider versions: - - name: v1.4.5 - value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/bootstrap-components.yaml + - name: v1.5.2 + value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/bootstrap-components.yaml type: "url" files: - sourcePath: "${PWD}/test/e2e/data/metadata/cluster-api/metadata.yaml" @@ -33,8 +33,8 @@ providers: - name: kubeadm type: ControlPlaneProvider versions: - - name: v1.4.5 - value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/control-plane-components.yaml + - name: v1.5.2 + value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/control-plane-components.yaml type: "url" files: - sourcePath: "${PWD}/test/e2e/data/metadata/cluster-api/metadata.yaml" @@ -46,7 +46,7 @@ providers: - name: digitalocean type: InfrastructureProvider versions: - - name: v1.4.99 + - name: v1.5.99 value: "${PWD}/config/default" replacements: - old: gcr.io/k8s-staging-cluster-api-do/cluster-api-do-controller:dev diff --git a/test/e2e/config/digitalocean-dev.yaml b/test/e2e/config/digitalocean-dev.yaml index e1cf8b611..2c6ddc439 100644 --- a/test/e2e/config/digitalocean-dev.yaml +++ b/test/e2e/config/digitalocean-dev.yaml @@ -7,8 +7,8 @@ providers: - name: cluster-api type: CoreProvider versions: - - name: v1.4.5 - value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/core-components.yaml + - name: v1.5.2 + value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/core-components.yaml type: "url" files: - sourcePath: "${PWD}/test/e2e/data/metadata/cluster-api/metadata.yaml" @@ -20,8 +20,8 @@ providers: - name: kubeadm type: BootstrapProvider versions: - - name: v1.4.5 - value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/bootstrap-components.yaml + - name: v1.5.2 + value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/bootstrap-components.yaml type: "url" files: - sourcePath: "${PWD}/test/e2e/data/metadata/cluster-api/metadata.yaml" @@ -33,8 +33,8 @@ providers: - name: kubeadm type: ControlPlaneProvider versions: - - name: v1.4.5 - value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.5/control-plane-components.yaml + - name: v1.5.2 + value: https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.5.2/control-plane-components.yaml type: "url" files: - sourcePath: "${PWD}/test/e2e/data/metadata/cluster-api/metadata.yaml" @@ -46,7 +46,7 @@ providers: - name: digitalocean type: InfrastructureProvider versions: - - name: v1.4.99 # Use manifest from source files + - name: v1.5.99 # Use manifest from source files value: ${PWD}/config/default replacements: - old: gcr.io/k8s-staging-cluster-api-do/cluster-api-do-controller:dev diff --git a/test/e2e/data/metadata/cluster-api/metadata.yaml b/test/e2e/data/metadata/cluster-api/metadata.yaml index ed7d697be..3dcdbd181 100644 --- a/test/e2e/data/metadata/cluster-api/metadata.yaml +++ b/test/e2e/data/metadata/cluster-api/metadata.yaml @@ -1,6 +1,9 @@ apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3 kind: Metadata releaseSeries: + - major: 1 + minor: 5 + contract: v1beta1 - major: 1 minor: 4 contract: v1beta1