Commit graph

113 commits

Author SHA1 Message Date
Bobby DeSimone
4d05ca635e
docs: fix existing links
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-09-17 09:07:25 -07:00
Bobby DeSimone
dc12947241
all: refactor handler logic
- all: prefer `FormValues` to `ParseForm` with subsequent `Form.Get`s
- all: refactor authentication stack to be checked by middleware, and accessible via request context.
- all: replace http.ServeMux with gorilla/mux’s router
- all: replace custom CSRF checks with gorilla/csrf middleware
- authenticate: extract callback path as constant.
- internal/config: implement stringer interface for policy
- internal/cryptutil: add helper func `NewBase64Key`
- internal/cryptutil: rename `GenerateKey` to `NewKey`
- internal/cryptutil: rename `GenerateRandomString` to `NewRandomStringN`
- internal/middleware: removed alice in favor of gorilla/mux
- internal/sessions: remove unused `ValidateRedirectURI` and `ValidateClientSecret`
- internal/sessions: replace custom CSRF with gorilla/csrf fork that supports custom handler protection
- internal/urlutil: add `SignedRedirectURL` to create hmac'd URLs
- internal/urlutil: add `ValidateURL` helper to parse URL options
- internal/urlutil: add `GetAbsoluteURL` which takes a request and returns its absolute URL.
- proxy: remove holdover state verification checks; we no longer are setting sessions in any proxy routes so we don’t need them.
- proxy: replace un-named http.ServeMux with named domain routes.

Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-09-16 18:01:14 -07:00
Bobby DeSimone
37b0897274
docs: fix example configuration urls
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-09-12 13:58:09 -07:00
Yuchen Ying
27a3870373 Add tls_server_name option to policy file. 2019-09-07 04:09:49 +00:00
Bobby DeSimone
380d314404
authenticate: make service http only
- Rename SessionState to State to avoid stutter.
- Simplified option validation to use a wrapper function for base64 secrets.
- Removed authenticates grpc code.
- Abstracted logic to load and validate a user's authenticate session.
- Removed instances of url.Parse in favor of urlutil's version.
- proxy: replaces grpc refresh logic with forced deadline advancement.
- internal/sessions: remove rest store; parse authorize header as part of session store.
- proxy: refactor request signer
- sessions: remove extend deadline (fixes #294)
- remove AuthenticateInternalAddr
- remove AuthenticateInternalAddrString
- omit type tag.Key from declaration of vars TagKey* it will be inferred
  from the right-hand side
- remove compatibility package xerrors
- use cloned http.DefaultTransport as base transport
2019-09-04 16:27:08 -07:00
Bobby DeSimone
bc72d08ad4
Merge pull request #292 from desimone/release/v0-3-0
release: v0.3.0
2019-09-01 10:59:21 -07:00
Bobby DeSimone
f8017b45b7
release: v0.3.0
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-09-01 10:29:26 -07:00
Felipe Zipitría
b945b415ed Remove duplicated text (#287)
Fix typo in readme.
2019-08-31 16:54:23 -07:00
Travis Groth
2d2f314a7b
Make auth flow diagram fonts consistent (#278) 2019-08-24 15:16:02 -04:00
Bobby DeSimone
6e6ab3baa0
httputil: use http error wrapper
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-24 09:15:07 -07:00
Travis Groth
d26f935cbb
Add authenticatoin flow diagram (#275) 2019-08-22 18:30:49 -04:00
Bobby DeSimone
e3d78932d2
Merge pull request #271 from desimone/docs/enable-algolia
docs: use algolia for search
2019-08-21 16:26:41 -07:00
Bobby DeSimone
7d1c8ecc55
docs: enable algolia
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-20 09:35:01 -07:00
Bobby DeSimone
d7ecd76653
Merge pull request #270 from desimone/docs/263
docs: update kubernetes example
2019-08-20 08:51:20 -07:00
Bobby DeSimone
32f280f8f9
docs: update kubernetes example
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-20 08:46:18 -07:00
Travis Groth
66ce8ed8f2
Update architecture diagrams (#269) 2019-08-15 22:31:49 -04:00
Bobby DeSimone
1bfb64ed31
config: remove references to named ports
- Go 1.12.8 changed the way url parse handles service named ports.

Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-15 09:06:53 -07:00
Bobby DeSimone
7d41431e3b
Merge pull request #265 from desimone/docs/add-community-details
docs: add mailing list and twitter
2019-08-14 15:22:15 -07:00
Travis Groth
ba37ed2305
GRPC Improvements 2019-08-14 18:14:09 -04:00
Bobby DeSimone
6b7a3e0a5a
docs: add mailing list and twitter
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-14 09:10:59 -07:00
Bobby DeSimone
7f99671bfa
docs: add contributing guide for docs
- merge developers guide and contributing
- delete duplicate "from source"
- add docs makefile entry
- fix "edit in github" link

Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-12 19:55:51 -07:00
Bobby DeSimone
8002e74982
proxy: enable client certificate in transport
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-12 15:08:18 -07:00
Bobby DeSimone
66751fa15a
docs: add visual studio code server
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-08 10:04:56 -07:00
Bobby DeSimone
413c50bca7
docs: readd programmatic-access
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-07 20:15:34 -07:00
Bobby DeSimone
351bf2fd53
cllarify release branches and timeline
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-05 13:37:20 -07:00
Bobby DeSimone
55a97fabd4
typo 2019-08-03 22:29:40 -07:00
Bobby DeSimone
0a530fbea2
docs: update site ui
Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-08-03 22:28:18 -07:00
Bobby DeSimone
f1a3475466
v0.2.0 2019-08-03 18:14:09 -07:00
digitalgrease
a29738da28 google idp doc updates 2019-08-01 16:23:57 -05:00
Bobby DeSimone
5edfa7b03f
telemetry: add tracing
- telemetry/tace: add traces throughout code
- telemetry/metrics: nest metrics and trace under telemetry
- telemetry/tace: add service name span to HTTPMetricsHandler.
- telemetry/metrics: removed chain dependency middleware_tests.
- telemetry/metrics: wrap and encapsulate variatic view registration.
- telemetry/tace: add jaeger support for tracing.
- cmd/pomerium: move `parseOptions` to internal/config.
- cmd/pomerium: offload server handling to httputil and sub pkgs.
- httputil: standardize creation/shutdown of http listeners.
- httputil: prefer curve X25519 to P256 when negotiating TLS.
- fileutil: use standardized Getw

Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
2019-07-24 09:20:16 -07:00
Bobby DeSimone
f8843eabac
deployment: add spellcheck to docs 2019-07-22 14:05:22 -07:00
Travis Groth
db63956b0e Add info metrics 2019-07-20 08:53:35 -04:00
Bobby DeSimone
92a839036d
docs: add contributing.md 2019-07-12 18:02:38 -07:00
Travis Groth
e635c9bb3b HTTP metrics improvements
- Switch to ochttp plugin
- Add HTTP request metrics
- Relabel for consistency
2019-07-11 22:49:54 -04:00
Travis Groth
4bd4b27f28 GRPC metrics improvements
- change to ocgrpc plugin
- rename labels to be more consistent
- refactor view registration patterns
- add server metrics- add client request size metrics
2019-07-10 22:35:56 -04:00
Bobby DeSimone
9682937d19
docs: update for v0.1.0 release 2019-07-07 19:33:05 -07:00
Bobby DeSimone
7558d5b0de
internal/config: refactor option parsing
- authorize: build whitelist from policy's URLs instead of strings.
- internal/httputil: merged httputil and https package.
- internal/config: merged config and policy packages.
- internal/metrics: removed unused measure struct.
- proxy/clients: refactor Addr fields to be urls.
- proxy: remove unused extend deadline function.
- proxy: use handler middleware for reverse proxy leg.
- proxy: change the way websocket requests are made (route based).

General improvements
- omitted value from range in several cases where for loop could be simplified.
- added error checking to many tests.
- standardize url parsing.
- remove unnecessary return statements.

- proxy: add self-signed certificate support. #179
- proxy: add skip tls certificate verification. #179
- proxy: Refactor websocket support to be route based. #204
2019-07-07 09:39:31 -07:00
Bobby DeSimone
28efa3359b
Merge pull request #199 from desimone/feature/development-docs
docs: add guide for hacking offline with domains
2019-07-06 11:53:49 -07:00
Travis Groth
b2754fd822 internal/identity: fix bug in azure preventing group retrieval 2019-07-06 13:07:48 -04:00
Travis Groth
989062db8e Allow empty policies at startup 2019-07-02 06:25:25 -04:00
Bobby DeSimone
b8463e30c1
Merge pull request #195 from travisgroth/feature/grpc_metrics
internal/metrics: add gRPC Client Metrics
2019-07-01 08:06:36 -07:00
Bobby DeSimone
815eb7df07
docs: add docs for hacking on poemrium with domains offline 2019-06-30 20:57:28 +02:00
Travis Groth
43ff275b16 Fix #188 2019-06-30 10:24:22 -04:00
Travis Groth
77338bd4e9 Add GRPC Client Metrics 2019-06-28 06:35:27 -04:00
Travis Groth
d303a95985 Add proxy client metrics instrumentation
* New set of client request oriented metrics
* RoundTripper chain to instrument requests
2019-06-21 18:55:02 -04:00
Travis Groth
ff528e8c7b Add metrics implementation* Covers proxy service on server side* Update documentation 2019-06-16 07:07:40 -04:00
Bobby DeSimone
cf0f98536a
authenticate: programmatic access support
- authenticate: added a token exchange api endpoint that converts
  an identity provider's JWT into a pomerium session.
- internal/identity: authenticate now passes context.
- internal/identity: removed extraneous GetSignInURL from okta.
- internal/sessions: add rest store
- update go.mod / go.sum depedencies.
- docs: add programmatic examples in shell and python
2019-06-12 14:51:19 -07:00
Bobby DeSimone
554e62108f
authorize: fix headers when impersonating
- Add user impersonation docs.
- Add navbar link to v0.0.5 docs.
2019-06-11 15:40:28 -07:00
Bobby DeSimone
0bbb923579
docs: tweaks to helm script and example config 2019-06-05 17:58:24 -07:00
Bobby DeSimone
6ee9c61d5e
docs: tag as latest again 2019-06-04 22:49:00 -07:00