From 65413d947776209ca81d4cf543f70c5e9e4e2021 Mon Sep 17 00:00:00 2001 From: Damyan Yordanov Date: Tue, 3 Dec 2024 11:39:27 +0100 Subject: [PATCH] Regenerate types --- Makefile | 23 +- ...d.gardener.cloud_etcdcopybackupstasks.yaml | 4 +- .../20-crd-druid.gardener.cloud_etcds.yaml | 227 ++++++++++++++---- ...tensions.gardener.cloud_backupbuckets.yaml | 2 +- ...tensions.gardener.cloud_backupentries.yaml | 2 +- ...rd-extensions.gardener.cloud_bastions.yaml | 7 +- ...rd-extensions.gardener.cloud_clusters.yaml | 2 +- ...ions.gardener.cloud_containerruntimes.yaml | 4 +- ...tensions.gardener.cloud_controlplanes.yaml | 2 +- ...-extensions.gardener.cloud_dnsrecords.yaml | 2 +- ...-extensions.gardener.cloud_extensions.yaml | 2 +- ...nsions.gardener.cloud_infrastructures.yaml | 2 +- ...rd-extensions.gardener.cloud_networks.yaml | 4 +- ...gardener.cloud_operatingsystemconfigs.yaml | 34 ++- ...crd-extensions.gardener.cloud_workers.yaml | 18 +- ...urces.gardener.cloud_managedresources.yaml | 8 +- hack/update-codegen.sh | 86 +------ .../v1alpha1/zz_generated.conversion.go | 3 +- .../config/v1alpha1/zz_generated.deepcopy.go | 3 +- .../config/v1alpha1/zz_generated.defaults.go | 3 +- pkg/apis/config/zz_generated.deepcopy.go | 3 +- .../v1alpha1/zz_generated.conversion.go | 17 +- .../v1alpha1/zz_generated.deepcopy.go | 10 +- .../v1alpha1/zz_generated.defaults.go | 3 +- pkg/apis/ironcore/zz_generated.deepcopy.go | 3 +- .../backupentry/mock_backupentry.go | 1 + .../infrastructure/actuator_reconcile.go | 2 +- 27 files changed, 276 insertions(+), 201 deletions(-) diff --git a/Makefile b/Makefile index 91750c27..d0b09668 100644 --- a/Makefile +++ b/Makefile @@ -110,7 +110,7 @@ check: $(GOIMPORTS) $(GOLANGCI_LINT) $(MOCKGEN) @REPO_ROOT=$(REPO_ROOT) bash $(GARDENER_HACK_DIR)/check-charts.sh ./charts .PHONY: generate -generate: deepcopy-gen defaulter-gen conversion-gen $(CONTROLLER_GEN) $(HELM) $(MOCKGEN) $(YQ) $(VGOPATH) +generate: $(CONTROLLER_GEN) $(HELM) $(MOCKGEN) $(YQ) $(VGOPATH) @GOPATH=$(GOPATH) VGOPATH=$(VGOPATH) \ MOCKGEN=$(MOCKGEN) \ DEEPCOPY_GEN=$(DEEPCOPY_GEN) \ @@ -163,33 +163,16 @@ $(LOCALBIN): mkdir -p $(LOCALBIN) ## Tool Binaries -DEEPCOPY_GEN ?= $(LOCALBIN)/deepcopy-gen -CONVERSION_GEN ?= $(LOCALBIN)/conversion-gen -DEFAULTER_GEN ?= $(LOCALBIN)/defaulter-gen ENVTEST ?= $(LOCALBIN)/setup-envtest ## Tool Versions -CODE_GENERATOR_VERSION ?= v0.29.3 +CODE_GENERATOR_VERSION ?= v0.31.0 # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.29.0 +ENVTEST_K8S_VERSION = 1.31.0 .PHONY: envtest envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. $(ENVTEST): $(LOCALBIN) test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest -.PHONY: deepcopy-gen -deepcopy-gen: $(DEEPCOPY_GEN) ## Download deepcopy-gen locally if necessary. -$(DEEPCOPY_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/deepcopy-gen || GOBIN=$(LOCALBIN) go install k8s.io/code-generator/cmd/deepcopy-gen@$(CODE_GENERATOR_VERSION) - -.PHONY: defaulter-gen -defaulter-gen: $(DEFAULTER_GEN) ## Download defaulter-gen locally if necessary. -$(DEFAULTER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/defaulter-gen || GOBIN=$(LOCALBIN) go install k8s.io/code-generator/cmd/defaulter-gen@$(CODE_GENERATOR_VERSION) - -.PHONY: conversion-gen -conversion-gen: $(CONVERSION_GEN) ## Download conversion-gen locally if necessary. -$(CONVERSION_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/conversion-gen || GOBIN=$(LOCALBIN) go install k8s.io/code-generator/cmd/conversion-gen@$(CODE_GENERATOR_VERSION) diff --git a/example/20-crd-druid.gardener.cloud_etcdcopybackupstasks.yaml b/example/20-crd-druid.gardener.cloud_etcdcopybackupstasks.yaml index 326ac615..229aaa63 100644 --- a/example/20-crd-druid.gardener.cloud_etcdcopybackupstasks.yaml +++ b/example/20-crd-druid.gardener.cloud_etcdcopybackupstasks.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: etcdcopybackupstasks.druid.gardener.cloud spec: group: druid.gardener.cloud @@ -159,7 +159,7 @@ spec: format: date-time type: string message: - description: A human readable message indicating details about + description: A human-readable message indicating details about the transition. type: string reason: diff --git a/example/20-crd-druid.gardener.cloud_etcds.yaml b/example/20-crd-druid.gardener.cloud_etcds.yaml index 8ed05508..9c6a12a1 100644 --- a/example/20-crd-druid.gardener.cloud_etcds.yaml +++ b/example/20-crd-druid.gardener.cloud_etcds.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: etcds.druid.gardener.cloud spec: group: druid.gardener.cloud @@ -85,11 +85,9 @@ spec: Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. @@ -100,6 +98,12 @@ spec: the Pod where this field is used. It makes that resource available inside a container. type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string required: - name type: object @@ -204,6 +208,12 @@ spec: leadership status of corresponding etcd is checked. type: string type: object + maxBackupsLimitBasedGC: + description: |- + MaxBackupsLimitBasedGC defines the maximum number of Full snapshots to retain in Limit Based GarbageCollectionPolicy + All full snapshots beyond this limit will be garbage collected. + format: int32 + type: integer port: description: Port define the port on which etcd-backup-restore server will be exposed. @@ -219,11 +229,9 @@ spec: Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. @@ -234,6 +242,12 @@ spec: the Pod where this field is used. It makes that resource available inside a container. type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string required: - name type: object @@ -353,7 +367,8 @@ spec: type: object type: object etcd: - description: EtcdConfig defines parameters associated etcd deployed + description: EtcdConfig defines the configuration for the etcd cluster + to be deployed. properties: authSecretRef: description: |- @@ -540,11 +555,9 @@ spec: Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. @@ -555,6 +568,12 @@ spec: the Pod where this field is used. It makes that resource available inside a container. type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string required: - name type: object @@ -590,6 +609,12 @@ spec: serverPort: format: int32 type: integer + snapshotCount: + description: |- + SnapshotCount defines the number of applied Raft entries to hold in-memory before compaction. + More info: https://etcd.io/docs/v3.4/op-guide/maintenance/#raft-log-retention + format: int64 + type: integer type: object labels: additionalProperties: @@ -664,11 +689,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. @@ -696,11 +723,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic weight: @@ -713,6 +742,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- If the affinity requirements specified by this field are not met at @@ -757,11 +787,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. @@ -789,14 +821,17 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic type: array + x-kubernetes-list-type: atomic required: - nodeSelectorTerms type: object @@ -859,11 +894,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -878,13 +915,13 @@ spec: description: |- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. - Also, MatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -893,13 +930,13 @@ spec: description: |- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. - Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -939,11 +976,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -963,6 +1002,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: description: |- This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching @@ -985,6 +1025,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- If the affinity requirements specified by this field are not met at @@ -1035,11 +1076,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1054,13 +1097,13 @@ spec: description: |- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. - Also, MatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -1069,13 +1112,13 @@ spec: description: |- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. - Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -1115,11 +1158,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1139,6 +1184,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: description: |- This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching @@ -1151,6 +1197,7 @@ spec: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules @@ -1209,11 +1256,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1228,13 +1277,13 @@ spec: description: |- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. - Also, MatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -1243,13 +1292,13 @@ spec: description: |- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. - Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -1289,11 +1338,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1313,6 +1364,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: description: |- This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching @@ -1335,6 +1387,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- If the anti-affinity requirements specified by this field are not met at @@ -1385,11 +1438,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1404,13 +1459,13 @@ spec: description: |- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. - Also, MatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -1419,13 +1474,13 @@ spec: description: |- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the - incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. - The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. - Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. - This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). items: type: string type: array @@ -1465,11 +1520,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1489,6 +1546,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: description: |- This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching @@ -1501,6 +1559,7 @@ spec: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object type: object topologySpreadConstraints: @@ -1543,11 +1602,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1569,7 +1630,6 @@ spec: Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. - This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). items: type: string @@ -1609,7 +1669,6 @@ spec: Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. - For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: | zone1 | zone2 | zone3 | @@ -1618,9 +1677,6 @@ spec: In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. - - - This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). format: int32 type: integer nodeAffinityPolicy: @@ -1630,7 +1686,6 @@ spec: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. - If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. type: string @@ -1642,7 +1697,6 @@ spec: has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. - If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. type: string @@ -1719,11 +1773,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1740,7 +1796,7 @@ spec: properties: autoCompactionMode: description: AutoCompactionMode defines the auto-compaction-mode:'periodic' - mode or 'revision' mode for etcd and embedded-Etcd of backup-restore + mode or 'revision' mode for etcd and embedded-etcd of backup-restore sidecar. enum: - periodic @@ -1748,7 +1804,7 @@ spec: type: string autoCompactionRetention: description: AutoCompactionRetention defines the auto-compaction-retention - length for etcd as well as for embedded-Etcd of backup-restore + length for etcd as well as for embedded-etcd of backup-restore sidecar. type: string type: object @@ -1801,7 +1857,7 @@ spec: format: date-time type: string message: - description: A human readable message indicating details about + description: A human-readable message indicating details about the transition. type: string reason: @@ -1840,6 +1896,9 @@ spec: name: description: Name of the referent type: string + required: + - kind + - name type: object labelSelector: description: |- @@ -1873,11 +1932,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1889,12 +1950,72 @@ spec: type: object x-kubernetes-map-type: atomic lastError: - description: LastError represents the last occurred error. + description: |- + LastError represents the last occurred error. + Deprecated: Use LastErrors instead. type: string + lastErrors: + description: LastErrors captures errors that occurred during the last + operation. + items: + description: LastError stores details of the most recent error encountered + for a resource. + properties: + code: + description: Code is an error code that uniquely identifies + an error. + type: string + description: + description: Description is a human-readable message indicating + details of the error. + type: string + observedAt: + description: ObservedAt is the time the error was observed. + format: date-time + type: string + required: + - code + - description + - observedAt + type: object + type: array + lastOperation: + description: LastOperation indicates the last operation performed + on this resource. + properties: + description: + description: Description describes the last operation. + type: string + lastUpdateTime: + description: LastUpdateTime is the time at which the operation + was last updated. + format: date-time + type: string + runID: + description: |- + RunID correlates an operation with a reconciliation run. + Every time an Etcd resource is reconciled (barring status reconciliation which is periodic), a unique ID is + generated which can be used to correlate all actions done as part of a single reconcile run. Capturing this + as part of LastOperation aids in establishing this correlation. This further helps in also easily filtering + reconcile logs as all structured logs in a reconciliation run should have the `runID` referenced. + type: string + state: + description: State is the state of the last operation. + type: string + type: + description: Type is the type of last operation. + type: string + required: + - description + - lastUpdateTime + - runID + - state + - type + type: object members: description: Members represents the members of the etcd cluster items: - description: EtcdMemberStatus holds information about a etcd cluster + description: EtcdMemberStatus holds information about etcd cluster membership. properties: id: @@ -1944,7 +2065,7 @@ spec: format: int32 type: integer replicas: - description: Replicas is the replica count of the etcd resource. + description: Replicas is the replica count of the etcd cluster. format: int32 type: integer serviceName: diff --git a/example/20-crd-extensions.gardener.cloud_backupbuckets.yaml b/example/20-crd-extensions.gardener.cloud_backupbuckets.yaml index c3399dba..aff336f1 100644 --- a/example/20-crd-extensions.gardener.cloud_backupbuckets.yaml +++ b/example/20-crd-extensions.gardener.cloud_backupbuckets.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: backupbuckets.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_backupentries.yaml b/example/20-crd-extensions.gardener.cloud_backupentries.yaml index 6b695ed4..d18bdc4c 100644 --- a/example/20-crd-extensions.gardener.cloud_backupentries.yaml +++ b/example/20-crd-extensions.gardener.cloud_backupentries.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: backupentries.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_bastions.yaml b/example/20-crd-extensions.gardener.cloud_bastions.yaml index 27e96706..ce81a081 100644 --- a/example/20-crd-extensions.gardener.cloud_bastions.yaml +++ b/example/20-crd-extensions.gardener.cloud_bastions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: bastions.extensions.gardener.cloud spec: group: extensions.gardener.cloud @@ -87,6 +87,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - cidr type: object @@ -198,8 +199,6 @@ spec: CamelCase names - cloud provider specific error values must have names that comply with the format foo.example.com/CamelCase. - --- - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -209,12 +208,12 @@ spec: format: int32 type: integer protocol: - default: TCP description: |- Protocol is the protocol of the service port of which status is recorded here The supported values are: "TCP", "UDP", "SCTP" type: string required: + - error - port - protocol type: object diff --git a/example/20-crd-extensions.gardener.cloud_clusters.yaml b/example/20-crd-extensions.gardener.cloud_clusters.yaml index 4eaaa8c6..bca44290 100644 --- a/example/20-crd-extensions.gardener.cloud_clusters.yaml +++ b/example/20-crd-extensions.gardener.cloud_clusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: clusters.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_containerruntimes.yaml b/example/20-crd-extensions.gardener.cloud_containerruntimes.yaml index c3518b18..5f98b5f6 100644 --- a/example/20-crd-extensions.gardener.cloud_containerruntimes.yaml +++ b/example/20-crd-extensions.gardener.cloud_containerruntimes.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: containerruntimes.extensions.gardener.cloud spec: group: extensions.gardener.cloud @@ -115,11 +115,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string diff --git a/example/20-crd-extensions.gardener.cloud_controlplanes.yaml b/example/20-crd-extensions.gardener.cloud_controlplanes.yaml index 477c5584..b0e7ea70 100644 --- a/example/20-crd-extensions.gardener.cloud_controlplanes.yaml +++ b/example/20-crd-extensions.gardener.cloud_controlplanes.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: controlplanes.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_dnsrecords.yaml b/example/20-crd-extensions.gardener.cloud_dnsrecords.yaml index 7ecd62e2..c7a3777f 100644 --- a/example/20-crd-extensions.gardener.cloud_dnsrecords.yaml +++ b/example/20-crd-extensions.gardener.cloud_dnsrecords.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: dnsrecords.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_extensions.yaml b/example/20-crd-extensions.gardener.cloud_extensions.yaml index 5ce99da6..aa194a66 100644 --- a/example/20-crd-extensions.gardener.cloud_extensions.yaml +++ b/example/20-crd-extensions.gardener.cloud_extensions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: extensions.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_infrastructures.yaml b/example/20-crd-extensions.gardener.cloud_infrastructures.yaml index 63636892..b0ca31fc 100644 --- a/example/20-crd-extensions.gardener.cloud_infrastructures.yaml +++ b/example/20-crd-extensions.gardener.cloud_infrastructures.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: infrastructures.extensions.gardener.cloud spec: group: extensions.gardener.cloud diff --git a/example/20-crd-extensions.gardener.cloud_networks.yaml b/example/20-crd-extensions.gardener.cloud_networks.yaml index 097fbdfe..26d8d0c3 100644 --- a/example/20-crd-extensions.gardener.cloud_networks.yaml +++ b/example/20-crd-extensions.gardener.cloud_networks.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: networks.extensions.gardener.cloud spec: group: extensions.gardener.cloud @@ -72,7 +72,7 @@ spec: ipFamilies: description: |- IPFamilies specifies the IP protocol versions to use for shoot networking. This field is immutable. - See https://github.com/gardener/gardener/blob/master/docs/usage/ipv6.md + See https://github.com/gardener/gardener/blob/master/docs/development/ipv6.md items: description: IPFamily is a type for specifying an IP protocol version to use in Gardener clusters. diff --git a/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml b/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml index f9595e8a..d39808d5 100644 --- a/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml +++ b/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: operatingsystemconfigs.extensions.gardener.cloud spec: group: extensions.gardener.cloud @@ -72,11 +72,43 @@ spec: description: CRI config is a structure contains configurations of the CRI library properties: + cgroupDriver: + description: CgroupDriver configures the CRI's cgroup driver. + Supported values are `cgroupfs` or `systemd`. + type: string containerd: description: |- ContainerdConfig is the containerd configuration. Only to be set for OperatingSystemConfigs with purpose 'reconcile'. properties: + plugins: + description: Plugins configures the plugins section in containerd's + config.toml. + items: + description: PluginConfig contains configuration values + for the containerd plugins section. + properties: + op: + description: Op is the operation for the given path. + Possible values are 'add' and 'remove', defaults to + 'add'. + type: string + path: + description: Path is a list of elements that construct + the path in the plugins section. + items: + type: string + type: array + values: + description: |- + Values are the values configured at the given path. If defined, it is expected as json format: + - A given json object will be put to the given path. + - If not configured, only the table entry to be created. + x-kubernetes-preserve-unknown-fields: true + required: + - path + type: object + type: array registries: description: Registries configures the registry hosts for containerd. diff --git a/example/20-crd-extensions.gardener.cloud_workers.yaml b/example/20-crd-extensions.gardener.cloud_workers.yaml index 156ca831..968fddf4 100644 --- a/example/20-crd-extensions.gardener.cloud_workers.yaml +++ b/example/20-crd-extensions.gardener.cloud_workers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: workers.extensions.gardener.cloud spec: group: extensions.gardener.cloud @@ -287,30 +287,23 @@ spec: - key type: object type: array - userData: - description: |- - UserData is a base64-encoded string that contains the data that is sent to the provider's APIs - when a new machine/VM that is part of this worker pool shall be spawned. - Either this or UserDataSecretRef must be provided. - Deprecated: This field will be removed in future release. - TODO(rfranzke): Remove this field after v1.104 has been released. - format: byte - type: string userDataSecretRef: description: |- UserDataSecretRef references a Secret and a data key containing the data that is sent to the provider's APIs when a new machine/VM that is part of this worker pool shall be spawned. - Either this or UserData must be provided. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: + default: "" description: |- Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: description: Specify whether the Secret or its key must @@ -353,6 +346,7 @@ spec: - maximum - minimum - name + - userDataSecretRef type: object type: array providerConfig: diff --git a/example/20-crd-resources.gardener.cloud_managedresources.yaml b/example/20-crd-resources.gardener.cloud_managedresources.yaml index 95ece7d7..95de5393 100644 --- a/example/20-crd-resources.gardener.cloud_managedresources.yaml +++ b/example/20-crd-resources.gardener.cloud_managedresources.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: managedresources.resources.gardener.cloud spec: group: resources.gardener.cloud @@ -119,10 +119,13 @@ spec: referenced object inside the same namespace. properties: name: + default: "" description: |- Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? type: string type: object x-kubernetes-map-type: atomic @@ -204,7 +207,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index 6ccc21a8..5483eb28 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -1,86 +1,24 @@ -#!/usr/bin/env bash +#!/bin/bash set -o errexit set -o nounset set -o pipefail -BASE_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -export TERM="xterm-256color" - -VGOPATH="$VGOPATH" -DEEPCOPY_GEN="$DEEPCOPY_GEN" -DEFAULTER_GEN="$DEFAULTER_GEN" -CONVERSION_GEN="$CONVERSION_GEN" - -bold="$(tput bold)" -blue="$(tput setaf 4)" -normal="$(tput sgr0)" - -function qualify-gvs() { - APIS_PKG="$1" - GROUPS_WITH_VERSIONS="$2" - join_char="" - res="" - - for GVs in ${GROUPS_WITH_VERSIONS}; do - IFS=: read -r G Vs <<<"${GVs}" - - for V in ${Vs//,/ }; do - res="$res$join_char$APIS_PKG/$G/$V" - join_char="," - done - done - - echo "$res" -} - -function qualify-gs() { - APIS_PKG="$1" - unset GROUPS - IFS=' ' read -ra GROUPS <<< "$2" - join_char="" - res="" - - for G in "${GROUPS[@]}"; do - res="$res$join_char$APIS_PKG/$G" - join_char="," - done - - echo "$res" -} - # setup virtual GOPATH source "$GARDENER_HACK_DIR"/vgopath-setup.sh -# We need to explicitly pass GO111MODULE=off to k8s.io/code-generator as it is significantly slower otherwise, -# see https://github.com/kubernetes/code-generator/issues/100. -export GO111MODULE=off - -echo "${bold}Public types${normal}" - -echo "Generating ${blue}deepcopy${normal}" -"$DEEPCOPY_GEN" \ - --go-header-file "$BASE_DIR/boilerplate.go.txt" \ - --input-dirs "$(qualify-gvs "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/apis" "config:v1alpha1 ironcore:v1alpha1")" \ - -O zz_generated.deepcopy +CODE_GEN_DIR=$(go list -m -f '{{.Dir}}' k8s.io/code-generator) +source "${CODE_GEN_DIR}/kube_codegen.sh" -echo "${bold}Internal types${normal}" +rm -f $GOPATH/bin/*-gen -echo "Generating ${blue}deepcopy${normal}" -"$DEEPCOPY_GEN" \ - --go-header-file "$BASE_DIR/boilerplate.go.txt" \ - --input-dirs "$(qualify-gs "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/apis" "config ironcore")" \ - -O zz_generated.deepcopy +CURRENT_DIR=$(dirname $0) +PROJECT_ROOT="${CURRENT_DIR}"/.. -echo "Generating ${blue}defaulter${normal}" -"$DEFAULTER_GEN" \ - --go-header-file "$BASE_DIR/boilerplate.go.txt" \ - --input-dirs "$(qualify-gvs "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/apis" "config:v1alpha1 ironcore:v1alpha1")" \ - -O zz_generated.defaults +kube::codegen::gen_helpers \ + --boilerplate "${GARDENER_HACK_DIR}/LICENSE_BOILERPLATE.txt" \ + "${PROJECT_ROOT}/pkg/apis/ironcore" -echo "Generating ${blue}conversion${normal}" -"$CONVERSION_GEN" \ - --go-header-file "$BASE_DIR/boilerplate.go.txt" \ - --input-dirs "$(qualify-gs "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/apis" "config ironcore")" \ - --input-dirs "$(qualify-gvs "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/apis" "config:v1alpha1 ironcore:v1alpha1")" \ - -O zz_generated.conversion +kube::codegen::gen_helpers \ + --boilerplate "${GARDENER_HACK_DIR}/LICENSE_BOILERPLATE.txt" \ + "${PROJECT_ROOT}/pkg/apis/config" \ No newline at end of file diff --git a/pkg/apis/config/v1alpha1/zz_generated.conversion.go b/pkg/apis/config/v1alpha1/zz_generated.conversion.go index d5a9a7bb..b58f5c96 100644 --- a/pkg/apis/config/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/config/v1alpha1/zz_generated.conversion.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by conversion-gen. DO NOT EDIT. diff --git a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go index abdfc812..818dbbe6 100644 --- a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by deepcopy-gen. DO NOT EDIT. diff --git a/pkg/apis/config/v1alpha1/zz_generated.defaults.go b/pkg/apis/config/v1alpha1/zz_generated.defaults.go index d1bc6c99..dce68e63 100644 --- a/pkg/apis/config/v1alpha1/zz_generated.defaults.go +++ b/pkg/apis/config/v1alpha1/zz_generated.defaults.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by defaulter-gen. DO NOT EDIT. diff --git a/pkg/apis/config/zz_generated.deepcopy.go b/pkg/apis/config/zz_generated.deepcopy.go index fddd3f9d..13f0de99 100644 --- a/pkg/apis/config/zz_generated.deepcopy.go +++ b/pkg/apis/config/zz_generated.deepcopy.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by deepcopy-gen. DO NOT EDIT. diff --git a/pkg/apis/ironcore/v1alpha1/zz_generated.conversion.go b/pkg/apis/ironcore/v1alpha1/zz_generated.conversion.go index 3409dc4f..503ba17c 100644 --- a/pkg/apis/ironcore/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/ironcore/v1alpha1/zz_generated.conversion.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by conversion-gen. DO NOT EDIT. @@ -240,27 +241,17 @@ func Convert_ironcore_InfrastructureConfig_To_v1alpha1_InfrastructureConfig(in * func autoConvert_v1alpha1_InfrastructureStatus_To_ironcore_InfrastructureStatus(in *InfrastructureStatus, out *ironcore.InfrastructureStatus, s conversion.Scope) error { out.NetworkRef = in.NetworkRef out.NATGatewayRef = in.NATGatewayRef - out.PrefixRef = in.PrefixRef + // WARNING: in.PrefixRefs requires manual conversion: does not exist in peer-type return nil } -// Convert_v1alpha1_InfrastructureStatus_To_ironcore_InfrastructureStatus is an autogenerated conversion function. -func Convert_v1alpha1_InfrastructureStatus_To_ironcore_InfrastructureStatus(in *InfrastructureStatus, out *ironcore.InfrastructureStatus, s conversion.Scope) error { - return autoConvert_v1alpha1_InfrastructureStatus_To_ironcore_InfrastructureStatus(in, out, s) -} - func autoConvert_ironcore_InfrastructureStatus_To_v1alpha1_InfrastructureStatus(in *ironcore.InfrastructureStatus, out *InfrastructureStatus, s conversion.Scope) error { out.NetworkRef = in.NetworkRef out.NATGatewayRef = in.NATGatewayRef - out.PrefixRef = in.PrefixRef + // WARNING: in.PrefixRef requires manual conversion: does not exist in peer-type return nil } -// Convert_ironcore_InfrastructureStatus_To_v1alpha1_InfrastructureStatus is an autogenerated conversion function. -func Convert_ironcore_InfrastructureStatus_To_v1alpha1_InfrastructureStatus(in *ironcore.InfrastructureStatus, out *InfrastructureStatus, s conversion.Scope) error { - return autoConvert_ironcore_InfrastructureStatus_To_v1alpha1_InfrastructureStatus(in, out, s) -} - func autoConvert_v1alpha1_MachineImage_To_ironcore_MachineImage(in *MachineImage, out *ironcore.MachineImage, s conversion.Scope) error { out.Name = in.Name out.Version = in.Version diff --git a/pkg/apis/ironcore/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/ironcore/v1alpha1/zz_generated.deepcopy.go index 5b95c1c6..b5832f69 100644 --- a/pkg/apis/ironcore/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/ironcore/v1alpha1/zz_generated.deepcopy.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by deepcopy-gen. DO NOT EDIT. @@ -9,6 +10,7 @@ package v1alpha1 import ( + commonv1alpha1 "github.com/ironcore-dev/ironcore/api/common/v1alpha1" v1 "k8s.io/api/core/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -147,7 +149,11 @@ func (in *InfrastructureStatus) DeepCopyInto(out *InfrastructureStatus) { out.TypeMeta = in.TypeMeta out.NetworkRef = in.NetworkRef out.NATGatewayRef = in.NATGatewayRef - out.PrefixRef = in.PrefixRef + if in.PrefixRefs != nil { + in, out := &in.PrefixRefs, &out.PrefixRefs + *out = make([]commonv1alpha1.LocalUIDReference, len(*in)) + copy(*out, *in) + } return } diff --git a/pkg/apis/ironcore/v1alpha1/zz_generated.defaults.go b/pkg/apis/ironcore/v1alpha1/zz_generated.defaults.go index d1bc6c99..dce68e63 100644 --- a/pkg/apis/ironcore/v1alpha1/zz_generated.defaults.go +++ b/pkg/apis/ironcore/v1alpha1/zz_generated.defaults.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by defaulter-gen. DO NOT EDIT. diff --git a/pkg/apis/ironcore/zz_generated.deepcopy.go b/pkg/apis/ironcore/zz_generated.deepcopy.go index 66a2a788..71996cf0 100644 --- a/pkg/apis/ironcore/zz_generated.deepcopy.go +++ b/pkg/apis/ironcore/zz_generated.deepcopy.go @@ -1,7 +1,8 @@ //go:build !ignore_autogenerated // +build !ignore_autogenerated -// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-FileCopyrightText: SAP SE or an SAP affiliate company and Gardener contributors +// // SPDX-License-Identifier: Apache-2.0 // Code generated by deepcopy-gen. DO NOT EDIT. diff --git a/pkg/controller/backupentry/mock_backupentry.go b/pkg/controller/backupentry/mock_backupentry.go index 0c11f6b7..3cb5a75c 100644 --- a/pkg/controller/backupentry/mock_backupentry.go +++ b/pkg/controller/backupentry/mock_backupentry.go @@ -25,6 +25,7 @@ import ( type Mocks3ObjectLister struct { ctrl *gomock.Controller recorder *Mocks3ObjectListerMockRecorder + isgomock struct{} } // Mocks3ObjectListerMockRecorder is the mock recorder for Mocks3ObjectLister. diff --git a/pkg/controller/infrastructure/actuator_reconcile.go b/pkg/controller/infrastructure/actuator_reconcile.go index 21a07638..12a7b120 100644 --- a/pkg/controller/infrastructure/actuator_reconcile.go +++ b/pkg/controller/infrastructure/actuator_reconcile.go @@ -6,13 +6,13 @@ package infrastructure import ( "context" "fmt" - "github.com/gardener/gardener/pkg/apis/core/v1beta1" "math/big" "net" "net/netip" "slices" "github.com/gardener/gardener/extensions/pkg/controller" + "github.com/gardener/gardener/pkg/apis/core/v1beta1" extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1" "github.com/go-logr/logr" "github.com/ironcore-dev/ironcore/api/common/v1alpha1"