Documentation
¶
Overview ¶
Package server contains the implementation of a RuntimeSDK webhook server.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultPort = 9443
DefaultPort is the default port that the webhook server serves.
Functions ¶
This section is empty.
Types ¶
type ExtensionHandler ¶
type ExtensionHandler struct {
// Hook is the corresponding hook of the handler.
Hook runtimecatalog.Hook
// Name is the name of the extension handler.
// An extension handler name must be valid in line RFC 1123 Label Names.
Name string
// HandlerFunc is the handler function.
HandlerFunc runtimecatalog.Hook
// TimeoutSeconds is the timeout of the extension handler.
// If left undefined, this will be defaulted to 10s when processing the answer to the discovery
// call for this server.
TimeoutSeconds *int32
// FailurePolicy is the failure policy of the extension handler.
// If left undefined, this will be defaulted to FailurePolicyFail when processing the answer to the discovery
// call for this server.
FailurePolicy *runtimehooksv1.FailurePolicy
// contains filtered or unexported fields
}
ExtensionHandler represents an extension handler.
type Options ¶
type Options struct {
// Catalog is the catalog used to handle requests.
Catalog *runtimecatalog.Catalog
// Host is the address that the server will listen on.
// Defaults to "" - all addresses.
// It is used to set webhook.Server.Host.
Host string
// Port is the port number that the server will serve.
// It will be defaulted to 9443 if unspecified.
// It is used to set webhook.Server.Port.
Port int
// CertDir is the directory that contains the server key and certificate.
// If not set, webhook server would look up the server key and certificate in
// {TempDir}/k8s-webhook-server/serving-certs. The server key and certificate
// must be named tls.key and tls.crt, respectively.
// It is used to set webhook.Server.CertDir.
CertDir string
// CertName is the server certificate name. Defaults to tls.crt.
//
// Note: This option is only used when TLSOpts does not set GetCertificate.
CertName string
// KeyName is the server key name. Defaults to tls.key.
//
// Note: This option is only used when TLSOpts does not set GetCertificate.
KeyName string
// TLSOpts is used to allow configuring the TLS config used for the server.
// This also allows providing a certificate via GetCertificate.
TLSOpts []func(*tls.Config)
}
Options are the options for the Server.
type Server ¶
type Server struct {
webhook.Server
// contains filtered or unexported fields
}
Server is a runtime webhook server.
func New ¶ added in v1.3.0
func New(options Options) (*Server, error)
New creates a new runtime webhook server based on the given Options.
func (*Server) AddExtensionHandler ¶
func (s *Server) AddExtensionHandler(handler ExtensionHandler) error
AddExtensionHandler adds an extension handler to the server.
Click to show internal directories.
Click to hide internal directories.