You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
5.8 KiB

  1. FROM golang:1.8
  2. RUN apt-get update && apt-get install --no-install-recommends -y -q build-essential git
  3. # golang puts its go install here (weird but true)
  4. ENV GOROOT_BOOTSTRAP /usr/local/go
  5. # BEGIN deps (run `make update-deps` to update)
  6. # Repo cloud.google.com/go at 76d607c (2017-07-20)
  7. ENV REV=76d607c4e7a2b9df49f1d1a58a3f3d2dd2614704
  8. RUN go get -d cloud.google.com/go/compute/metadata `#and 6 other pkgs` &&\
  9. (cd /go/src/cloud.google.com/go && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  10. # Repo github.com/golang/protobuf at 0a4f71a (2017-07-11)
  11. ENV REV=0a4f71a498b7c4812f64969510bcb4eca251e33a
  12. RUN go get -d github.com/golang/protobuf/proto `#and 6 other pkgs` &&\
  13. (cd /go/src/github.com/golang/protobuf && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  14. # Repo github.com/googleapis/gax-go at 84ed267 (2017-06-10)
  15. ENV REV=84ed26760e7f6f80887a2fbfb50db3cc415d2cea
  16. RUN go get -d github.com/googleapis/gax-go &&\
  17. (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)
  18. # Repo golang.org/x/build at da1460b (2017-07-31)
  19. ENV REV=da1460b7c9c9b65383d1336593ed9ad346f6a1c5
  20. RUN go get -d golang.org/x/build/autocertcache &&\
  21. (cd /go/src/golang.org/x/build && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  22. # Repo golang.org/x/crypto at 6914964 (2017-07-20)
  23. ENV REV=6914964337150723782436d56b3f21610a74ce7b
  24. RUN go get -d golang.org/x/crypto/acme `#and 2 other pkgs` &&\
  25. (cd /go/src/golang.org/x/crypto && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  26. # Repo golang.org/x/net at ab54850 (2017-07-21)
  27. ENV REV=ab5485076ff3407ad2d02db054635913f017b0ed
  28. RUN go get -d golang.org/x/net/context `#and 8 other pkgs` &&\
  29. (cd /go/src/golang.org/x/net && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  30. # Repo golang.org/x/oauth2 at b53b38a (2017-07-19)
  31. ENV REV=b53b38ad8a6435bd399ea76d0fa74f23149cca4e
  32. RUN go get -d golang.org/x/oauth2 `#and 5 other pkgs` &&\
  33. (cd /go/src/golang.org/x/oauth2 && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  34. # Repo golang.org/x/text at 836efe4 (2017-07-14)
  35. ENV REV=836efe42bb4aa16aaa17b9c155d8813d336ed720
  36. RUN go get -d golang.org/x/text/secure/bidirule `#and 4 other pkgs` &&\
  37. (cd /go/src/golang.org/x/text && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  38. # Repo google.golang.org/api at 295e4bb (2017-07-18)
  39. ENV REV=295e4bb0ade057ae2cfb9876ab0b54635dbfcea4
  40. RUN go get -d google.golang.org/api/gensupport `#and 9 other pkgs` &&\
  41. (cd /go/src/google.golang.org/api && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  42. # Repo google.golang.org/genproto at b0a3dcf (2017-07-12)
  43. ENV REV=b0a3dcfcd1a9bd48e63634bd8802960804cf8315
  44. RUN go get -d google.golang.org/genproto/googleapis/api/annotations `#and 3 other pkgs` &&\
  45. (cd /go/src/google.golang.org/genproto && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  46. # Repo google.golang.org/grpc at fa1cb32 (2017-07-31)
  47. ENV REV=fa1cb32dc4f81e23ab862dd5e7ac4f2920a33088
  48. RUN go get -d google.golang.org/grpc `#and 14 other pkgs` &&\
  49. (cd /go/src/google.golang.org/grpc && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  50. # Optimization to speed up iterative development, not necessary for correctness:
  51. RUN go install cloud.google.com/go/compute/metadata \
  52. cloud.google.com/go/iam \
  53. cloud.google.com/go/internal \
  54. cloud.google.com/go/internal/optional \
  55. cloud.google.com/go/internal/version \
  56. cloud.google.com/go/storage \
  57. github.com/golang/protobuf/proto \
  58. github.com/golang/protobuf/protoc-gen-go/descriptor \
  59. github.com/golang/protobuf/ptypes \
  60. github.com/golang/protobuf/ptypes/any \
  61. github.com/golang/protobuf/ptypes/duration \
  62. github.com/golang/protobuf/ptypes/timestamp \
  63. github.com/googleapis/gax-go \
  64. golang.org/x/build/autocertcache \
  65. golang.org/x/crypto/acme \
  66. golang.org/x/crypto/acme/autocert \
  67. golang.org/x/net/context \
  68. golang.org/x/net/context/ctxhttp \
  69. golang.org/x/net/http2 \
  70. golang.org/x/net/http2/hpack \
  71. golang.org/x/net/idna \
  72. golang.org/x/net/internal/timeseries \
  73. golang.org/x/net/lex/httplex \
  74. golang.org/x/net/trace \
  75. golang.org/x/oauth2 \
  76. golang.org/x/oauth2/google \
  77. golang.org/x/oauth2/internal \
  78. golang.org/x/oauth2/jws \
  79. golang.org/x/oauth2/jwt \
  80. golang.org/x/text/secure/bidirule \
  81. golang.org/x/text/transform \
  82. golang.org/x/text/unicode/bidi \
  83. golang.org/x/text/unicode/norm \
  84. google.golang.org/api/gensupport \
  85. google.golang.org/api/googleapi \
  86. google.golang.org/api/googleapi/internal/uritemplates \
  87. google.golang.org/api/googleapi/transport \
  88. google.golang.org/api/internal \
  89. google.golang.org/api/iterator \
  90. google.golang.org/api/option \
  91. google.golang.org/api/storage/v1 \
  92. google.golang.org/api/transport/http \
  93. google.golang.org/genproto/googleapis/api/annotations \
  94. google.golang.org/genproto/googleapis/iam/v1 \
  95. google.golang.org/genproto/googleapis/rpc/status \
  96. google.golang.org/grpc \
  97. google.golang.org/grpc/codes \
  98. google.golang.org/grpc/credentials \
  99. google.golang.org/grpc/grpclb/grpc_lb_v1 \
  100. google.golang.org/grpc/grpclog \
  101. google.golang.org/grpc/internal \
  102. google.golang.org/grpc/keepalive \
  103. google.golang.org/grpc/metadata \
  104. google.golang.org/grpc/naming \
  105. google.golang.org/grpc/peer \
  106. google.golang.org/grpc/stats \
  107. google.golang.org/grpc/status \
  108. google.golang.org/grpc/tap \
  109. google.golang.org/grpc/transport
  110. # END deps.
  111. # golang sets GOPATH=/go
  112. ADD . /go/src/tip
  113. RUN go install --tags=autocert tip
  114. ENTRYPOINT ["/go/bin/tip"]
  115. # App Engine expects us to listen on port 8080
  116. EXPOSE 8080