-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
65 lines (60 loc) · 3.03 KB
/
Dockerfile
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
FROM scaleway/cli:v2.3.0 as scaleway
FROM d3fk/s3cmd as s3cmd
FROM k14s/image as kapp
FROM alpine:latest
MAINTAINER fabien.brousse@yesiddo.com
# https://kubernetes.io/docs/tasks/kubectl/install/
# latest stable kubectl: curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt
ENV KUBECTL_VERSION=v1.18.2
ENV TERRAFORM_VERSION=0.14.8
ENV HELM_VERSION=v2.16.9
ENV AWS_AUTH_VERSION=0.5.0
RUN apk --no-cache update \
&& apk --no-cache add ca-certificates python3 py-pip py-setuptools groff less git gnupg bash curl gawk \
&& apk --no-cache add --virtual build-dependencies make \
&& pip --no-cache-dir install awscli \
&& curl -LO https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \
&& mv kubectl /usr/local/bin/kubectl \
&& curl -L https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/download/v${AWS_AUTH_VERSION}/heptio-authenticator-aws_${AWS_AUTH_VERSION}_linux_amd64 -o /usr/local/bin/aws-iam-authenticator \
&& curl -LO https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip \
&& unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip \
&& mv terraform /usr/local/bin/terraform \
&& curl -LO https://storage.googleapis.com/kubernetes-helm/helm-${HELM_VERSION}-linux-amd64.tar.gz \
&& tar -zxvf helm-${HELM_VERSION}-linux-amd64.tar.gz \
&& mv linux-amd64/helm /usr/local/bin/helm \
&& chmod +x /usr/local/bin/aws-iam-authenticator /usr/local/bin/kubectl /usr/local/bin/terraform /usr/local/bin/helm \
&& git clone https://github.com/sobolevn/git-secret.git git-secret \
&& cd git-secret && make build \
&& PREFIX="/usr/local" make install \
&& cd .. && rm -Rf git-secret \
&& apk del --purge build-dependencies \
&& rm -rf terraform_${TERRAFORM_VERSION}_linux_amd64.zip \
&& rm -rf helm-${HELM_VERSION}-linux-amd64.tar.gz \
&& wget https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.zip\
&& unzip google-cloud-sdk.zip\
&& rm google-cloud-sdk.zip\
&& google-cloud-sdk/install.sh\
--usage-reporting=true\
--path-update=true\
--bash-completion=true\
--rc-path=/.bashrc\
--additional-components\
alpha\
beta\
bigtable\
bq\
cloud-datastore-emulator\
docker-credential-gcr\
gsutil\
pubsub-emulator\
&& rm -rf /var/cache/apk/*\
&& google-cloud-sdk/bin/gcloud config set --installation component_manager/disable_update_check true\
&& sed -i -- 's/\"disable_updater\": false/\"disable_updater\": true/g' /google-cloud-sdk/lib/googlecloudsdk/core/config.json
RUN wget -O- https://github.com/vmware-tanzu/carvel-kapp/releases/download/v0.36.0/kapp-linux-amd64 > /usr/local/bin/kapp && \
echo "22fe308f1d9ebbb829a6ea10ca80d9468ff4b9aa911b0c33788fe67d04ccb383 /usr/local/bin/kapp" | sha256sum -c - && \
chmod +x /usr/local/bin/kapp && kapp version
COPY --from=scaleway /scw /usr/local/bin
COPY --from=s3cmd /usr/bin/s3cmd /usr/local/bin
COPY --from=kapp /usr/local/bin/kapp /usr/local/bin
ENV PATH "$PATH:/google-cloud-sdk/bin"
CMD ["/bin/sh"]