mirror of
https://github.com/golang/go
synced 2024-11-18 13:44:48 -07:00
3c39ce7b61
Primarily for golang/go#29251 but also update the base Docker layer from Go 1.9 to Go 1.11, update other deps, and fix some Kubernetes config cleanups that happened prior without testing apparently. Fixes golang/go#29251 Change-Id: I0aafccdfedfc0d9ebb75d0c1a3b0819245ea5f19 Reviewed-on: https://go-review.googlesource.com/c/154181 Reviewed-by: Bryan C. Mills <bcmills@google.com>
177 lines
7.6 KiB
Docker
177 lines
7.6 KiB
Docker
FROM golang:1.11
|
|
|
|
RUN apt-get update && apt-get install --no-install-recommends -y -q build-essential git
|
|
|
|
# For implicit GOCACHE (Issues 29243 and 29251), set HOME:
|
|
RUN mkdir -p /home/gopher
|
|
ENV HOME /home/gopher
|
|
|
|
# golang puts its go install here (weird but true)
|
|
ENV GOROOT_BOOTSTRAP /usr/local/go
|
|
|
|
# BEGIN deps (run `make update-deps` to update)
|
|
|
|
# Repo cloud.google.com/go at b5eca92 (2018-10-23)
|
|
ENV REV=b5eca92245a08e245bc29c4880c9779ea4aeaa9a
|
|
RUN go get -d cloud.google.com/go/compute/metadata `#and 7 other pkgs` &&\
|
|
(cd /go/src/cloud.google.com/go && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo github.com/golang/protobuf at b4deda0 (2018-04-30)
|
|
ENV REV=b4deda0973fb4c70b50d226b1af49f3da59f5265
|
|
RUN go get -d github.com/golang/protobuf/proto `#and 6 other pkgs` &&\
|
|
(cd /go/src/github.com/golang/protobuf && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo github.com/googleapis/gax-go at 317e000 (2017-09-15)
|
|
ENV REV=317e0006254c44a0ac427cc52a0e083ff0b9622f
|
|
RUN go get -d github.com/googleapis/gax-go &&\
|
|
(cd /go/src/github.com/googleapis/gax-go && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo go.opencensus.io at ebd8d31 (2018-05-16)
|
|
ENV REV=ebd8d31470fedf6c27d0e3056653ddff642509b8
|
|
RUN go get -d go.opencensus.io/exporter/stackdriver/propagation `#and 12 other pkgs` &&\
|
|
(cd /go/src/go.opencensus.io && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo golang.org/x/build at 7b78c20 (2018-12-13)
|
|
ENV REV=7b78c2042368d5c56ee9dbd92ab5fa988c763944
|
|
RUN go get -d golang.org/x/build/autocertcache &&\
|
|
(cd /go/src/golang.org/x/build && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo golang.org/x/crypto at e4dc69e (2018-11-06)
|
|
ENV REV=e4dc69e5b2fd71dcaf8bd5d054eb936deb78d1fa
|
|
RUN go get -d golang.org/x/crypto/acme `#and 2 other pkgs` &&\
|
|
(cd /go/src/golang.org/x/crypto && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo golang.org/x/net at 891ebc4 (2018-12-13)
|
|
ENV REV=891ebc4b82d6e74f468c533b06f983c7be918a96
|
|
RUN go get -d golang.org/x/net/context `#and 8 other pkgs` &&\
|
|
(cd /go/src/golang.org/x/net && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo golang.org/x/oauth2 at f42d051 (2018-11-06)
|
|
ENV REV=f42d05182288abf10faef86d16c0d07b8d40ea2d
|
|
RUN go get -d golang.org/x/oauth2 `#and 5 other pkgs` &&\
|
|
(cd /go/src/golang.org/x/oauth2 && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo golang.org/x/sys at 4d1cda0 (2018-12-13)
|
|
ENV REV=4d1cda033e0619309c606fc686de3adcf599539e
|
|
RUN go get -d golang.org/x/sys/unix &&\
|
|
(cd /go/src/golang.org/x/sys && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo golang.org/x/text at 6f44c5a (2018-10-30)
|
|
ENV REV=6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2
|
|
RUN go get -d golang.org/x/text/secure/bidirule `#and 4 other pkgs` &&\
|
|
(cd /go/src/golang.org/x/text && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo google.golang.org/api at 20530fd (2018-05-06)
|
|
ENV REV=20530fd5d65ad2caee87891f9896d7547cb400c9
|
|
RUN go get -d google.golang.org/api/gensupport `#and 9 other pkgs` &&\
|
|
(cd /go/src/google.golang.org/api && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo google.golang.org/genproto at 86e600f (2018-04-27)
|
|
ENV REV=86e600f69ee4704c6efbf6a2a40a5c10700e76c2
|
|
RUN go get -d google.golang.org/genproto/googleapis/api/annotations `#and 4 other pkgs` &&\
|
|
(cd /go/src/google.golang.org/genproto && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Repo google.golang.org/grpc at 07ef407 (2018-08-06)
|
|
ENV REV=07ef407d991f1004e6c3367c8f452ed9a02f17ff
|
|
RUN go get -d google.golang.org/grpc `#and 26 other pkgs` &&\
|
|
(cd /go/src/google.golang.org/grpc && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
|
|
|
|
# Optimization to speed up iterative development, not necessary for correctness:
|
|
RUN go install cloud.google.com/go/compute/metadata \
|
|
cloud.google.com/go/iam \
|
|
cloud.google.com/go/internal \
|
|
cloud.google.com/go/internal/optional \
|
|
cloud.google.com/go/internal/trace \
|
|
cloud.google.com/go/internal/version \
|
|
cloud.google.com/go/storage \
|
|
github.com/golang/protobuf/proto \
|
|
github.com/golang/protobuf/protoc-gen-go/descriptor \
|
|
github.com/golang/protobuf/ptypes \
|
|
github.com/golang/protobuf/ptypes/any \
|
|
github.com/golang/protobuf/ptypes/duration \
|
|
github.com/golang/protobuf/ptypes/timestamp \
|
|
github.com/googleapis/gax-go \
|
|
go.opencensus.io/exporter/stackdriver/propagation \
|
|
go.opencensus.io/internal \
|
|
go.opencensus.io/internal/tagencoding \
|
|
go.opencensus.io/plugin/ochttp \
|
|
go.opencensus.io/plugin/ochttp/propagation/b3 \
|
|
go.opencensus.io/stats \
|
|
go.opencensus.io/stats/internal \
|
|
go.opencensus.io/stats/view \
|
|
go.opencensus.io/tag \
|
|
go.opencensus.io/trace \
|
|
go.opencensus.io/trace/internal \
|
|
go.opencensus.io/trace/propagation \
|
|
golang.org/x/build/autocertcache \
|
|
golang.org/x/crypto/acme \
|
|
golang.org/x/crypto/acme/autocert \
|
|
golang.org/x/net/context \
|
|
golang.org/x/net/context/ctxhttp \
|
|
golang.org/x/net/http/httpguts \
|
|
golang.org/x/net/http2 \
|
|
golang.org/x/net/http2/hpack \
|
|
golang.org/x/net/idna \
|
|
golang.org/x/net/internal/timeseries \
|
|
golang.org/x/net/trace \
|
|
golang.org/x/oauth2 \
|
|
golang.org/x/oauth2/google \
|
|
golang.org/x/oauth2/internal \
|
|
golang.org/x/oauth2/jws \
|
|
golang.org/x/oauth2/jwt \
|
|
golang.org/x/sys/unix \
|
|
golang.org/x/text/secure/bidirule \
|
|
golang.org/x/text/transform \
|
|
golang.org/x/text/unicode/bidi \
|
|
golang.org/x/text/unicode/norm \
|
|
google.golang.org/api/gensupport \
|
|
google.golang.org/api/googleapi \
|
|
google.golang.org/api/googleapi/internal/uritemplates \
|
|
google.golang.org/api/googleapi/transport \
|
|
google.golang.org/api/internal \
|
|
google.golang.org/api/iterator \
|
|
google.golang.org/api/option \
|
|
google.golang.org/api/storage/v1 \
|
|
google.golang.org/api/transport/http \
|
|
google.golang.org/genproto/googleapis/api/annotations \
|
|
google.golang.org/genproto/googleapis/iam/v1 \
|
|
google.golang.org/genproto/googleapis/rpc/code \
|
|
google.golang.org/genproto/googleapis/rpc/status \
|
|
google.golang.org/grpc \
|
|
google.golang.org/grpc/balancer \
|
|
google.golang.org/grpc/balancer/base \
|
|
google.golang.org/grpc/balancer/roundrobin \
|
|
google.golang.org/grpc/codes \
|
|
google.golang.org/grpc/connectivity \
|
|
google.golang.org/grpc/credentials \
|
|
google.golang.org/grpc/encoding \
|
|
google.golang.org/grpc/encoding/proto \
|
|
google.golang.org/grpc/grpclog \
|
|
google.golang.org/grpc/internal \
|
|
google.golang.org/grpc/internal/backoff \
|
|
google.golang.org/grpc/internal/channelz \
|
|
google.golang.org/grpc/internal/envconfig \
|
|
google.golang.org/grpc/internal/grpcrand \
|
|
google.golang.org/grpc/internal/transport \
|
|
google.golang.org/grpc/keepalive \
|
|
google.golang.org/grpc/metadata \
|
|
google.golang.org/grpc/naming \
|
|
google.golang.org/grpc/peer \
|
|
google.golang.org/grpc/resolver \
|
|
google.golang.org/grpc/resolver/dns \
|
|
google.golang.org/grpc/resolver/passthrough \
|
|
google.golang.org/grpc/stats \
|
|
google.golang.org/grpc/status \
|
|
google.golang.org/grpc/tap
|
|
# END deps.
|
|
|
|
# golang sets GOPATH=/go
|
|
ADD . /go/src/tip
|
|
WORKDIR /go/src/tip
|
|
RUN go install --tags=autocert
|
|
ENTRYPOINT ["/go/bin/tip"]
|
|
|
|
# We listen on 8080 (for historical reasons). The service.yaml maps public port 80 to 8080.
|
|
# We also listen on 443 for LetsEncrypt TLS.
|
|
EXPOSE 8080 443
|