Skip to content

Commit

Permalink
routes/ingress: add documentation for HTTP2 ALPN routes
Browse files Browse the repository at this point in the history
Add some clarification/documentation around HTTP/2 enabled routes.
  • Loading branch information
frobware committed Aug 11, 2020
1 parent 8746683 commit b0b353e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
7 changes: 7 additions & 0 deletions operator/v1/types_ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,13 @@ type IngressControllerSpec struct {
// the generated certificate's CA will be automatically integrated with the
// cluster's trust store.
//
// If a wildcard certificate is used and shared by multiple
// HTTP/2 enabled routes (which implies ALPN) then clients
// (i.e., notably browsers) are at liberty to reuse open
// connections. This means a client can reuse a connection to
// another route and that is likely to fail. This behaviour is
// generally known as connection coalescing.
//
// The in-use certificate (whether generated or user-specified) will be
// automatically integrated with OpenShift's built-in OAuth server.
//
Expand Down
8 changes: 8 additions & 0 deletions route/v1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ import (
// return information to clients about the names and states of the route under each router.
// If a client chooses a duplicate name, for instance, the route status conditions are used
// to indicate the route cannot be chosen.
//
// To enable HTTP/2 ALPN on a route it requires a custom
// (non-wildcard) certificate. This prevents connection coalescing by
// clients, notably web browsers. We do not support HTTP/2 ALPN on
// routes that use the default certificate because of the risk of
// connection re-use/coalescing. Routes that do not have their own
// custom certificate will not be HTTP/2 ALPN-enabled on either the
// frontend or the backend.
type Route struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Expand Down

0 comments on commit b0b353e

Please sign in to comment.