1616
1717# compiling proto + grpc takes an exceptionally long time
1818# so we'll use a base from `base` - which is manually built using the below tag.
19- FROM gcr.io/agones-images/grpc-cxx:1.12
19+ FROM gcr.io/agones-images/grpc-cxx:1.16.1
2020
2121RUN apt-get update && \
2222 apt-get install -y wget psmisc rsync make python bash-completion zip nano jq graphviz && \
2323 apt-get clean
2424
25+ # _
26+ # | | __ _ _ __ __ _ _ _ __ _ __ _ ___ ___
27+ # | | / _` | '_ \ / _` | | | |/ _` |/ _` |/ _ \ __|
28+ # | |___ (_| | | | | (_| | |_| | (_| | (_| | __\__ \
29+ # |_____\__,_|_| |_|\__, |\__,_|\__,_|\__, |\___|___/
30+ # |___/ |___/
31+
32+ # install rust
33+ ENV RUSTUP_HOME=/usr/local/rustup \
34+ CARGO_HOME=/usr/local/cargo \
35+ PATH=/usr/local/cargo/bin:$PATH \
36+ RUST_VERSION=1.26.1
37+ ENV RUST_ARCH=x86_64-unknown-linux-gnu \
38+ RUSTUP_SHA256=c9837990bce0faab4f6f52604311a19bb8d2cde989bea6a7b605c8e526db6f02
39+ RUN wget -q https://static.rust-lang.org/rustup/archive/1.11.0/${RUST_ARCH}/rustup-init && \
40+ echo "${RUSTUP_SHA256} *rustup-init" | sha256sum -c - && \
41+ chmod +x rustup-init && \
42+ ./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION && \
43+ rm rustup-init && \
44+ rustup --version; \
45+ cargo --version; \
46+ rustc --version;
47+
2548# install go
2649WORKDIR /usr/local
2750ENV GO_VERSION=1.11.1
@@ -58,12 +81,23 @@ RUN curl -L ${HELM_URL} > /tmp/helm.tar.gz \
5881 && rm /tmp/helm.tar.gz && rm -rf /tmp/linux-amd64
5982RUN echo "source <(helm completion bash)" >> /root/.bashrc
6083
84+ # ____ ____ ____ _____ _ _
85+ # __ _| _ \| _ \ / ___| |_ _|__ ___ | (_)_ __ __ _
86+ # / _` | |_) | |_) | | | |/ _ \ / _ \| | | '_ \ / _` |
87+ # | (_| | _ <| __/| |___ | | (_) | (_) | | | | | | (_| |
88+ # \__, |_| \_\_| \____| |_|\___/ \___/|_|_|_| |_|\__, |
89+ # |___/ |___/
90+
6191# install go-proto-gen 1.1
6292RUN mkdir -p /go/src/github.com/golang && cd /go/src/github.com/golang && \
6393 git clone https://github.com/golang/protobuf.git && \
64- cd protobuf && git checkout v1.1 .0 && \
94+ cd protobuf && git checkout v1.2 .0 && \
6595 go install github.com/golang/protobuf/protoc-gen-go
6696
97+ # install rust tooling for SDK generation
98+ RUN cargo install protobuf-codegen --vers 2.0.2
99+ RUN cargo install grpcio-compiler --vers 0.3.0
100+
67101# install go tooling for development, building and testing
68102RUN go get -u github.com/golang/dep/cmd/dep && \
69103 go get -u golang.org/x/tools/cmd/goimports
@@ -75,26 +109,6 @@ RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.s
75109RUN mkdir -p /go/src && cd /go/src && mkdir -p k8s.io && cd k8s.io && \
76110 git clone -b kubernetes-1.10.5 --depth=3 https://github.com/kubernetes/code-generator.git
77111
78- # install rust
79- ENV RUSTUP_HOME=/usr/local/rustup \
80- CARGO_HOME=/usr/local/cargo \
81- PATH=/usr/local/cargo/bin:$PATH \
82- RUST_VERSION=1.26.1
83- ENV RUST_ARCH=x86_64-unknown-linux-gnu \
84- RUSTUP_SHA256=c9837990bce0faab4f6f52604311a19bb8d2cde989bea6a7b605c8e526db6f02
85- RUN wget -q https://static.rust-lang.org/rustup/archive/1.11.0/${RUST_ARCH}/rustup-init && \
86- echo "${RUSTUP_SHA256} *rustup-init" | sha256sum -c - && \
87- chmod +x rustup-init && \
88- ./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION && \
89- rm rustup-init && \
90- rustup --version; \
91- cargo --version; \
92- rustc --version;
93-
94- # install rust tooling for SDK generation
95- RUN cargo install protobuf-codegen --vers 2.0.2
96- RUN cargo install grpcio-compiler --vers 0.3.0
97-
98112# make sure we keep the path to go
99113RUN echo "export PATH=/usr/local/go/bin:/go/bin/:\$ PATH" >> /root/.bashrc
100114# make nano the editor
0 commit comments