-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
84 lines (74 loc) · 2.63 KB
/
Copy pathDockerfile
File metadata and controls
84 lines (74 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
FROM bash:5
WORKDIR /app
ARG DOCTL_VERSION=1.56.0
ARG HCLOUD_VERSION=v1.20.0
ARG HELM_VERSION=3.5.0
ARG KUBECTL_VERSION=v1.19.6
ARG KUSTOMIZE_VERSION=3.9.1
ARG NOMAD_VERSION=1.0.3
ARG VAULT_VERSION=1.6.1
LABEL io.doctl.version="${DOCTL_VERSION}"
LABEL io.hcloud.version="${HCLOUD_VERSION}"
LABEL io.helm.version="${HELM_VERSION}"
LABEL io.kubectl.version="${KUBECTL_VERSION}"
LABEL io.kustomize.version="${KUSTOMIZE_VERSION}"
LABEL io.nomad.version="${NOMAD_VERSION}"
LABEL io.vault.version="${VAULT_VERSION}"
# Install tools
RUN set -xe \
&& apk add --no-cache --progress \
ansible \
bind-tools \
ca-certificates \
curl \
docker-cli \
envsubst \
ffmpeg \
git \
gnupg \
jq \
make \
nmap \
openssh \
openssl \
py3-pip \
python3 \
sshpass \
tar \
tree \
unzip \
zip \
&& curl https://rclone.org/install.sh | bash \
&& pip3 install --upgrade pip setuptools \
&& pip3 install yq j2cli j2cli[yaml]
# Install DigitalOcean cli tool
RUN set -xe \
&& mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 \
&& curl -L https://github.com/digitalocean/doctl/releases/download/v${DOCTL_VERSION}/doctl-${DOCTL_VERSION}-linux-amd64.tar.gz | tar -xz \
&& mv ./doctl /usr/local/bin/
# Install hetzner cloud cli tool
RUN set -xe \
&& curl -L https://github.com/hetznercloud/cli/releases/download/${HCLOUD_VERSION}/hcloud-linux-amd64.tar.gz | tar -xz \
&& mv ./hcloud /usr/local/bin/
# Install Vault
RUN set -xe \
&& curl -sSL -O https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip \
&& unzip vault_${VAULT_VERSION}_linux_amd64.zip \
&& mv ./vault /usr/local/bin/ \
&& rm -f vault_${VAULT_VERSION}_linux_amd64.zip
# Install Nomad
RUN set -xe \
&& curl -sSL -O https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_linux_amd64.zip \
&& unzip nomad_${NOMAD_VERSION}_linux_amd64.zip \
&& mv ./nomad /usr/local/bin/ \
&& rm -f nomad_${NOMAD_VERSION}_linux_amd64.zip
# Install KUBECTL KUSTOMIZE HELM
RUN set -xe \
&& curl -sLo /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \
&& curl -sL https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_amd64.tar.gz | tar -zx \
&& curl -sL https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz | tar -zx --strip-components=1 \
&& cp helm /usr/local/bin/helm \
&& cp kustomize /usr/local/bin/kustomize \
&& rm -f * \
&& chmod +x /usr/local/bin/kubectl /usr/local/bin/kustomize /usr/local/bin/helm
RUN rm -f /var/cache/apk/*