diff --git a/Dockerfile b/Dockerfile index e774d10..a5ff9ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,6 +34,8 @@ ARG VELERO_VERSION="1.9.1" ARG SENTINEL_VERSION="0.18.12" #https://github.com/stern/stern/releases ARG STERN_VERSION="1.21.0" +#https://github.com/Azure/kubelogin/releases +ARG KUBELOGIN_VERSION="0.0.20" #apt-get update && apt-cache madison zsh | head -n 1 ARG ZSH_VERSION="5.8-3ubuntu1.1" ARG MULTISTAGE_BUILDER_VERSION="2022-08-25" @@ -54,10 +56,11 @@ ARG VAULT_VERSION ARG VELERO_VERSION ARG SENTINEL_VERSION ARG STERN_VERSION +ARG KUBELOGIN_VERSION -#download oc-cli WORKDIR /root/download +#download oc-cli RUN mkdir -p oc_cli && \ curl -SsL --retry 5 -o oc_cli.tar.gz https://mirror.openshift.com/pub/openshift-v4/$TARGETARCH/clients/ocp/stable/openshift-client-linux-$OC_CLI_VERSION.tar.gz && \ tar xvf oc_cli.tar.gz -C oc_cli @@ -121,6 +124,13 @@ RUN mkdir -p /root/download/stern && \ mkdir -p /root/download/stern_binary && \ mv /root/download/stern/stern /root/download/stern_binary/stern +#download kubelogin +RUN mkdir -p /root/download/kubelogin/binary && \ + wget https://github.com/Azure/kubelogin/releases/download/v${KUBELOGIN_VERSION}/kubelogin-linux-${TARGETARCH}.zip -O /root/download/kubelogin/kubelogin.zip && \ + unzip /root/download/kubelogin/kubelogin.zip -d /root/download/kubelogin/ && \ + mv /root/download/kubelogin/bin/linux_${TARGETARCH}/kubelogin /root/download/kubelogin/binary/kubelogin + + ######################################################### IMAGE ######################################################## FROM ubuntu:$UBUNTU_VERSION @@ -277,6 +287,8 @@ COPY --from=builder "/root/download/tcpping" "/usr/local/bin/tcpping" COPY --from=builder "/root/download/velero_binary/velero" "/usr/local/bin/velero" COPY --from=builder "/root/download/sentinel_binary/sentinel" "/usr/local/bin/sentinel" COPY --from=builder "/root/download/stern_binary/stern" "/usr/local/bin/stern" +COPY --from=builder "/root/download/kubelogin/binary/kubelogin" "/usr/local/bin/kubelogin" + RUN chmod -R +x /usr/local/bin && \ helm version && \ @@ -294,7 +306,8 @@ RUN chmod -R +x /usr/local/bin && \ tcpping && \ velero --help && \ stern --version && \ - sentinel --version + sentinel --version && \ + kubelogin --version COPY .bashrc /root/.bashrc COPY .zshrc /root/.zshrc diff --git a/README.md b/README.md index d8493e4..42cce43 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ latest -> 2022-09-21_01 | RELEASE | UBUNTU | DOCKER | KUBECTL | OC CLI | HELM | TERRAFORM | AWS CLI | AZ CLI | GCLOUD SDK | ANSIBLE | JINJA2 | OPENSSH | CRICTL | VAULT | VELERO | SENTINEL | |---------------|--------|----------|---------|---------|-------|-----------|---------|--------|------------|---------|--------|---------|--------|--------|--------|----------| +| 2022-09-22_01 | 20.04 | 20.10.18 | 1.25.1 | 4.11.4 | 3.9.4 | 1.2.9 | 1.25.77 | 2.40.0 | 402.0.0 | 6.4.0 | 3.1.2 | 9.0p1 | 1.25.0 | 1.11.3 | 1.9.1 | 0.18.12 | | 2022-09-21_01 | 20.04 | 20.10.18 | 1.25.1 | 4.11.4 | 3.9.4 | 1.2.9 | 1.25.77 | 2.40.0 | 402.0.0 | 6.4.0 | 3.1.2 | 9.0p1 | 1.25.0 | 1.11.3 | 1.9.1 | 0.18.12 | | 2022-09-14_01 | 20.04 | 20.10.18 | 1.25.0 | 4.11.1 | 3.9.4 | 1.2.9 | 1.25.73 | 2.40.0 | 402.0.0 | 6.3.0 | 3.1.2 | 9.0p1 | 1.25.0 | 1.11.3 | 1.9.1 | 0.18.11 | | 2022-08-25_01 | 20.04 | 20.10.17 | 1.25.0 | 4.11.0 | 3.9.4 | 1.2.8 | 1.25.60 | 2.39.0 | 399.0.0 | 6.3.0 | 3.1.2 | 9.0p1 | 1.24.2 | 1.11.2 | 1.9.1 | 0.18.11 | diff --git a/build.sh b/build.sh index aea2b9e..51fa154 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,7 @@ set -euo pipefail IFS=$'\n\t' -IMAGE_TAG="2022-09-21_01" +IMAGE_TAG="2022-09-22_01" UPSTREAM_TAG="latest" docker login @@ -40,6 +40,7 @@ trivy image \ --skip-files "/usr/local/bin/docker-init" \ --skip-files "/usr/local/bin/docker-proxy" \ --skip-files "/usr/local/bin/dockerd" \ + --skip-files "/usr/local/bin/kubelogin" \ --skip-dirs "/root/.azure/cliextensions/ssh/" \ ksandermann/cloud-toolbox-private:$IMAGE_TAG @@ -49,7 +50,7 @@ do done echo "Vulnerability scan complete. Press ctrl+c to abort and not push images. Sleeping 120 seconds, then proceeding to push images" sleep 120 -echo hallo +echo "proceeding with pushing the images" PRIVATE_MANIFEST_DIGEST_1=$(docker manifest inspect ksandermann/cloud-toolbox-private:$IMAGE_TAG | yq '.manifests[0].digest') PRIVATE_MANIFEST_DIGEST_2=$(docker manifest inspect ksandermann/cloud-toolbox-private:$IMAGE_TAG | yq '.manifests[1].digest') @@ -58,7 +59,11 @@ docker manifest create ksandermann/cloud-toolbox:$IMAGE_TAG \ --amend ksandermann/cloud-toolbox-private@$PRIVATE_MANIFEST_DIGEST_1 \ --amend ksandermann/cloud-toolbox-private@$PRIVATE_MANIFEST_DIGEST_2 -docker manifest push ksandermann/cloud-toolbox:$IMAGE_TAG +#docker manifest push ksandermann/cloud-toolbox:$IMAGE_TAG + +#remove current manifest to not ammend more images with same architecture but create a clean one +docker manifest rm ksandermann/cloud-toolbox:$UPSTREAM_TAG || true +rm -rf ~/.docker/manifests/docker.io_ksandermann_cloud-toolbox-latest docker manifest create ksandermann/cloud-toolbox:$UPSTREAM_TAG \ --amend ksandermann/cloud-toolbox-private@$PRIVATE_MANIFEST_DIGEST_1 \