Skip to content

Commit 28c72f0

Browse files
committed
Commit Dockerfile for kubeval tools
1 parent 010171d commit 28c72f0

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

Dockerfile

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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

Comments
 (0)