Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read new .spec.pools[].userDataSecretRef field for worker pool user data #727

Merged
merged 3 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ spec:
description: |-
Purpose describes how the result of this OperatingSystemConfig is used by Gardener. Either it
gets sent to the `Worker` extension controller to bootstrap a VM, or it is downloaded by the
cloud-config-downloader script already running on a bootstrapped VM.
gardener-node-agent already running on a bootstrapped VM.
This field is immutable.
type: string
reloadConfigFilePath:
Expand All @@ -166,7 +166,8 @@ spec:
are asked to use it when determining the .status.command of this resource. For example, if for CoreOS
the reload-path might be "/var/lib/config"; then the controller shall set .status.command to
"/usr/bin/coreos-cloudinit --from-file=/var/lib/config".
TODO(rfranzke): Deprecate this field once UseGardenerNodeAgent feature gate is promoted to GA.
Deprecated: This field is deprecated and has no further usage.
TODO(rfranzke): Remove this field after v1.95 got released.
type: string
type:
description: Type contains the instance of the resource's kind.
Expand Down Expand Up @@ -254,7 +255,8 @@ spec:
Command is the command whose execution renews/reloads the cloud config on an existing VM, e.g.
"/usr/bin/reload-cloud-config -from-file=<path>". The <path> is optionally provided by Gardener
in the .spec.reloadConfigFilePath field.
TODO(rfranzke): Deprecate this field once UseGardenerNodeAgent feature gate is promoted to GA.
Deprecated: This field is deprecated and has no further usage.
TODO(rfranzke): Remove this field after v1.95 got released.
type: string
conditions:
description: Conditions represents the latest available observations
Expand Down Expand Up @@ -430,7 +432,8 @@ spec:
description: |-
Files is a list of file paths that are part of the generated Cloud Config and shall be
written to the host's file system.
TODO(rfranzke): Deprecate this field once UseGardenerNodeAgent feature gate is promoted to GA.
Deprecated: This field is deprecated and has no further usage.
TODO(rfranzke): Remove this field after v1.95 got released.
items:
type: string
type: array
Expand Down Expand Up @@ -541,7 +544,8 @@ spec:
description: |-
Units is a list of systemd unit names that are part of the generated Cloud Config and shall be
restarted when a new version has been downloaded.
TODO(rfranzke): Deprecate this field once UseGardenerNodeAgent feature gate is promoted to GA.
Deprecated: This field is deprecated and has no further usage.
TODO(rfranzke): Remove this field after v1.95 got released.
items:
type: string
type: array
Expand Down
28 changes: 27 additions & 1 deletion example/20-crd-extensions.gardener.cloud_workers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,35 @@ spec:
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.100 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:
description: |-
Name of the referent.
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
be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
volume:
description: Volume contains information about the root disks
that should be used for this worker pool.
Expand Down Expand Up @@ -314,7 +341,6 @@ spec:
- maximum
- minimum
- name
- userData
type: object
type: array
providerConfig:
Expand Down
81 changes: 40 additions & 41 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/gardener/gardener-extension-provider-alicloud

go 1.22.1
go 1.22.0

require (
github.com/Masterminds/semver/v3 v3.2.1
Expand All @@ -9,27 +9,27 @@ require (
github.com/aliyun/aliyun-oss-go-sdk v2.1.8+incompatible
github.com/coreos/go-systemd/v22 v22.5.0
github.com/gardener/etcd-druid v0.22.0
github.com/gardener/gardener v1.91.1
github.com/gardener/machine-controller-manager v0.52.0
github.com/gardener/gardener v1.95.1
github.com/gardener/machine-controller-manager v0.53.0
github.com/go-logr/logr v1.4.1
github.com/onsi/ginkgo/v2 v2.17.0
github.com/onsi/gomega v1.32.0
github.com/onsi/ginkgo/v2 v2.17.1
github.com/onsi/gomega v1.33.0
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
go.uber.org/atomic v1.10.0
go.uber.org/mock v0.4.0
golang.org/x/time v0.5.0
golang.org/x/tools v0.17.0
k8s.io/api v0.29.3
k8s.io/apiextensions-apiserver v0.29.3
k8s.io/apimachinery v0.29.3
k8s.io/autoscaler/vertical-pod-autoscaler v1.0.0
k8s.io/client-go v0.29.3
k8s.io/code-generator v0.29.3
k8s.io/component-base v0.29.3
k8s.io/kubelet v0.29.3
k8s.io/utils v0.0.0-20240310230437-4693a0247e57
sigs.k8s.io/controller-runtime v0.17.2
golang.org/x/tools v0.21.0
k8s.io/api v0.29.4
k8s.io/apiextensions-apiserver v0.29.4
k8s.io/apimachinery v0.29.4
k8s.io/autoscaler/vertical-pod-autoscaler v1.1.1
k8s.io/client-go v0.29.4
k8s.io/code-generator v0.29.4
k8s.io/component-base v0.29.4
k8s.io/kubelet v0.29.4
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0
sigs.k8s.io/controller-runtime v0.17.5
sigs.k8s.io/controller-tools v0.14.0
)

Expand All @@ -47,15 +47,15 @@ require (
github.com/evanphx/json-patch v5.7.0+incompatible // indirect
github.com/evanphx/json-patch/v5 v5.8.0 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/fluent/fluent-operator/v2 v2.7.0 // indirect
github.com/fluent/fluent-operator/v2 v2.8.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/gardener/cert-management v0.12.1 // indirect
github.com/gardener/cert-management v0.14.2 // indirect
github.com/gardener/hvpa-controller/api v0.15.0 // indirect
github.com/go-logr/zapr v1.3.0 // indirect
github.com/go-openapi/errors v0.20.4 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/jsonpointer v0.20.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/swag v0.22.3 // indirect
github.com/go-openapi/swag v0.22.4 // indirect
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
github.com/gobuffalo/flect v1.0.2 // indirect
github.com/gobwas/glob v0.2.3 // indirect
Expand All @@ -72,7 +72,7 @@ require (
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/huandu/xstrings v1.4.0 // indirect
github.com/imdario/mergo v0.3.13 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/ironcore-dev/vgopath v0.1.4 // indirect
github.com/jmespath/go-jmespath v0.3.0 // indirect
Expand All @@ -96,9 +96,9 @@ require (
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.72.0 // indirect
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.73.2 // indirect
github.com/prometheus/client_golang v1.18.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/client_model v0.6.0 // indirect
github.com/prometheus/common v0.45.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
Expand All @@ -116,33 +116,32 @@ require (
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/oauth2 v0.16.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/term v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/crypto v0.23.0 // indirect
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/oauth2 v0.19.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.20.0 // indirect
golang.org/x/term v0.20.0 // indirect
golang.org/x/text v0.15.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect
google.golang.org/protobuf v1.33.0 // indirect
google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac // indirect
google.golang.org/protobuf v1.34.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
helm.sh/helm/v3 v3.14.3 // indirect
istio.io/api v1.19.8 // indirect
istio.io/client-go v1.19.8 // indirect
k8s.io/apiserver v0.29.3 // indirect
helm.sh/helm/v3 v3.14.4 // indirect
istio.io/api v1.21.2 // indirect
istio.io/client-go v1.21.1 // indirect
k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 // indirect
k8s.io/klog v1.0.0 // indirect
k8s.io/klog/v2 v2.120.1 // indirect
k8s.io/kube-aggregator v0.29.3 // indirect
k8s.io/kube-aggregator v0.29.4 // indirect
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
k8s.io/metrics v0.29.3 // indirect
k8s.io/metrics v0.29.4 // indirect
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20231015215740-bf15e44028f9 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
Expand Down
Loading
Loading