diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..170ff160d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM golang:1.11.0 AS build +LABEL maintainer "Fawad Halim " + +WORKDIR /build +COPY . . +ENV CGO_ENABLED=0 +RUN go build -o /build/oauth2_proxy + +FROM scratch +COPY --from=build /build/oauth2_proxy /usr/local/bin/oauth2_proxy +COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ + +EXPOSE 8080 4180 +ENTRYPOINT [ "/usr/local/bin/oauth2_proxy" ] +CMD [ "--upstream=http://0.0.0.0:8080/", "--http-address=0.0.0.0:4180" ] \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 000000000..dd8db3d27 --- /dev/null +++ b/go.mod @@ -0,0 +1,22 @@ +module github.com/bitly/oauth2_proxy + +require ( + cloud.google.com/go v0.16.0 + github.com/BurntSushi/toml v0.3.0 + github.com/bitly/go-simplejson v0.5.0 + github.com/coreos/go-oidc v0.0.0-20171026214628-77e7f2010a46 + github.com/davecgh/go-spew v1.1.0 + github.com/golang/protobuf v0.0.0-20171113180720-1e59b77b52bf + github.com/mbland/hmacauth v0.0.0-20170912224942-107c17adcc5e + github.com/mreiferson/go-options v0.0.0-20161229190002-77551d20752b + github.com/pmezard/go-difflib v1.0.0 + github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 + github.com/stretchr/testify v1.1.4 + golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3 + golang.org/x/net v0.0.0-20171115151908-9dfe39835686 + golang.org/x/oauth2 v0.0.0-20171106152852-9ff8ebcc8e24 + google.golang.org/api v0.0.0-20171116170945-8791354e7ab1 + google.golang.org/appengine v1.0.0 + gopkg.in/fsnotify.v1 v1.2.11 + gopkg.in/square/go-jose.v2 v2.1.3 +) diff --git a/go.sum b/go.sum new file mode 100644 index 000000000..32e68b392 --- /dev/null +++ b/go.sum @@ -0,0 +1,31 @@ +cloud.google.com/go v0.16.0 h1:alV/SO2XpH+lrvqjDl94dYez7FfeT8ptayazgWwHPIU= +cloud.google.com/go v0.16.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.0 h1:e1/Ivsx3Z0FVTV0NSOv/aVgbUWyQuzj7DDnFblkRvsY= +github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/coreos/go-oidc v0.0.0-20171026214628-77e7f2010a46 h1:6jCjbNMYiNaPo01mje9Qd8gjk7vLeAqH950jCoJcceU= +github.com/coreos/go-oidc v0.0.0-20171026214628-77e7f2010a46/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/protobuf v0.0.0-20171113180720-1e59b77b52bf/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/mbland/hmacauth v0.0.0-20170912224942-107c17adcc5e h1:eMYU396eZUQ/ex49JNVJOEhShOhQe3Lf/opF61nFtlA= +github.com/mbland/hmacauth v0.0.0-20170912224942-107c17adcc5e/go.mod h1:8vxFeeg++MqgCHwehSuwTlYCF0ALyDJbYJ1JsKi7v6s= +github.com/mreiferson/go-options v0.0.0-20161229190002-77551d20752b h1:xjKomx939vefURtocD1uaKvcvAp1dNYX05i0TIpnfVI= +github.com/mreiferson/go-options v0.0.0-20161229190002-77551d20752b/go.mod h1:A0JOgZNsj9V+npbgxH0Ib75PvrHS6Ezri/4HdcTp/DI= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3 h1:f4/ZD59VsBOaJmWeI2yqtHvJhmRRPzi73C88ZtfhAIk= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/net v0.0.0-20171115151908-9dfe39835686 h1:fxZ+mPcFhowcPZdlXrTF3GFhWVr/3wZyXQ8xW8WYGLU= +golang.org/x/net v0.0.0-20171115151908-9dfe39835686/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/oauth2 v0.0.0-20171106152852-9ff8ebcc8e24 h1:nP0LlV1P7+z/qtbjHygz+Bba7QsbB4MqdhGJmAyicuI= +golang.org/x/oauth2 v0.0.0-20171106152852-9ff8ebcc8e24/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +google.golang.org/api v0.0.0-20171116170945-8791354e7ab1 h1:g6iAMpIfX2EaDmaU3Nm8KcWAuf9yDiM3uE5a7/9gZao= +google.golang.org/api v0.0.0-20171116170945-8791354e7ab1/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/appengine v1.0.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +gopkg.in/fsnotify.v1 v1.2.11 h1:56IABVxiq+71VfokWUEs8epu6/TyEVWEvzBTmY3B4EE= +gopkg.in/fsnotify.v1 v1.2.11/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/square/go-jose.v2 v2.1.3 h1:/FoFBTvlJN6MTTVCe9plTOG+YydzkjvDGxiSPzIyoDM= +gopkg.in/square/go-jose.v2 v2.1.3/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=