Skip to content

Commit dc92271

Browse files
committed
tools: add 'eksctl-anywhere'
This adds 'eksctl-anywhere' to the tools image along with the associated license checks.
1 parent 4385396 commit dc92271

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

tools/Dockerfile

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,25 @@ FROM build-go as eksctl-build
4040

4141
USER root
4242
RUN mkdir -p /usr/share/licenses/eksctl && \
43-
chown -R builder:builder /usr/share/licenses/eksctl
43+
chown -R builder:builder /usr/share/licenses/eksctl && \
44+
mkdir -p /usr/share/licenses/eksctl-anywhere && \
45+
chown -R builder:builder /usr/share/licenses/eksctl-anywhere
4446

4547
ARG EKSCTL_VERSION=0.112.0
4648
ARG EKSCTL_SOURCE_URL="https://github.com/weaveworks/eksctl/archive/refs/tags/v${EKSCTL_VERSION}.tar.gz"
4749

4850
ARG GOARCH
4951
ARG EKSCTL_BINARY_URL="https://github.com/weaveworks/eksctl/releases/download/v${EKSCTL_VERSION}/eksctl_Linux_${GOARCH}.tar.gz"
5052

53+
ARG EKSA_VERSION=0.11.4
54+
ARG EKSA_SOURCE_URL="https://github.com/aws/eks-anywhere/archive/refs/tags/v${EKSA_VERSION}.tar.gz"
55+
ARG EKSA_RELEASE_NUMBER=21
56+
# TODO EKS-A currently does not provide an ARM64 binary, add the hash for it when they do
57+
ARG EKSA_BINARY_URL="https://anywhere-assets.eks.amazonaws.com/releases/eks-a/${EKSA_RELEASE_NUMBER}/artifacts/eks-a/v${EKSA_VERSION}/${GOOS}/amd64/eksctl-anywhere-v${EKSA_VERSION}-${GOOS}-amd64.tar.gz"
58+
5159
USER builder
5260
WORKDIR /home/builder/
61+
# eksctl
5362
RUN mkdir eksctl && curl -L ${EKSCTL_SOURCE_URL} \
5463
-o eksctl_${EKSCTL_VERSION}.tar.gz && \
5564
grep eksctl_${EKSCTL_VERSION}.tar.gz \
@@ -78,6 +87,32 @@ RUN curl -L "${EKSCTL_BINARY_URL}" \
7887
tar -xf eksctl_${EKSCTL_VERSION}_${GOOS}_${GOARCH}.tar.gz -C /tmp && \
7988
rm eksctl_${EKSCTL_VERSION}_${GOOS}_${GOARCH}.tar.gz
8089

90+
# eksctl-anywhere
91+
# TODO Try and build this; it's not straightforward with the tight coupling between EKS-A releases and its bundles
92+
WORKDIR /home/builder/
93+
RUN mkdir eksctl-anywhere && curl -L ${EKSA_SOURCE_URL} \
94+
-o eksctl_anywhere_${EKSA_VERSION}.tar.gz && \
95+
grep eksctl_anywhere_${EKSA_VERSION}.tar.gz \
96+
/hashes/eksctl | sha512sum --check - && \
97+
tar -xf eksctl_anywhere_${EKSA_VERSION}.tar.gz --strip-components 1 -C eksctl-anywhere && \
98+
rm eksctl_anywhere_${EKSA_VERSION}.tar.gz
99+
100+
USER root
101+
WORKDIR /home/builder/eksctl-anywhere/
102+
RUN go mod vendor
103+
RUN cp -p LICENSE /usr/share/licenses/eksctl-anywhere && \
104+
/usr/libexec/tools/bottlerocket-license-scan \
105+
--clarify /clarify.toml \
106+
--spdx-data /usr/libexec/tools/spdx-data \
107+
--out-dir /usr/share/licenses/eksctl-anywhere/vendor \
108+
go-vendor ./vendor
109+
RUN curl -L "${EKSA_BINARY_URL}" \
110+
-o eksctl_anywhere_${EKSA_VERSION}_${EKSA_RELEASE_NUMBER}_${GOOS}_amd64.tar.gz && \
111+
grep eksctl_anywhere_${EKSA_VERSION}_${EKSA_RELEASE_NUMBER}_${GOOS}_amd64.tar.gz \
112+
/hashes/eksctl | sha512sum --check - && \
113+
tar -xzf eksctl_anywhere_${EKSA_VERSION}_${EKSA_RELEASE_NUMBER}_${GOOS}_amd64.tar.gz -C /tmp && \
114+
rm eksctl_anywhere_${EKSA_VERSION}_${EKSA_RELEASE_NUMBER}_${GOOS}_amd64.tar.gz
115+
81116
# =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^=
82117
FROM build-go as kubernetes-build
83118

@@ -197,6 +232,10 @@ COPY --from=aws-iam-authenticator-build /usr/share/licenses/aws-iam-authenticato
197232
COPY --from=eksctl-build /tmp/eksctl /eksctl
198233
COPY --from=eksctl-build /usr/share/licenses/eksctl /licenses/eksctl
199234

235+
# eksctl-anywhere
236+
COPY --from=eksctl-build /tmp/eksctl-anywhere /eksctl-anywhere
237+
COPY --from=eksctl-build /usr/share/licenses/eksctl-anywhere /licenses/eksctl-anywhere
238+
200239
# kubeadm and kubectl
201240
COPY --from=kubernetes-build /tmp/kubeadm /kubeadm
202241
COPY --from=kubernetes-build /tmp/kubectl /kubectl

tools/hashes/eksctl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
1cf804f0a135ce20e038703ab234eb3a552b7b636809613e13c7215cf55799c67e553b45397a86d6e713c833c3fbc2f5069d5d6f84bd1f5c5cd64efe94cd8bf7 eksctl_0.112.0.tar.gz
22
45f593b9d594c3d1151cad7ff03faff9f36843e768177502f36f1b9622c98ee9e83f752d3c7799c4248fb8dac922c1dc23aa8f11177e127c83e8442a7eac3d44 eksctl_0.112.0_linux_amd64.tar.gz
33
2994cae53100ded6a9f50bbc43168b6f83f9a926b66d98c0e5315da4350f30d7822ccaeb242733f28346ba07668ad3bd453e7d91fd926aa46023d471ca9cd394 eksctl_0.112.0_linux_arm64.tar.gz
4+
c14dfc6ee2b7e588d63e956257879e9c6ccef6ee8c5c3f22e18fd7df692890600bc4160fc34904bf6b1dc112660c68551da23e0cad5552c7d9bf3f86348a86b8 eksctl_anywhere_0.11.4.tar.gz
5+
12c12a4f1266a83a6ee6fcf0283e9ecf63eceebdd3689c2d205df3bc7e8876cfc4bbecfe2f599aed47cac6f702955517d5a3c3d32d1662b53b8435ae6c566fb9 eksctl_anywhere_0.11.4_21_linux_amd64.tar.gz

0 commit comments

Comments
 (0)