Skip to content

Commit 4f7cb66

Browse files
committed
Merge remote-tracking branch 'origin/main' into jimmi/fix-dynamic-credential-provider-config
2 parents 3cb4ac1 + 506323a commit 4f7cb66

File tree

7 files changed

+127
-89
lines changed

7 files changed

+127
-89
lines changed

api/external/sigs.k8s.io/cluster-api-addon-provider-helm/api/v1alpha1/helmchartproxy_types.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,25 @@ import (
2222
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
2323
)
2424

25+
// ReconcileStrategy is a string representation of the reconciliation strategy of a HelmChartProxy.
26+
type ReconcileStrategy string
27+
2528
const (
2629
// HelmChartProxyFinalizer is the finalizer used by the HelmChartProxy controller to cleanup add-on resources when
2730
// a HelmChartProxy is being deleted.
2831
HelmChartProxyFinalizer = "helmchartproxy.addons.cluster.x-k8s.io"
2932

3033
// DefaultOCIKey is the default file name of the OCI secret key.
3134
DefaultOCIKey = "config.json"
35+
36+
// ReconcileStrategyContinuous is the default reconciliation strategy for HelmChartProxy. It will attempt to install the Helm
37+
// chart on a selected Cluster, update the Helm release to match the current HelmChartProxy spec, and delete the Helm release
38+
// if the Cluster no longer selected.
39+
ReconcileStrategyContinuous ReconcileStrategy = "Continuous"
40+
41+
// ReconcileStrategyInstallOnce attempts to install the Helm chart for a HelmChartProxy on a selected Cluster, and once
42+
// it is installed, it will not attempt to update or delete the Helm release on the Cluster again.
43+
ReconcileStrategyInstallOnce ReconcileStrategy = "InstallOnce"
3244
)
3345

3446
// HelmChartProxySpec defines the desired state of HelmChartProxy.
@@ -64,6 +76,14 @@ type HelmChartProxySpec struct {
6476
// +optional
6577
ValuesTemplate string `json:"valuesTemplate,omitempty"`
6678

79+
// ReconcileStrategy indicates whether a Helm chart should be continuously installed, updated, and uninstalled on selected Clusters,
80+
// or if it should be reconciled until it is successfully installed on selected Clusters and not otherwise updated or uninstalled.
81+
// If not specified, the default behavior will be to reconcile continuously. This field is immutable.
82+
// Possible values are `Continuous`, `InstallOnce`, or unset.
83+
// +kubebuilder:validation:Enum="";InstallOnce;Continuous;
84+
// +optional
85+
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
86+
6787
// Options represents CLI flags passed to Helm operations (i.e. install, upgrade, delete) and
6888
// include options such as wait, skipCRDs, timeout, waitForJobs, etc.
6989
// +optional

api/external/sigs.k8s.io/cluster-api-addon-provider-helm/api/v1alpha1/helmreleaseproxy_types.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ const (
3232

3333
// IsReleaseNameGeneratedAnnotation is the annotation signifying the Helm release name is auto-generated.
3434
IsReleaseNameGeneratedAnnotation = "helmreleaseproxy.addons.cluster.x-k8s.io/is-release-name-generated"
35+
36+
// ReleaseSuccessfullyInstalledAnnotation is the annotation signifying the Helm release has been successfully installed at least once.
37+
// This is used to determine if the HelmReleaseProxy is in a ready state for the InstallOnce strategy.
38+
ReleaseSuccessfullyInstalledAnnotation = "helmreleaseproxy.addons.cluster.x-k8s.io/release-successfully-installed"
3539
)
3640

3741
// HelmReleaseProxySpec defines the desired state of HelmReleaseProxy.
@@ -66,6 +70,14 @@ type HelmReleaseProxySpec struct {
6670
// +optional
6771
Values string `json:"values,omitempty"`
6872

73+
// ReconcileStrategy indicates whether a Helm chart should be continuously installed, updated, and uninstalled on the Cluster,
74+
// or if it should be reconciled until it is successfully installed on the Cluster and not otherwise updated or uninstalled.
75+
// If not specified, the default behavior will be to reconcile continuously. This field is immutable.
76+
// Possible values are `Continuous`, `InstallOnce`, or unset.
77+
// +kubebuilder:validation:Enum="";InstallOnce;Continuous;
78+
// +optional
79+
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
80+
6981
// Options represents the helm setting options which can be used to control behaviour of helm operations(Install, Upgrade, Delete, etc)
7082
// via options like wait, skipCrds, timeout, waitForJobs, etc.
7183
// +optional

charts/cluster-api-runtime-extensions-nutanix/addons/cni/cilium/values-template.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ hubble:
1313
enabled: true
1414
image:
1515
useDigest: false
16+
priorityClassName: system-cluster-critical
1617
ipam:
1718
mode: kubernetes
1819
image:

charts/cluster-api-runtime-extensions-nutanix/addons/nfd/values-template.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
priorityClass: system-node-critical
2+
13
master:
24
extraLabelNs:
35
- nvidia.com

hack/third-party/caaph/go.mod

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,62 +7,62 @@ go 1.22.0
77

88
toolchain go1.23.0
99

10-
require sigs.k8s.io/cluster-api-addon-provider-helm v0.2.6
10+
require sigs.k8s.io/cluster-api-addon-provider-helm v0.3.1
1111

1212
require (
1313
github.com/beorn7/perks v1.0.1 // indirect
14-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
14+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
1515
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
1616
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
1717
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
1818
github.com/fsnotify/fsnotify v1.7.0 // indirect
19+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
1920
github.com/go-logr/logr v1.4.2 // indirect
2021
github.com/go-openapi/jsonpointer v0.19.6 // indirect
2122
github.com/go-openapi/jsonreference v0.20.2 // indirect
22-
github.com/go-openapi/swag v0.22.3 // indirect
23+
github.com/go-openapi/swag v0.22.4 // indirect
2324
github.com/gogo/protobuf v1.3.2 // indirect
2425
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
2526
github.com/golang/protobuf v1.5.4 // indirect
2627
github.com/google/gnostic-models v0.6.8 // indirect
2728
github.com/google/go-cmp v0.6.0 // indirect
2829
github.com/google/gofuzz v1.2.0 // indirect
2930
github.com/google/uuid v1.6.0 // indirect
30-
github.com/imdario/mergo v0.3.13 // indirect
31+
github.com/imdario/mergo v0.3.16 // indirect
3132
github.com/josharian/intern v1.0.0 // indirect
3233
github.com/json-iterator/go v1.1.12 // indirect
3334
github.com/mailru/easyjson v0.7.7 // indirect
34-
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
3535
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3636
github.com/modern-go/reflect2 v1.0.2 // indirect
3737
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
3838
github.com/pkg/errors v0.9.1 // indirect
39-
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
40-
github.com/prometheus/client_golang v1.18.0 // indirect
41-
github.com/prometheus/client_model v0.6.0 // indirect
42-
github.com/prometheus/common v0.45.0 // indirect
43-
github.com/prometheus/procfs v0.12.0 // indirect
44-
github.com/spf13/pflag v1.0.5 // indirect
39+
github.com/prometheus/client_golang v1.19.1 // indirect
40+
github.com/prometheus/client_model v0.6.1 // indirect
41+
github.com/prometheus/common v0.55.0 // indirect
42+
github.com/prometheus/procfs v0.15.1 // indirect
43+
github.com/spf13/pflag v1.0.6 // indirect
44+
github.com/x448/float16 v0.8.4 // indirect
4545
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
46-
golang.org/x/net v0.28.0 // indirect
47-
golang.org/x/oauth2 v0.21.0 // indirect
48-
golang.org/x/sys v0.24.0 // indirect
49-
golang.org/x/term v0.23.0 // indirect
50-
golang.org/x/text v0.17.0 // indirect
46+
golang.org/x/net v0.33.0 // indirect
47+
golang.org/x/oauth2 v0.24.0 // indirect
48+
golang.org/x/sys v0.28.0 // indirect
49+
golang.org/x/term v0.27.0 // indirect
50+
golang.org/x/text v0.21.0 // indirect
5151
golang.org/x/time v0.5.0 // indirect
5252
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
53-
google.golang.org/protobuf v1.34.1 // indirect
53+
google.golang.org/protobuf v1.36.1 // indirect
5454
gopkg.in/inf.v0 v0.9.1 // indirect
5555
gopkg.in/yaml.v2 v2.4.0 // indirect
5656
gopkg.in/yaml.v3 v3.0.1 // indirect
57-
k8s.io/api v0.30.3 // indirect
58-
k8s.io/apiextensions-apiserver v0.30.3 // indirect
59-
k8s.io/apimachinery v0.30.3 // indirect
60-
k8s.io/client-go v0.30.3 // indirect
61-
k8s.io/klog/v2 v2.120.1 // indirect
57+
k8s.io/api v0.31.3 // indirect
58+
k8s.io/apiextensions-apiserver v0.31.3 // indirect
59+
k8s.io/apimachinery v0.31.3 // indirect
60+
k8s.io/client-go v0.31.3 // indirect
61+
k8s.io/klog/v2 v2.130.1 // indirect
6262
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
63-
k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
64-
sigs.k8s.io/cluster-api v1.8.4 // indirect
65-
sigs.k8s.io/controller-runtime v0.18.5 // indirect
63+
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
64+
sigs.k8s.io/cluster-api v1.9.4 // indirect
65+
sigs.k8s.io/controller-runtime v0.19.4 // indirect
6666
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
6767
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
6868
sigs.k8s.io/yaml v1.4.0 // indirect

0 commit comments

Comments
 (0)