Skip to content

Commit 7b03bd3

Browse files
authored
eksctl-deployer: add Bottlerocket custom AMI support for MNGs (#656)
* deployers/eksctl: add Bottlerocket custom ami support for MNGs Signed-off-by: Kush Upadhyay <[email protected]> * deployers/eksctl: add default for deploy-target flag Signed-off-by: Kush Upadhyay <[email protected]> * docs: update README with new flags for eksctl deployer Signed-off-by: Kush Upadhyay <[email protected]> --------- Signed-off-by: Kush Upadhyay <[email protected]>
1 parent 6e6dd5d commit 7b03bd3

File tree

5 files changed

+257
-194
lines changed

5 files changed

+257
-194
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ kubetest2 \
4646
- `--ami` - AMI ID for nodes
4747
- `--nodes` - number of nodes
4848
- `--region` - AWS region
49+
- `--config-file` - Path to eksctl config file (**if provided, other flags are ignored**)
50+
- `--availability-zones` - Node availability zones
51+
- `--ami-family` - AMI family to use: `AmazonLinux2023` | `Bottlerocket`
52+
- `--efa-enabled` - Enable Elastic Fabric Adapter for the nodegroup
53+
- `--volume-size` - Size of the node root volume in GB
54+
- `--private-networking` - Use private networking for nodes
55+
- `--with-oidc` - Enable OIDC provider for IAM roles for service accounts
56+
- `--deploy-target` - The target to deploy: `cluster` | `nodegroup` (defaults to `cluster`)
57+
- `--cluster-name` - Name of the EKS cluster (defaults to RunID if not specified)
58+
- `--unmanaged-nodegroup` - Use unmanaged nodegroup instead of managed nodegroup
59+
- `--nodegroup-name` - Name of the nodegroup (defaults to `ng-1`)
4960

5061
---
5162

go.mod

Lines changed: 74 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ toolchain go1.24.2
66

77
require (
88
github.com/aws/aws-sdk-go v1.55.7
9-
github.com/aws/aws-sdk-go-v2 v1.36.3
9+
github.com/aws/aws-sdk-go-v2 v1.36.5
1010
github.com/aws/aws-sdk-go-v2/config v1.29.14
11-
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.4
11+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.54.0
1212
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.2
1313
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.36.3
1414
github.com/aws/aws-sdk-go-v2/service/ec2 v1.210.1
15-
github.com/aws/aws-sdk-go-v2/service/eks v1.64.0
16-
github.com/aws/aws-sdk-go-v2/service/iam v1.41.1
15+
github.com/aws/aws-sdk-go-v2/service/eks v1.65.0
16+
github.com/aws/aws-sdk-go-v2/service/iam v1.43.0
1717
github.com/aws/aws-sdk-go-v2/service/s3 v1.77.1
18-
github.com/aws/smithy-go v1.22.3
18+
github.com/aws/smithy-go v1.22.4
1919
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
2020
github.com/octago/sflags v0.2.0
21-
github.com/spf13/pflag v1.0.6
21+
github.com/spf13/pflag v1.0.7
2222
github.com/stretchr/testify v1.10.0
2323
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394
2424
k8s.io/api v0.33.0
25-
k8s.io/apimachinery v0.33.0
25+
k8s.io/apimachinery v0.33.3
2626
k8s.io/client-go v0.33.0
2727
k8s.io/klog v1.0.0
2828
k8s.io/klog/v2 v2.130.1
@@ -45,16 +45,16 @@ require (
4545
github.com/robfig/cron/v3 v3.0.1 // indirect
4646
github.com/samber/lo v1.50.0 // indirect
4747
github.com/x448/float16 v0.8.4 // indirect
48-
golang.org/x/crypto v0.38.0 // indirect
48+
golang.org/x/crypto v0.40.0 // indirect
4949
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
5050
k8s.io/apiextensions-apiserver v0.32.3 // indirect
5151
)
5252

5353
require (
54-
cloud.google.com/go v0.116.0 // indirect
55-
cloud.google.com/go/compute/metadata v0.6.0 // indirect
56-
cloud.google.com/go/iam v1.2.2 // indirect
57-
cloud.google.com/go/storage v1.43.0 // indirect
54+
cloud.google.com/go v0.121.2 // indirect
55+
cloud.google.com/go/compute/metadata v0.7.0 // indirect
56+
cloud.google.com/go/iam v1.5.2 // indirect
57+
cloud.google.com/go/storage v1.53.0 // indirect
5858
cuelabs.dev/go/oci/ociregistry v0.0.0-20240318100017-39d12ee67b8b // indirect
5959
cuelang.org/go v0.8.0 // indirect
6060
dario.cat/mergo v1.0.1 // indirect
@@ -89,8 +89,8 @@ require (
8989
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
9090
github.com/aws/aws-sdk-go-v2/credentials v1.17.67 // indirect
9191
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 // indirect
92-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect
93-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect
92+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36 // indirect
93+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.36 // indirect
9494
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
9595
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2 // indirect
9696
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.2 // indirect
@@ -130,15 +130,15 @@ require (
130130
github.com/emicklei/proto v1.13.2 // indirect
131131
github.com/emirpasic/gods v1.18.1 // indirect
132132
github.com/felixge/httpsnoop v1.0.4 // indirect
133-
github.com/fsnotify/fsnotify v1.8.0 // indirect
133+
github.com/fsnotify/fsnotify v1.9.0 // indirect
134134
github.com/glebarez/go-sqlite v1.22.0 // indirect
135135
github.com/go-chi/chi v4.1.2+incompatible // indirect
136136
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
137137
github.com/go-git/go-billy/v5 v5.5.0 // indirect
138138
github.com/go-git/go-git/v5 v5.11.0 // indirect
139139
github.com/go-ini/ini v1.67.0 // indirect
140140
github.com/go-jose/go-jose/v3 v3.0.4 // indirect
141-
github.com/go-logr/logr v1.4.2 // indirect
141+
github.com/go-logr/logr v1.4.3 // indirect
142142
github.com/go-logr/stdr v1.2.2 // indirect
143143
github.com/go-ole/go-ole v1.3.0 // indirect
144144
github.com/go-openapi/analysis v0.23.0 // indirect
@@ -167,8 +167,8 @@ require (
167167
github.com/google/licenseclassifier/v2 v2.0.0 // indirect
168168
github.com/google/s2a-go v0.1.9 // indirect
169169
github.com/google/uuid v1.6.0 // indirect
170-
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
171-
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
170+
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
171+
github.com/googleapis/gax-go/v2 v2.14.2 // indirect
172172
github.com/gorilla/mux v1.8.1 // indirect
173173
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
174174
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
@@ -204,14 +204,14 @@ require (
204204
github.com/opentracing/opentracing-go v1.2.0 // indirect
205205
github.com/package-url/packageurl-go v0.1.2 // indirect
206206
github.com/pborman/uuid v1.2.1 // indirect
207-
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
207+
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
208208
github.com/pjbgf/sha1cd v0.3.0 // indirect
209209
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
210210
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
211211
github.com/prometheus/client_golang v1.22.0 // indirect
212212
github.com/prometheus/client_model v0.6.2 // indirect
213-
github.com/prometheus/common v0.63.0 // indirect
214-
github.com/prometheus/procfs v0.16.0 // indirect
213+
github.com/prometheus/common v0.65.0 // indirect
214+
github.com/prometheus/procfs v0.17.0 // indirect
215215
github.com/protocolbuffers/txtpbfmt v0.0.0-20240116145035-ef3ab179eed6 // indirect
216216
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
217217
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
@@ -233,10 +233,10 @@ require (
233233
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect
234234
github.com/sourcegraph/conc v0.3.0 // indirect
235235
github.com/spf13/afero v1.14.0 // indirect
236-
github.com/spf13/cast v1.7.1 // indirect
236+
github.com/spf13/cast v1.9.2 // indirect
237237
github.com/spf13/cobra v1.9.1 // indirect
238238
github.com/spf13/viper v1.20.1 // indirect
239-
github.com/spiffe/go-spiffe/v2 v2.1.7 // indirect
239+
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
240240
github.com/subosito/gotenv v1.6.0 // indirect
241241
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
242242
github.com/tchap/go-patricia/v2 v2.3.1 // indirect
@@ -252,34 +252,33 @@ require (
252252
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
253253
github.com/yashtewari/glob-intersection v0.2.0 // indirect
254254
github.com/yusufpapurcu/wmi v1.2.4 // indirect
255-
github.com/zeebo/errs v1.3.0 // indirect
255+
github.com/zeebo/errs v1.4.0 // indirect
256256
gitlab.alpinelinux.org/alpine/go v0.10.0 // indirect
257257
go.mongodb.org/mongo-driver v1.14.0 // indirect
258-
go.opencensus.io v0.24.0 // indirect
259-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 // indirect
260-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect
261-
go.opentelemetry.io/otel v1.34.0 // indirect
262-
go.opentelemetry.io/otel/metric v1.34.0 // indirect
263-
go.opentelemetry.io/otel/sdk v1.34.0 // indirect
264-
go.opentelemetry.io/otel/trace v1.34.0 // indirect
258+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
259+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
260+
go.opentelemetry.io/otel v1.36.0 // indirect
261+
go.opentelemetry.io/otel/metric v1.36.0 // indirect
262+
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
263+
go.opentelemetry.io/otel/trace v1.36.0 // indirect
265264
go.step.sm/crypto v0.43.1 // indirect
266265
go.uber.org/multierr v1.11.0 // indirect
267266
go.uber.org/zap v1.27.0 // indirect
268-
golang.org/x/mod v0.24.0 // indirect
269-
golang.org/x/net v0.38.0 // indirect
270-
golang.org/x/oauth2 v0.29.0 // indirect
271-
golang.org/x/sync v0.14.0 // indirect
272-
golang.org/x/sys v0.33.0 // indirect
273-
golang.org/x/term v0.32.0 // indirect
274-
golang.org/x/text v0.25.0 // indirect
275-
golang.org/x/time v0.11.0 // indirect
267+
golang.org/x/mod v0.26.0 // indirect
268+
golang.org/x/net v0.42.0 // indirect
269+
golang.org/x/oauth2 v0.30.0 // indirect
270+
golang.org/x/sync v0.16.0 // indirect
271+
golang.org/x/sys v0.34.0 // indirect
272+
golang.org/x/term v0.33.0 // indirect
273+
golang.org/x/text v0.27.0 // indirect
274+
golang.org/x/time v0.12.0 // indirect
276275
golang.org/x/tools/go/vcs v0.1.0-deprecated // indirect
277276
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
278-
google.golang.org/api v0.223.0 // indirect
279-
google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect
280-
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
281-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2 // indirect
282-
google.golang.org/grpc v1.70.0 // indirect
277+
google.golang.org/api v0.242.0 // indirect
278+
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect
279+
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
280+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
281+
google.golang.org/grpc v1.73.0 // indirect
283282
google.golang.org/protobuf v1.36.6 // indirect
284283
gopkg.in/go-jose/go-jose.v2 v2.6.3 // indirect
285284
gopkg.in/inf.v0 v0.9.1 // indirect
@@ -298,41 +297,63 @@ require (
298297
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
299298
sigs.k8s.io/promo-tools/v3 v3.6.0 // indirect
300299
sigs.k8s.io/release-sdk v0.11.0 // indirect
301-
sigs.k8s.io/release-utils v0.11.1 // indirect
300+
sigs.k8s.io/release-utils v0.12.0 // indirect
302301
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
303-
sigs.k8s.io/yaml v1.4.0
302+
sigs.k8s.io/yaml v1.5.0
304303
)
305304

306305
require (
307-
github.com/weaveworks/eksctl v0.208.0
306+
github.com/weaveworks/eksctl v0.211.0
308307
k8s.io/cli-runtime v0.32.3
309308
k8s.io/cloud-provider-aws v1.33.0
310309
sigs.k8s.io/e2e-framework v0.3.0
311310
)
312311

313312
require (
314-
cloud.google.com/go/auth v0.15.0 // indirect
315-
cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect
313+
cel.dev/expr v0.23.0 // indirect
314+
cloud.google.com/go/auth v0.16.2 // indirect
315+
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
316+
cloud.google.com/go/monitoring v1.24.2 // indirect
317+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 // indirect
318+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 // indirect
319+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 // indirect
316320
github.com/avast/retry-go/v4 v4.6.1 // indirect
317-
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.48.4 // indirect
318-
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.48.0 // indirect
319-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.29.3 // indirect
321+
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.49.3 // indirect
322+
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.50.0 // indirect
323+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.29.6 // indirect
320324
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.45.2 // indirect
321325
github.com/aws/aws-sdk-go-v2/service/outposts v1.50.1 // indirect
326+
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f // indirect
327+
github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect
328+
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
329+
github.com/fatih/color v1.18.0 // indirect
322330
github.com/go-errors/errors v1.5.1 // indirect
331+
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
323332
github.com/go-resty/resty/v2 v2.11.0 // indirect
324-
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
333+
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
325334
github.com/google/btree v1.1.3 // indirect
335+
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a // indirect
326336
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
327337
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
328338
github.com/hashicorp/go-version v1.7.0 // indirect
329339
github.com/kris-nova/logger v0.2.2 // indirect
340+
github.com/mattn/go-colorable v0.1.14 // indirect
341+
github.com/mattn/go-runewidth v0.0.16 // indirect
330342
github.com/moby/spdystream v0.5.0 // indirect
331343
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
332344
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
345+
github.com/olekukonko/errors v0.0.0-20250405072817-4e6d85265da6 // indirect
346+
github.com/olekukonko/ll v0.0.8 // indirect
347+
github.com/olekukonko/tablewriter v1.0.8 // indirect
348+
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
349+
github.com/rivo/uniseg v0.4.7 // indirect
333350
github.com/stretchr/objx v0.5.2 // indirect
334351
github.com/xlab/treeprint v1.2.0 // indirect
335352
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
353+
go.opentelemetry.io/contrib/detectors/gcp v1.35.0 // indirect
354+
go.opentelemetry.io/otel/sdk/metric v1.36.0 // indirect
355+
go.yaml.in/yaml/v2 v2.4.2 // indirect
356+
go.yaml.in/yaml/v3 v3.0.3 // indirect
336357
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
337358
gopkg.in/gcfg.v1 v1.2.3 // indirect
338359
k8s.io/cloud-provider v0.33.0 // indirect

0 commit comments

Comments
 (0)