Documentation
¶
Index ¶
Constants ¶
const (
// DefaultHostAcceptRE is the default value for which hosts to accept.
DefaultHostAcceptRE = "^localhost$,^127\\.0\\.0\\.1$,^\\[::1\\]$"
// DefaultPathAcceptRE is the default path to accept.
DefaultPathAcceptRE = "^.*"
// DefaultPathRejectRE is the default set of paths to reject.
DefaultPathRejectRE = "^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach"
// DefaultMethodRejectRE is the set of HTTP methods to reject by default.
DefaultMethodRejectRE = "^$"
)
Variables ¶
var (
// ReverseProxyFlushInterval is the frequency to flush the reverse proxy.
// Only matters for long poll connections like the one used to watch. With an
// interval of 0 the reverse proxy will buffer content sent on any connection
// with transfer-encoding=chunked.
// TODO: Flush after each chunk so the client doesn't suffer a 100ms latency per
// watch event.
ReverseProxyFlushInterval = 100 * time.Millisecond
)
Functions ¶
func MakeRegexpArray ¶
func MakeRegexpArray(str string) ([]*regexp.Regexp, error)
MakeRegexpArray splits a comma separated list of regexps into an array of Regexp objects.
func MakeRegexpArrayOrDie ¶
func MakeRegexpArrayOrDie(str string) []*regexp.Regexp
MakeRegexpArrayOrDie creates an array of regular expression objects from a string or exits.
Types ¶
type FilterServer ¶
type FilterServer struct {
// Only paths that match this regexp will be accepted
AcceptPaths []*regexp.Regexp
// Paths that match this regexp will be rejected, even if they match the above
RejectPaths []*regexp.Regexp
// Hosts are required to match this list of regexp
AcceptHosts []*regexp.Regexp
// Methods that match this regexp are rejected
RejectMethods []*regexp.Regexp
// contains filtered or unexported fields
}
FilterServer rejects requests which don't match one of the specified regular expressions
func (*FilterServer) HandlerFor ¶
func (f *FilterServer) HandlerFor(delegate http.Handler) *FilterServer
HandlerFor makes a shallow copy of f which passes its requests along to the new delegate.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is a http.Handler which proxies Kubernetes APIs to remote API server.
func NewServer ¶
func NewServer(filebase string, apiProxyPrefix string, staticPrefix string, filter *FilterServer, cfg *rest.Config) (*Server, error)
NewServer creates and installs a new Server. 'filter', if non-nil, protects requests to the api only.
func (*Server) Listen ¶
func (s *Server) Listen(address string, port int) (net.Listener, error)
Listen is a simple wrapper around net.Listen.
func (*Server) ListenUnix ¶
func (s *Server) ListenUnix(path string) (net.Listener, error)
ListenUnix does net.Listen for a unix socket
func (*Server) ServeOnListener ¶
func (s *Server) ServeOnListener(l net.Listener) error
ServeOnListener starts the server using given listener, loops forever.