|
| 1 | +FROM python:3.8-alpine3.10 |
| 2 | + |
| 3 | +ARG APP_VERSION=1.0 |
| 4 | + |
| 5 | +# https://github.com/kubernetes/kubectl/releases |
| 6 | +ARG KUBECTL_VERSION=1.16.2 |
| 7 | + |
| 8 | +# https://github.com/instrumenta/kubeval/releases |
| 9 | +ARG KUBEVAL_VERSION=0.14.0 |
| 10 | + |
| 11 | +# https://pypi.org/project/yamllint/ |
| 12 | +ARG YAMLLINT_VERSION=1.18.0 |
| 13 | + |
| 14 | +# https://github.com/kubernetes-sigs/kustomize/releases |
| 15 | +ARG KUSTOMIZE_VERSION=3.3.0 |
| 16 | + |
| 17 | +# split layers into distinct components |
| 18 | +RUN apk add --no-cache ca-certificates curl |
| 19 | + |
| 20 | +# Install Kubeval |
| 21 | +RUN mkdir /tmp/kubeval \ |
| 22 | + && curl -L -o /tmp/kubeval/kubeval.tar.gz \ |
| 23 | + https://github.com/instrumenta/kubeval/releases/download/${KUBEVAL_VERSION}/kubeval-linux-amd64.tar.gz \ |
| 24 | + && tar xf /tmp/kubeval/kubeval.tar.gz -C /tmp/kubeval \ |
| 25 | + && mv /tmp/kubeval/kubeval /usr/local/bin \ |
| 26 | + && chmod +x /usr/local/bin/kubeval \ |
| 27 | + && rm -rf /tmp/kubeval |
| 28 | + |
| 29 | +# Install yamllint |
| 30 | +RUN pip install yamllint==${YAMLLINT_VERSION} && \ |
| 31 | + rm -rf ~/.cache/pip |
| 32 | + |
| 33 | +# Install Kustomize |
| 34 | +RUN mkdir /tmp/kustomize \ |
| 35 | + && curl -L -o /tmp/kustomize/kustomize.tar.gz \ |
| 36 | + https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_amd64.tar.gz \ |
| 37 | + && tar xf /tmp/kustomize/kustomize.tar.gz -C /tmp/kustomize \ |
| 38 | + && mv /tmp/kustomize/kustomize /usr/local/bin \ |
| 39 | + && chmod +x /usr/local/bin/kustomize \ |
| 40 | + && rm -rf /tmp/kustomize |
| 41 | + |
| 42 | +# Install Kubectl |
| 43 | +RUN curl -o /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ |
| 44 | + && chmod +x /usr/local/bin/kubectl |
| 45 | + |
| 46 | +CMD ["/bin/sh"] |
| 47 | + |
0 commit comments