Skip to content

Commit ebbc1f6

Browse files
authored
Merge pull request #109 from nunnatsa/sync_upstream_2025-01-20
Sync upstream 2025-01-20
2 parents 93f92fe + 8a4b9ce commit ebbc1f6

17 files changed

+494
-553
lines changed

.github/workflows/test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
uses: golangci/golangci-lint-action@v6
5555
with:
5656
args: --timeout=5m -v
57-
version: v1.59.0
57+
version: v1.63.4
5858

5959
check-gen:
6060
runs-on: ubuntu-latest

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
# Build the manager binary
1818
# Run this with docker build --build-arg builder_image=<golang:x.y.z>
19-
ARG builder_image=docker.io/golang:1.22
19+
ARG builder_image=docker.io/golang:1.23
2020
FROM ${builder_image} as builder
2121
WORKDIR /workspace
2222

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ goimports:
340340

341341
GOLANGCI_LINT = $(shell pwd)/bin/golangci-lint
342342
golangci-lint: ## Download golangci-lint locally if necessary.
343-
$(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint@v1.54.2)
343+
$(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint@v1.63.4)
344344

345345
.PHONY: linter
346346
linter: golangci-lint

config/crd/bases/infrastructure.cluster.x-k8s.io_kubevirtclusters.yaml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.15.0
6+
controller-gen.kubebuilder.io/version: v0.17.1
77
name: kubevirtclusters.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -100,7 +100,6 @@ spec:
100100
the event) or if no container name is specified "spec.containers[2]" (container with
101101
index 2 in this pod). This syntax is chosen only to have some well-defined way of
102102
referencing a part of an object.
103-
TODO: this design is not final and this field is subject to change in the future.
104103
type: string
105104
kind:
106105
description: |-
@@ -151,7 +150,6 @@ spec:
151150
the event) or if no container name is specified "spec.containers[2]" (container with
152151
index 2 in this pod). This syntax is chosen only to have some well-defined way of
153152
referencing a part of an object.
154-
TODO: this design is not final and this field is subject to change in the future.
155153
type: string
156154
kind:
157155
description: |-
@@ -211,20 +209,20 @@ spec:
211209
description: |-
212210
The reason for the condition's last transition in CamelCase.
213211
The specific API may choose whether or not this field is considered a guaranteed API.
214-
This field may not be empty.
212+
This field may be empty.
215213
type: string
216214
severity:
217215
description: |-
218-
Severity provides an explicit classification of Reason code, so the users or machines can immediately
216+
severity provides an explicit classification of Reason code, so the users or machines can immediately
219217
understand the current situation and act accordingly.
220218
The Severity field MUST be set only when Status=False.
221219
type: string
222220
status:
223-
description: Status of the condition, one of True, False, Unknown.
221+
description: status of the condition, one of True, False, Unknown.
224222
type: string
225223
type:
226224
description: |-
227-
Type of condition in CamelCase or in foo.example.com/CamelCase.
225+
type of condition in CamelCase or in foo.example.com/CamelCase.
228226
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
229227
can be useful (see .node.status.conditions), the ability to deconflict is important.
230228
type: string
@@ -243,11 +241,11 @@ spec:
243241
attributes:
244242
additionalProperties:
245243
type: string
246-
description: Attributes is a free form map of attributes an
244+
description: attributes is a free form map of attributes an
247245
infrastructure provider might use or require.
248246
type: object
249247
controlPlane:
250-
description: ControlPlane determines if this failure domain
248+
description: controlPlane determines if this failure domain
251249
is suitable for use by control plane machines.
252250
type: boolean
253251
type: object

config/crd/bases/infrastructure.cluster.x-k8s.io_kubevirtclustertemplates.yaml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.15.0
6+
controller-gen.kubebuilder.io/version: v0.17.1
77
name: kubevirtclustertemplates.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -54,34 +54,30 @@ spec:
5454
ObjectMeta is metadata that all persisted resources must have, which includes all objects
5555
users must create. This is a copy of customizable fields from metav1.ObjectMeta.
5656
57-
5857
ObjectMeta is embedded in `Machine.Spec`, `MachineDeployment.Template` and `MachineSet.Template`,
5958
which are not top-level Kubernetes objects. Given that metav1.ObjectMeta has lots of special cases
6059
and read-only fields which end up in the generated CRD validation, having it as a subset simplifies
6160
the API and some issues that can impact user experience.
6261
63-
6462
During the [upgrade to controller-tools@v2](https://github.com/kubernetes-sigs/cluster-api/pull/1054)
6563
for v1alpha2, we noticed a failure would occur running Cluster API test suite against the new CRDs,
6664
specifically `spec.metadata.creationTimestamp in body must be of type string: "null"`.
6765
The investigation showed that `controller-tools@v2` behaves differently than its previous version
6866
when handling types from [metav1](k8s.io/apimachinery/pkg/apis/meta/v1) package.
6967
70-
7168
In more details, we found that embedded (non-top level) types that embedded `metav1.ObjectMeta`
7269
had validation properties, including for `creationTimestamp` (metav1.Time).
7370
The `metav1.Time` type specifies a custom json marshaller that, when IsZero() is true, returns `null`
7471
which breaks validation because the field isn't marked as nullable.
7572
76-
7773
In future versions, controller-tools@v2 might allow overriding the type and validation for embedded
7874
types. When that happens, this hack should be revisited.
7975
properties:
8076
annotations:
8177
additionalProperties:
8278
type: string
8379
description: |-
84-
Annotations is an unstructured key value map stored with a resource that may be
80+
annotations is an unstructured key value map stored with a resource that may be
8581
set by external tools to store and retrieve arbitrary metadata. They are not
8682
queryable and should be preserved when modifying objects.
8783
More info: http://kubernetes.io/docs/user-guide/annotations
@@ -161,7 +157,6 @@ spec:
161157
the event) or if no container name is specified "spec.containers[2]" (container with
162158
index 2 in this pod). This syntax is chosen only to have some well-defined way of
163159
referencing a part of an object.
164-
TODO: this design is not final and this field is subject to change in the future.
165160
type: string
166161
kind:
167162
description: |-
@@ -212,7 +207,6 @@ spec:
212207
the event) or if no container name is specified "spec.containers[2]" (container with
213208
index 2 in this pod). This syntax is chosen only to have some well-defined way of
214209
referencing a part of an object.
215-
TODO: this design is not final and this field is subject to change in the future.
216210
type: string
217211
kind:
218212
description: |-

0 commit comments

Comments
 (0)