Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeErrorStatus ¶
func MakeErrorStatus(reason string, args ...interface{}) *admissionv1beta1.AdmissionResponse
func RegisterMetrics ¶
func RegisterMetrics()
Types ¶
type AdmissionController ¶
type AdmissionController interface {
// Path returns the path that this particular admission controller serves on.
Path() string
// Admit is the callback which is invoked when an HTTPS request comes in on Path().
// TODO(mattmoor): This will need to be different for Conversion webhooks, which is something
// to start thinking about.
Admit(context.Context, *admissionv1beta1.AdmissionRequest) *admissionv1beta1.AdmissionResponse
}
AdmissionController provides the interface for different admission controllers
type Options ¶
type Options struct {
// ServiceName is the service name of the webhook.
ServiceName string
// SecretName is the name of k8s secret that contains the webhook
// server key/cert and corresponding CA cert that signed them. The
// server key/cert are used to serve the webhook and the CA cert
// is provided to k8s apiserver during admission controller
// registration.
SecretName string
// Port where the webhook is served. Per k8s admission
// registration requirements this should be 443 unless there is
// only a single port for the service.
Port int
// StatsReporter reports metrics about the webhook.
// This will be automatically initialized by the constructor if left uninitialized.
StatsReporter StatsReporter
}
Options contains the configuration for the webhook
func GetOptions ¶
GetOptions retrieves webhook.Options associated with the given context via WithOptions (above).
type StatsReporter ¶
type StatsReporter interface {
ReportRequest(request *admissionv1beta1.AdmissionRequest, response *admissionv1beta1.AdmissionResponse, d time.Duration) error
}
StatsReporter reports webhook metrics
func NewStatsReporter ¶
func NewStatsReporter() (StatsReporter, error)
NewStatsReporter creaters a reporter for webhook metrics
type Webhook ¶
type Webhook struct {
Client kubernetes.Interface
Options Options
Logger *zap.SugaredLogger
// contains filtered or unexported fields
}
Webhook implements the external webhook for validation of resources and configuration.
func New ¶
func New( ctx context.Context, admissionControllers []AdmissionController, ) (*Webhook, error)
New constructs a Webhook
Click to show internal directories.
Click to hide internal directories.