57446c0e by Adam Heath

Add skopeo(built from source).

1 parent 5f5a214f
...@@ -23,13 +23,41 @@ ARG KUSTOMIZE_VERSION=3.8.10 ...@@ -23,13 +23,41 @@ ARG KUSTOMIZE_VERSION=3.8.10
23 #ARG KUSTOMIZE_VERSION=5.5.0 23 #ARG KUSTOMIZE_VERSION=5.5.0
24 ADD https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_amd64.tar.gz /srv/kustomize_linux_amd64.tar.gz 24 ADD https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_amd64.tar.gz /srv/kustomize_linux_amd64.tar.gz
25 25
26 FROM scratch AS skopeo-remote
27 ARG SKOPEO_VERSION=1.15.0
28 ADD https://github.com/containers/skopeo/archive/refs/tags/v${SKOPEO_VERSION}.tar.gz /srv/skopeo.tar.gz
29
26 FROM debian:bookworm-20241223-slim AS host-base-tools 30 FROM debian:bookworm-20241223-slim AS host-base-tools
27 31
28 RUN true && \ 32 RUN true && \
29 apt-get update && \ 33 apt-get update && \
30 apt-get install -y git && \ 34 apt-get install -y git libgpgme11 libsubid4 libdevmapper1.02.1 && \
31 adduser tool && \ 35 adduser tool && \
32 getent passwd && \ 36 getent passwd && \
37 apt-get clean && \
38 true
39
40 FROM host-base-tools AS skopeo-compiled
41 COPY --from=skopeo-remote /srv/skopeo.tar.gz /srv/skopeo.tar.gz
42 RUN true && set -x && \
43 echo "deb http://deb.debian.org/debian/ bookworm-backports main" > /etc/apt/sources.list.d/bookworm-backups.list && \
44 apt-get update && \
45 apt-get install -y \
46 make libgpgme-dev libassuan-dev libbtrfs-dev libdevmapper-dev pkg-config \
47 golang-1.22-go golang-1.22 go-md2man \
48 && \
49 apt-get clean && \
50 mkdir /srv/build && cd /srv/build && tar xzvf /srv/skopeo.tar.gz && \
51 mv skopeo-* /srv/skopeo && \
52 cd /srv/skopeo && \
53 PATH=/usr/lib/go-1.22/bin:$PATH make && \
54 cp bin/skopeo /usr/local/bin/skopeo && \
55 cd /srv && \
56 rm /srv/skopeo* -rf && \
57 apt-get remove -y \
58 make libgpgme-dev libassuan-dev libbtrfs-dev libdevmapper-dev pkg-config \
59 golang-1.22-go golang-1.22 go-md2man \
60 && \
33 true 61 true
34 62
35 FROM host-base-tools as host-build-tools 63 FROM host-base-tools as host-build-tools
...@@ -40,6 +68,9 @@ COPY --from=helmfile-remote /srv/helmfile_linux_amd64.tar.gz /srv/helmfile_linux ...@@ -40,6 +68,9 @@ COPY --from=helmfile-remote /srv/helmfile_linux_amd64.tar.gz /srv/helmfile_linux
40 COPY --from=kubectl-remote /srv/kubectl /usr/local/bin/kubectl 68 COPY --from=kubectl-remote /srv/kubectl /usr/local/bin/kubectl
41 COPY --from=kustomize-remote /srv/kustomize_linux_amd64.tar.gz /srv/kustomize_linux_amd64.tar.gz 69 COPY --from=kustomize-remote /srv/kustomize_linux_amd64.tar.gz /srv/kustomize_linux_amd64.tar.gz
42 70
71 # requires: libgpgme11 libsubid4 libdevmapper1.02.1
72 COPY --from=skopeo-compiled /usr/local/bin/skopeo /usr/local/bin/skopeo
73
43 RUN true && set -x && \ 74 RUN true && set -x && \
44 chown tool:tool /srv/* && \ 75 chown tool:tool /srv/* && \
45 chmod +x /usr/local/bin/kubectl && \ 76 chmod +x /usr/local/bin/kubectl && \
...@@ -67,6 +98,7 @@ RUN true && set -x && \ ...@@ -67,6 +98,7 @@ RUN true && set -x && \
67 tar -C $HELM_PLUGINS -xf /srv/helm-git.tar.gz && \ 98 tar -C $HELM_PLUGINS -xf /srv/helm-git.tar.gz && \
68 helm version && helm plugin list && \ 99 helm version && helm plugin list && \
69 helmfile version && \ 100 helmfile version && \
101 skopeo -v && \
70 mkdir -p .config/kustomize/plugin && \ 102 mkdir -p .config/kustomize/plugin && \
71 mkdir .ssh && chmod 700 .ssh && \ 103 mkdir .ssh && chmod 700 .ssh && \
72 true 104 true
......