@@ -3,18 +3,22 @@ FROM ubuntu:18.04
33LABEL name="deis-go-dev" \
44 maintainer="Matt Boersma <matt.boersma@microsoft.com>"
55
6- ENV AZCLI_VERSION=2.12.1 \
7- DOCKER_VERSION=19.03.4 \
8- GO_VERSION=1.15.2 \
9- GLIDE_VERSION=v0.13.3 \
10- GLIDE_HOME=/root \
11- HELM_VERSION=v2.16.12 \
12- KUBECTL_VERSION=v1.16.3 \
6+ ENV ANSIBLE_VERSION=2.10.9 \
7+ AZCLI_VERSION=2.26.1 \
8+ DOCKER_VERSION=20.10.2 \
139 ETCDCTL_VERSION=v3.1.8 \
14- GOLANGCI_LINT_VERSION=v1.31.0 \
10+ GO_VERSION=1.16.6 \
11+ GOLANGCI_LINT_VERSION=v1.41.1 \
12+ GOSS_VERSION=v0.3.16 \
13+ HELM_VERSION=3.6.2 \
14+ KUBECTL_VERSION=v1.21.3 \
15+ PACKER_VERSION=1.7.3 \
1516 PROTOBUF_VERSION=3.7.0 \
16- SHELLCHECK_VERSION=v0.7.1 \
17- SHFMT_VERSION=3.1.2 \
17+ PYJWT_VERSION=2.1.0 \
18+ PYWINRM_VERSION=0.4.1 \
19+ SHELLCHECK_VERSION=v0.7.2 \
20+ SHFMT_VERSION=3.3.0 \
21+ UPX_VERSION=3.96 \
1822 PATH=$PATH:/usr/local/go/bin:/go/bin:/usr/local/bin/docker \
1923 GOPATH=/go
2024
2630 apt-get update && \
2731 apt-get install -y software-properties-common && \
2832 add-apt-repository ppa:rmescandon/yq && \
29- apt-add-repository --yes --update ppa:ansible/ansible && \
3033 apt-get update && \
3134 apt-get upgrade -y --no-install-recommends && \
3235 apt-get install -y --no-install-recommends \
33- ansible \
3436 bash \
3537 build-essential \
3638 ca-certificates \
@@ -54,26 +56,23 @@ RUN \
5456 rsync \
5557 ruby \
5658 unzip \
57- upx \
5859 util-linux \
5960 vim \
6061 wamerican \
6162 wget \
6263 yq \
6364 zip \
6465 && curl -L https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz | tar -C /usr/local -xz \
65- && curl -sSL https://github.com/Masterminds/glide/releases/download/${GLIDE_VERSION}/glide-${GLIDE_VERSION}-linux-amd64.tar.gz \
66- | tar -vxz -C /usr/local/bin --strip=1 \
6766 && curl -sSL -o /tmp/protoc.zip https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip \
6867 && unzip /tmp/protoc.zip 'bin/protoc' -d /usr/local \
6968 && rm /tmp/protoc.zip \
7069 && curl -sSL https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
7170 && chmod +x /usr/local/bin/kubectl \
7271 && mkdir -p ${GOPATH}/src/k8s.io/helm \
73- && curl -sSL https://storage.googleapis.com/kubernetes-helm/helm-${HELM_VERSION}-linux-amd64.tar.gz \
74- | tar -vxz -C /usr/local/bin --strip=1 \
72+ && curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \
73+ && chmod 700 get_helm.sh && ./get_helm.sh --version v${HELM_VERSION} \
74+ && rm ./get_helm.sh \
7575 && mkdir -p /go/bin \
76- && curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh \
7776 && curl -sSL https://aka.ms/downloadazcopy-v10-linux | tar -vxz -C /usr/local/bin --strip=1 \
7877 && mv /usr/local/bin/azcopy /usr/local/bin/azcopy-preview \
7978 && curl -sSL https://aka.ms/downloadazcopylinux64 | tar -vxz -C /tmp \
@@ -90,24 +89,30 @@ RUN \
9089 && go get -u -v \
9190 github.com/AlekSi/gocov-xml \
9291 github.com/axw/gocov/gocov \
93- github.com/constabulary/gb/... \
94- github.com/derekparker/delve/cmd/dlv \
92+ github.com/go-delve/delve/cmd/dlv \
9593 github.com/dgrijalva/jwt-go/cmd/jwt \
9694 github.com/golang/protobuf/protoc-gen-go \
9795 github.com/haya14busa/goverage \
9896 github.com/jteeuwen/go-bindata/... \
9997 github.com/mitchellh/gox \
10098 github.com/onsi/ginkgo/ginkgo \
101- github.com/hashicorp/packer \
102- gopkg.in/alecthomas/gometalinter.v2 \
103- && ln -s ${GOPATH}/bin/gometalinter.v2 ${GOPATH}/bin/gometalinter \
104- && gometalinter.v2 --install \
10599 && curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b ${GOPATH}/bin ${GOLANGCI_LINT_VERSION} \
106100 && curl -sSL https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz \
107101 | tar -vxJ -C /usr/local/bin --strip=1 \
102+ && curl -sSL https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip -o /tmp/packer.zip \
103+ && unzip /tmp/packer.zip -d /usr/local/bin \
108104 && curl -o /usr/local/bin/shfmt -sSL https://github.com/mvdan/sh/releases/download/v{SHFMT_VERSION}/shfmt_v{SHFMT_VERSION}_linux_amd64 \
109105 && chmod +x /usr/local/bin/shfmt \
110- && pip3 install --disable-pip-version-check --no-cache-dir azure-cli==${AZCLI_VERSION} shyaml \
106+ && curl -L "https://github.com/aelsabbahy/goss/releases/download/${GOSS_VERSION}/goss-linux-amd64" -o /usr/local/bin/goss \
107+ && chmod +rx /usr/local/bin/goss \
108+ && curl -L "https://github.com/aelsabbahy/goss/releases/download/${GOSS_VERSION}/dgoss" -o /usr/local/bin/dgoss \
109+ && chmod +rx /usr/local/bin/dgoss \
110+ && curl -sSL -o /tmp/upx.tar.xz https://github.com/upx/upx/releases/download/v${UPX_VERSION}/upx-${UPX_VERSION}-amd64_linux.tar.xz \
111+ && tar -xvf /tmp/upx.tar.xz -C /tmp \
112+ && mv /tmp/upx-${UPX_VERSION}-amd64_linux/upx /usr/local/bin/upx \
113+ && pip3 install --disable-pip-version-check --no-cache-dir --upgrade pip \
114+ && pip3 install --disable-pip-version-check --no-cache-dir azure-cli==${AZCLI_VERSION} PyJWT==${PYJWT_VERSION} shyaml ansible-base==${ANSIBLE_VERSION} pywinrm==${PYWINRM_VERSION} \
115+ && ansible-galaxy collection install ansible.windows \
111116 && apt-get purge --auto-remove -y libffi-dev python3-dev \
112117 && apt-get autoremove -y \
113118 && apt-get clean -y \
0 commit comments