Skip to content

Commit 2e63a10

Browse files
wikkykmcbenjemaa
andauthored
go: bump to 1.24 (ionos-cloud#507)
* go: bump to 1.24 * Bump go to v1.24 * Bump dependecies * Update e2e config * Bump go-proxmox client to latest commit, Fixes tests, and linting * Revert "Bump dependecies" This reverts commit dbf1ff8. * Pin CAPI to v1.10.4 and update/fix e2e tests * Fix unit tests * Bump GO v1.24.5 --------- Co-authored-by: Mohamed Chiheb Ben Jemaa <[email protected]>
1 parent 0acdcd6 commit 2e63a10

24 files changed

+322
-264
lines changed

.golangci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ linters:
102102
text: (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)
103103
- path: (.+)\.go$
104104
text: (G104|G307)
105+
- linters:
106+
- staticcheck
107+
text: 'SA1019: .*\.Status\.(FailureMessage|FailureReason) is deprecated: .*'
108+
- linters:
109+
- revive
110+
text: 'var-naming: avoid meaningless package names'
105111
paths:
106112
- zz_generated.*\.go$
107113
- .*conversion.*\.go$

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM golang:1.23 AS builder
2+
FROM golang:1.24 AS builder
33
ARG TARGETOS
44
ARG TARGETARCH
55

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

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -727,10 +727,11 @@ spec:
727727
communicate with the control plane.
728728
properties:
729729
host:
730-
description: The hostname on which the API server is serving.
730+
description: host is the hostname on which the API server is serving.
731+
maxLength: 512
731732
type: string
732733
port:
733-
description: The port on which the API server is serving.
734+
description: port is the port on which the API server is serving.
734735
format: int32
735736
type: integer
736737
required:
@@ -868,27 +869,32 @@ spec:
868869
properties:
869870
lastTransitionTime:
870871
description: |-
871-
Last time the condition transitioned from one status to another.
872+
lastTransitionTime is the last time the condition transitioned from one status to another.
872873
This should be when the underlying condition changed. If that is not known, then using the time when
873874
the API field changed is acceptable.
874875
format: date-time
875876
type: string
876877
message:
877878
description: |-
878-
A human readable message indicating details about the transition.
879+
message is a human readable message indicating details about the transition.
879880
This field may be empty.
881+
maxLength: 10240
882+
minLength: 1
880883
type: string
881884
reason:
882885
description: |-
883-
The reason for the condition's last transition in CamelCase.
886+
reason is the reason for the condition's last transition in CamelCase.
884887
The specific API may choose whether or not this field is considered a guaranteed API.
885888
This field may be empty.
889+
maxLength: 256
890+
minLength: 1
886891
type: string
887892
severity:
888893
description: |-
889894
severity provides an explicit classification of Reason code, so the users or machines can immediately
890895
understand the current situation and act accordingly.
891896
The Severity field MUST be set only when Status=False.
897+
maxLength: 32
892898
type: string
893899
status:
894900
description: status of the condition, one of True, False, Unknown.
@@ -898,6 +904,8 @@ spec:
898904
type of condition in CamelCase or in foo.example.com/CamelCase.
899905
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
900906
can be useful (see .node.status.conditions), the ability to deconflict is important.
907+
maxLength: 256
908+
minLength: 1
901909
type: string
902910
required:
903911
- lastTransitionTime

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ spec:
6666
additionalProperties:
6767
type: string
6868
description: |-
69-
Map of string keys and values that can be used to organize and categorize
69+
labels is a map of string keys and values that can be used to organize and categorize
7070
(scope and select) objects. May match selectors of replication controllers
7171
and services.
7272
More info: http://kubernetes.io/docs/user-guide/labels
@@ -769,10 +769,13 @@ spec:
769769
used to communicate with the control plane.
770770
properties:
771771
host:
772-
description: The hostname on which the API server is serving.
772+
description: host is the hostname on which the API server
773+
is serving.
774+
maxLength: 512
773775
type: string
774776
port:
775-
description: The port on which the API server is serving.
777+
description: port is the port on which the API server
778+
is serving.
776779
format: int32
777780
type: integer
778781
required:

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

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -677,11 +677,19 @@ spec:
677677
address.
678678
properties:
679679
address:
680-
description: The machine address.
680+
description: address is the machine address.
681+
maxLength: 256
682+
minLength: 1
681683
type: string
682684
type:
683-
description: Machine address type, one of Hostname, ExternalIP,
684-
InternalIP, ExternalDNS or InternalDNS.
685+
description: type is the machine address type, one of Hostname,
686+
ExternalIP, InternalIP, ExternalDNS or InternalDNS.
687+
enum:
688+
- Hostname
689+
- ExternalIP
690+
- InternalIP
691+
- ExternalDNS
692+
- InternalDNS
685693
type: string
686694
required:
687695
- address
@@ -700,27 +708,32 @@ spec:
700708
properties:
701709
lastTransitionTime:
702710
description: |-
703-
Last time the condition transitioned from one status to another.
711+
lastTransitionTime is the last time the condition transitioned from one status to another.
704712
This should be when the underlying condition changed. If that is not known, then using the time when
705713
the API field changed is acceptable.
706714
format: date-time
707715
type: string
708716
message:
709717
description: |-
710-
A human readable message indicating details about the transition.
718+
message is a human readable message indicating details about the transition.
711719
This field may be empty.
720+
maxLength: 10240
721+
minLength: 1
712722
type: string
713723
reason:
714724
description: |-
715-
The reason for the condition's last transition in CamelCase.
725+
reason is the reason for the condition's last transition in CamelCase.
716726
The specific API may choose whether or not this field is considered a guaranteed API.
717727
This field may be empty.
728+
maxLength: 256
729+
minLength: 1
718730
type: string
719731
severity:
720732
description: |-
721733
severity provides an explicit classification of Reason code, so the users or machines can immediately
722734
understand the current situation and act accordingly.
723735
The Severity field MUST be set only when Status=False.
736+
maxLength: 32
724737
type: string
725738
status:
726739
description: status of the condition, one of True, False, Unknown.
@@ -730,6 +743,8 @@ spec:
730743
type of condition in CamelCase or in foo.example.com/CamelCase.
731744
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
732745
can be useful (see .node.status.conditions), the ability to deconflict is important.
746+
maxLength: 256
747+
minLength: 1
733748
type: string
734749
required:
735750
- lastTransitionTime

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ spec:
6666
additionalProperties:
6767
type: string
6868
description: |-
69-
Map of string keys and values that can be used to organize and categorize
69+
labels is a map of string keys and values that can be used to organize and categorize
7070
(scope and select) objects. May match selectors of replication controllers
7171
and services.
7272
More info: http://kubernetes.io/docs/user-guide/labels

go.mod

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
module github.com/ionos-cloud/cluster-api-provider-proxmox
22

3-
go 1.23.8
3+
go 1.24.5
44

5-
replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.9.6
5+
replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.10.4
66

77
require (
88
github.com/flatcar/ignition v0.36.2
99
github.com/go-logr/logr v1.4.2
1010
github.com/google/go-cmp v0.7.0
1111
github.com/google/uuid v1.6.0
1212
github.com/jarcoal/httpmock v1.3.1
13-
github.com/luthermonson/go-proxmox v0.2.1
13+
github.com/luthermonson/go-proxmox v0.2.3-0.20250704032151-92d9fa56db83 // Bump when v0.2.3 is released
1414
github.com/onsi/ginkgo/v2 v2.23.3
1515
github.com/onsi/gomega v1.36.3
1616
github.com/pkg/errors v0.9.1
@@ -22,14 +22,16 @@ require (
2222
k8s.io/apimachinery v0.32.3
2323
k8s.io/client-go v0.32.3
2424
k8s.io/klog/v2 v2.130.1
25-
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
26-
sigs.k8s.io/cluster-api v1.9.6
27-
sigs.k8s.io/cluster-api-ipam-provider-in-cluster v1.0.0
28-
sigs.k8s.io/cluster-api/test v1.9.6
29-
sigs.k8s.io/controller-runtime v0.19.6
25+
k8s.io/utils v0.0.0-20241210054802-24370beab758
26+
sigs.k8s.io/cluster-api v1.10.4
27+
sigs.k8s.io/cluster-api-ipam-provider-in-cluster v1.0.2
28+
sigs.k8s.io/cluster-api/test v1.10.4
29+
sigs.k8s.io/controller-runtime v0.20.4
3030
)
3131

3232
require (
33+
al.essio.dev/pkg/shellescape v1.5.1 // indirect
34+
cel.dev/expr v0.18.0 // indirect
3335
dario.cat/mergo v1.0.1 // indirect
3436
github.com/BurntSushi/toml v1.4.0 // indirect
3537
github.com/MakeNowJust/heredoc v1.0.0 // indirect
@@ -40,7 +42,6 @@ require (
4042
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
4143
github.com/adrg/xdg v0.5.3 // indirect
4244
github.com/ajeddeloh/go-json v0.0.0-20200220154158-5ae607161559 // indirect
43-
github.com/alessio/shellescape v1.4.2 // indirect
4445
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
4546
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
4647
github.com/beorn7/perks v1.0.1 // indirect
@@ -52,82 +53,86 @@ require (
5253
github.com/coreos/go-semver v0.3.1 // indirect
5354
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf // indirect
5455
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
55-
github.com/diskfs/go-diskfs v1.2.0 // indirect
56+
github.com/diskfs/go-diskfs v1.5.0 // indirect
5657
github.com/distribution/reference v0.6.0 // indirect
57-
github.com/docker/docker v27.3.1+incompatible // indirect
58+
github.com/djherbis/times v1.6.0 // indirect
59+
github.com/docker/docker v28.0.2+incompatible // indirect
5860
github.com/docker/go-connections v0.5.0 // indirect
5961
github.com/docker/go-units v0.4.0 // indirect
6062
github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 // indirect
61-
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
62-
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
63+
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
64+
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
65+
github.com/fatih/color v1.18.0 // indirect
6366
github.com/felixge/httpsnoop v1.0.4 // indirect
64-
github.com/fsnotify/fsnotify v1.7.0 // indirect
67+
github.com/fsnotify/fsnotify v1.8.0 // indirect
6568
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
6669
github.com/go-logr/stdr v1.2.2 // indirect
6770
github.com/go-logr/zapr v1.3.0 // indirect
6871
github.com/go-openapi/jsonpointer v0.21.0 // indirect
6972
github.com/go-openapi/jsonreference v0.20.4 // indirect
7073
github.com/go-openapi/swag v0.23.0 // indirect
7174
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
75+
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
7276
github.com/gobuffalo/flect v1.0.3 // indirect
7377
github.com/gogo/protobuf v1.3.2 // indirect
7478
github.com/golang/protobuf v1.5.4 // indirect
75-
github.com/google/cel-go v0.20.1 // indirect
79+
github.com/google/btree v1.1.3 // indirect
80+
github.com/google/cel-go v0.22.0 // indirect
7681
github.com/google/gnostic-models v0.6.8 // indirect
7782
github.com/google/go-github/v53 v53.2.0 // indirect
7883
github.com/google/go-querystring v1.1.0 // indirect
7984
github.com/google/gofuzz v1.2.0 // indirect
8085
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
8186
github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 // indirect
82-
github.com/gorilla/websocket v1.5.0 // indirect
87+
github.com/gorilla/websocket v1.5.3 // indirect
8388
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
84-
github.com/hashicorp/hcl v1.0.0 // indirect
8589
github.com/huandu/xstrings v1.5.0 // indirect
8690
github.com/inconshreveable/mousetrap v1.1.0 // indirect
8791
github.com/jinzhu/copier v0.3.4 // indirect
8892
github.com/josharian/intern v1.0.0 // indirect
8993
github.com/json-iterator/go v1.1.12 // indirect
9094
github.com/magefile/mage v1.14.0 // indirect
91-
github.com/magiconair/properties v1.8.7 // indirect
9295
github.com/mailru/easyjson v0.7.7 // indirect
96+
github.com/mattn/go-colorable v0.1.13 // indirect
9397
github.com/mattn/go-isatty v0.0.20 // indirect
98+
github.com/mattn/go-runewidth v0.0.14 // indirect
9499
github.com/mitchellh/copystructure v1.2.0 // indirect
95-
github.com/mitchellh/mapstructure v1.5.0 // indirect
96100
github.com/mitchellh/reflectwalk v1.0.2 // indirect
97101
github.com/moby/docker-image-spec v1.3.1 // indirect
98102
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
99103
github.com/modern-go/reflect2 v1.0.2 // indirect
100104
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
105+
github.com/olekukonko/tablewriter v0.0.5 // indirect
101106
github.com/opencontainers/go-digest v1.0.0 // indirect
102107
github.com/opencontainers/image-spec v1.0.2 // indirect
103108
github.com/pelletier/go-toml v1.9.5 // indirect
104-
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
109+
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
105110
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
106111
github.com/prometheus/client_golang v1.19.1 // indirect
107112
github.com/prometheus/client_model v0.6.1 // indirect
108113
github.com/prometheus/common v0.55.0 // indirect
109114
github.com/prometheus/procfs v0.15.1 // indirect
110-
github.com/sagikazarmark/locafero v0.4.0 // indirect
111-
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
115+
github.com/rivo/uniseg v0.4.2 // indirect
116+
github.com/sagikazarmark/locafero v0.7.0 // indirect
112117
github.com/shopspring/decimal v1.4.0 // indirect
113118
github.com/sourcegraph/conc v0.3.0 // indirect
114-
github.com/spf13/afero v1.11.0 // indirect
115-
github.com/spf13/cast v1.7.0 // indirect
116-
github.com/spf13/cobra v1.8.1 // indirect
117-
github.com/spf13/viper v1.19.0 // indirect
119+
github.com/spf13/afero v1.12.0 // indirect
120+
github.com/spf13/cast v1.7.1 // indirect
121+
github.com/spf13/cobra v1.9.1 // indirect
122+
github.com/spf13/viper v1.20.0 // indirect
118123
github.com/stoewer/go-strcase v1.3.0 // indirect
119124
github.com/stretchr/objx v0.5.2 // indirect
120125
github.com/subosito/gotenv v1.6.0 // indirect
121126
github.com/valyala/fastjson v1.6.4 // indirect
122127
github.com/vincent-petithory/dataurl v1.0.0 // indirect
123128
github.com/x448/float16 v0.8.4 // indirect
124-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect
125-
go.opentelemetry.io/otel v1.28.0 // indirect
129+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
130+
go.opentelemetry.io/otel v1.29.0 // indirect
126131
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect
127132
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
128-
go.opentelemetry.io/otel/metric v1.28.0 // indirect
129-
go.opentelemetry.io/otel/sdk v1.28.0 // indirect
130-
go.opentelemetry.io/otel/trace v1.28.0 // indirect
133+
go.opentelemetry.io/otel/metric v1.29.0 // indirect
134+
go.opentelemetry.io/otel/sdk v1.29.0 // indirect
135+
go.opentelemetry.io/otel/trace v1.29.0 // indirect
131136
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
132137
go.uber.org/multierr v1.11.0 // indirect
133138
go.uber.org/zap v1.27.0 // indirect
@@ -136,31 +141,28 @@ require (
136141
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
137142
golang.org/x/mod v0.24.0 // indirect
138143
golang.org/x/net v0.38.0 // indirect
139-
golang.org/x/oauth2 v0.24.0 // indirect
144+
golang.org/x/oauth2 v0.28.0 // indirect
140145
golang.org/x/sync v0.12.0 // indirect
141146
golang.org/x/sys v0.31.0 // indirect
142147
golang.org/x/term v0.30.0 // indirect
143148
golang.org/x/text v0.23.0 // indirect
144-
golang.org/x/time v0.7.0 // indirect
145-
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
146-
google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect
147-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
148-
google.golang.org/grpc v1.65.1 // indirect
149+
golang.org/x/time v0.8.0 // indirect
150+
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
151+
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
152+
google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 // indirect
153+
google.golang.org/grpc v1.67.3 // indirect
149154
google.golang.org/protobuf v1.36.5 // indirect
150-
gopkg.in/djherbis/times.v1 v1.2.0 // indirect
151155
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
152156
gopkg.in/inf.v0 v0.9.1 // indirect
153-
gopkg.in/ini.v1 v1.67.0 // indirect
154-
gopkg.in/yaml.v2 v2.4.0 // indirect
155157
gopkg.in/yaml.v3 v3.0.1 // indirect
156-
k8s.io/apiextensions-apiserver v0.31.3 // indirect
157-
k8s.io/apiserver v0.31.3 // indirect
158-
k8s.io/cluster-bootstrap v0.31.3 // indirect
159-
k8s.io/component-base v0.31.3 // indirect
158+
k8s.io/apiextensions-apiserver v0.32.3 // indirect
159+
k8s.io/apiserver v0.32.3 // indirect
160+
k8s.io/cluster-bootstrap v0.32.3 // indirect
161+
k8s.io/component-base v0.32.3 // indirect
160162
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
161-
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 // indirect
163+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 // indirect
162164
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
163-
sigs.k8s.io/kind v0.25.0 // indirect
165+
sigs.k8s.io/kind v0.27.0 // indirect
164166
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
165167
sigs.k8s.io/yaml v1.4.0 // indirect
166168
)

0 commit comments

Comments
 (0)