Skip to content

Commit 9333a70

Browse files
authored
Merge pull request #615 from etungsten/tools-new-stuff
tools: add `eksctl-anywhere` and `kubectl`
2 parents ce4fe17 + dc92271 commit 9333a70

File tree

3 files changed

+56
-6
lines changed

3 files changed

+56
-6
lines changed

tools/Dockerfile

Lines changed: 49 additions & 3 deletions
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,18 +87,45 @@ 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

84119
USER root
85120
RUN mkdir -p /usr/share/licenses/kubernetes && \
86121
chown -R builder:builder /usr/share/licenses/kubernetes
87122

88-
ARG K8S_VERSION=1.21.6
123+
ARG K8S_VERSION=1.23.13
89124
ARG K8S_SOURCE_URL="https://github.com/kubernetes/kubernetes/archive/refs/tags/v${K8S_VERSION}.tar.gz"
90125

91126
ARG GOARCH
92127
ARG KUBEADM_BINARY_URL="https://dl.k8s.io/release/v${K8S_VERSION}/bin/linux/${GOARCH}/kubeadm"
128+
ARG KUBECTL_BINARY_URL="https://dl.k8s.io/release/v${K8S_VERSION}/bin/linux/${GOARCH}/kubectl"
93129

94130
USER builder
95131
WORKDIR /home/builder/
@@ -114,6 +150,11 @@ RUN curl -L ${KUBEADM_BINARY_URL} \
114150
grep kubeadm_${K8S_VERSION}_${GOOS}_${GOARCH} \
115151
/hashes/kubernetes | sha512sum --check - && \
116152
install -m 0755 kubeadm_${K8S_VERSION}_${GOOS}_${GOARCH} /tmp/kubeadm
153+
RUN curl -L ${KUBECTL_BINARY_URL} \
154+
-o kubectl_${K8S_VERSION}_${GOOS}_${GOARCH} && \
155+
grep kubectl_${K8S_VERSION}_${GOOS}_${GOARCH} \
156+
/hashes/kubernetes | sha512sum --check - && \
157+
install -m 0755 kubectl_${K8S_VERSION}_${GOOS}_${GOARCH} /tmp/kubectl
117158

118159
# =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= =^..^=
119160
FROM build-go as sonobuoy-build
@@ -191,8 +232,13 @@ COPY --from=aws-iam-authenticator-build /usr/share/licenses/aws-iam-authenticato
191232
COPY --from=eksctl-build /tmp/eksctl /eksctl
192233
COPY --from=eksctl-build /usr/share/licenses/eksctl /licenses/eksctl
193234

194-
# kubeadm
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+
239+
# kubeadm and kubectl
195240
COPY --from=kubernetes-build /tmp/kubeadm /kubeadm
241+
COPY --from=kubernetes-build /tmp/kubectl /kubectl
196242
COPY --from=kubernetes-build /usr/share/licenses/kubernetes /licenses/kubernetes
197243

198244
# sonobuoy

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

tools/hashes/kubernetes

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
a53dc25aa091075d73b7f8ae9a518c019a16b821bce6cfe3ff191cf4098df8851de03ec0a9292e534045323b8300532a23e6caceae3e6dfaea00471eac16a223 kubernetes_1.21.6.tar.gz
2-
aafb8a0f3613e7511854ed972004a6c5db72fede5f1289ba14044e44c36957ff53332b0ae36762137fd32218db0435449bbb1f49a1e8d50deba8a9a7aa6f480f kubeadm_1.21.6_linux_amd64
3-
c3851cf9c52137de733d538bf3116e55c5f26ddd7161ead63c079d82266197b6caf2c60955304434f6af5d10ac4e9ce6c35395dc2daedcb7137bb440d5176ec1 kubeadm_1.21.6_linux_arm64
1+
213f887c4eac39123771985016d6a4e70111b4b67355b9787cf54b0e308296c7fb199aa4bb06522047140d66279e00834ab89362a1a8a90c4490d085710a3a08 kubernetes_1.23.13.tar.gz
2+
d79c423e0b545137346704460e9f2cf86804edc21dda43ad61a57a000d290c09de0bcd20ea9e084e24895e4fb567a882f4e69d2f4018fe23bebf5e839371847a kubeadm_1.23.13_linux_amd64
3+
280e3179bb8ccd238dbeeadd563d9805eebe83df09358842b8cc38b188e4019a78c110c7beb8046587b48adb7bff570b1eada0718b7a331791bbaa4c774d62f0 kubeadm_1.23.13_linux_arm64
4+
94d1135a116e39a22b65bc1b4785e3e6e69dab9407062951befba35b25612d898cd3b214fe1ed220cddcfca68fdef9141bf5a73b1d5a8f8baf5c06fa2fdbd9f4 kubectl_1.23.13_linux_amd64
5+
c4f26b003f6d83078fde0ec0cdcd3ceec8909c88e857432e82508fa32de483d0c627309cc608d8130ea4a44bcbb825ca13e32d5609b4d18850b2157adfcde391 kubectl_1.23.13_linux_arm64

0 commit comments

Comments
 (0)