-
Notifications
You must be signed in to change notification settings - Fork 565
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ubuntu docker based image for helmfile (#1863)
Co-authored-by: Valera Seryozhenko <[email protected]>
- Loading branch information
1 parent
724b4b3
commit 787e6c8
Showing
2 changed files
with
120 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
FROM golang:1.16.3-buster as builder | ||
|
||
RUN apt update -qq && \ | ||
apt install --no-install-recommends -y make git && \ | ||
rm -rf /var/lib/apt/lists/* | ||
WORKDIR /workspace/helmfile | ||
COPY . /workspace/helmfile | ||
RUN make static-linux | ||
|
||
# ----------------------------------------------------------------------------- | ||
|
||
FROM ubuntu:20.10 | ||
|
||
RUN apt update -qq && \ | ||
apt install --no-install-recommends -y \ | ||
ca-certificates \ | ||
git bash curl jq pip wget && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
ARG HELM_VERSION="v3.5.3" | ||
ARG HELM_LOCATION="https://get.helm.sh" | ||
ARG HELM_FILENAME="helm-${HELM_VERSION}-linux-amd64.tar.gz" | ||
ARG HELM_SHA256="2170a1a644a9e0b863f00c17b761ce33d4323da64fc74562a3a6df2abbf6cd70" | ||
RUN set -x && \ | ||
wget ${HELM_LOCATION}/${HELM_FILENAME} && \ | ||
echo Verifying ${HELM_FILENAME}... && \ | ||
sha256sum ${HELM_FILENAME} | grep -q "${HELM_SHA256}" && \ | ||
echo Extracting ${HELM_FILENAME}... && \ | ||
tar zxvf ${HELM_FILENAME} && mv /linux-amd64/helm /usr/local/bin/ && \ | ||
rm ${HELM_FILENAME} && rm -r /linux-amd64 | ||
|
||
# using the install documentation found at https://kubernetes.io/docs/tasks/tools/install-kubectl/ | ||
# for now but in a future version of alpine (in the testing version at the time of writing) | ||
# we should be able to install using apk add. | ||
# the sha256 sum can be found at https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256 | ||
# maybe a good idea to automate in the future? | ||
ENV KUBECTL_VERSION="v1.18.9" | ||
ENV KUBECTL_SHA256="6a68756a2d3d04b4d0f52b00de6493ba2c1fcb28b32f3e4a0e99b3d9f6c4e8ed" | ||
RUN set -x && \ | ||
curl --retry 5 --retry-connrefused -LO "https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" && \ | ||
sha256sum kubectl | grep ${KUBECTL_SHA256} && \ | ||
chmod +x kubectl && \ | ||
mv kubectl /usr/local/bin/kubectl | ||
|
||
ENV KUSTOMIZE_VERSION="v3.8.8" | ||
ENV KUSTOMIZE_SHA256="175938206f23956ec18dac3da0816ea5b5b485a8493a839da278faac82e3c303" | ||
RUN set -x && \ | ||
curl --retry 5 --retry-connrefused -LO https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/${KUSTOMIZE_VERSION}/kustomize_${KUSTOMIZE_VERSION}_linux_amd64.tar.gz && \ | ||
sha256sum kustomize_${KUSTOMIZE_VERSION}_linux_amd64.tar.gz | grep ${KUSTOMIZE_SHA256} && \ | ||
tar zxf kustomize_${KUSTOMIZE_VERSION}_linux_amd64.tar.gz && \ | ||
rm kustomize_${KUSTOMIZE_VERSION}_linux_amd64.tar.gz && \ | ||
mv kustomize /usr/local/bin/kustomize | ||
|
||
RUN pip install sops | ||
|
||
RUN helm plugin install https://github.com/databus23/helm-diff --version v3.1.3 && \ | ||
helm plugin install https://github.com/jkroepke/helm-secrets --version v3.5.0 && \ | ||
helm plugin install https://github.com/hypnoglow/helm-s3.git --version v0.10.0 && \ | ||
helm plugin install https://github.com/aslafy-z/helm-git.git --version v0.10.0 | ||
|
||
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_amd64 /usr/local/bin/helmfile | ||
|
||
CMD ["/usr/local/bin/helmfile"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
FROM golang:1.16.3-buster as builder | ||
|
||
RUN apt update -qq && \ | ||
apt install --no-install-recommends -y make git && \ | ||
rm -rf /var/lib/apt/lists/* | ||
WORKDIR /workspace/helmfile | ||
COPY . /workspace/helmfile | ||
RUN make static-linux | ||
|
||
# ----------------------------------------------------------------------------- | ||
|
||
FROM ubuntu:20.10 | ||
|
||
RUN apt update -qq && \ | ||
apt install --no-install-recommends -y \ | ||
ca-certificates \ | ||
git bash curl jq pip wget && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
ARG HELM_VERSION="v2.17.0" | ||
ARG HELM_LOCATION="https://kubernetes-helm.storage.googleapis.com" | ||
ARG HELM_FILENAME="helm-${HELM_VERSION}-linux-amd64.tar.gz" | ||
ARG HELM_SHA256="f3bec3c7c55f6a9eb9e6586b8c503f370af92fe987fcbf741f37707606d70296" | ||
RUN set -x && \ | ||
wget ${HELM_LOCATION}/${HELM_FILENAME} && \ | ||
echo Verifying ${HELM_FILENAME}... && \ | ||
sha256sum ${HELM_FILENAME} | grep -q "${HELM_SHA256}" && \ | ||
echo Extracting ${HELM_FILENAME}... && \ | ||
tar zxvf ${HELM_FILENAME} && mv /linux-amd64/helm /usr/local/bin/ && \ | ||
mv /linux-amd64/tiller /usr/local/bin/ && \ | ||
rm ${HELM_FILENAME} && rm -r /linux-amd64 | ||
|
||
# using the install documentation found at https://kubernetes.io/docs/tasks/tools/install-kubectl/ | ||
# for now but in a future version of alpine (in the testing version at the time of writing) | ||
# we should be able to install using apk add. | ||
# the sha256 sum can be found at https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256 | ||
# maybe a good idea to automate in the future? | ||
ENV KUBECTL_VERSION="v1.18.9" | ||
ENV KUBECTL_SHA256="6a68756a2d3d04b4d0f52b00de6493ba2c1fcb28b32f3e4a0e99b3d9f6c4e8ed" | ||
RUN set -x & \ | ||
curl --retry 5 --retry-connrefused -LO "https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" && \ | ||
sha256sum kubectl | grep ${KUBECTL_SHA256} && \ | ||
chmod +x kubectl && \ | ||
mv kubectl /usr/local/bin/kubectl | ||
|
||
RUN pip install sops | ||
|
||
RUN ["helm", "init", "--client-only", "--stable-repo-url", "https://charts.helm.sh/stable"] | ||
RUN helm plugin install https://github.com/databus23/helm-diff && \ | ||
helm plugin install https://github.com/futuresimple/helm-secrets && \ | ||
helm plugin install https://github.com/hypnoglow/helm-s3.git && \ | ||
helm plugin install https://github.com/aslafy-z/helm-git.git && \ | ||
helm plugin install https://github.com/rimusz/helm-tiller | ||
|
||
COPY --from=builder /workspace/helmfile/dist/helmfile_linux_amd64 /usr/local/bin/helmfile | ||
|
||
CMD ["/usr/local/bin/helmfile", "--help"] |