Documentation ¶
Index ¶
Constants ¶
const (
MutateWebhookCfgName = "controller.devfile.io"
)
const (
ValidateWebhookCfgName = "controller.devfile.io"
)
Variables ¶
This section is empty.
Functions ¶
func BuildMutateWebhookCfg ¶
func BuildMutateWebhookCfg(namespace string) *admregv1.MutatingWebhookConfiguration
BuildMutateWebhookCfg creates the mutating webhook configuration for the controller
Types ¶
type ResourcesMutator ¶
type ResourcesMutator struct {
*handler.WebhookHandler
}
ResourcesMutator checks that every: - workspace has creator label specified and it's not modified - workspace-related deployment, pod has unmodified workspace-id label and creator label
func NewResourcesMutator ¶
func NewResourcesMutator(controllerUID, controllerSAName string) *ResourcesMutator
func (*ResourcesMutator) Handle ¶
ResourcesMutator verify if operation is a valid from Workspace controller perspective
func (*ResourcesMutator) InjectClient ¶
func (m *ResourcesMutator) InjectClient(c client.Client) error
InjectClient injects the client.
func (*ResourcesMutator) InjectDecoder ¶
func (m *ResourcesMutator) InjectDecoder(d *admission.Decoder) error
InjectDecoder injects the decoder.
type ResourcesValidator ¶
type ResourcesValidator struct {
*handler.WebhookHandler
}
ResourcesValidator validates execs process all exec requests and: if related pod DOES NOT have workspace_id label - just skip it if related pod DOES have workspace_id label - make sure that exec is requested by workspace creator
func NewResourcesValidator ¶
func NewResourcesValidator(controllerUID, controllerSAName string) *ResourcesValidator
func (*ResourcesValidator) InjectClient ¶
func (v *ResourcesValidator) InjectClient(c client.Client) error
InjectClient injects the client.
func (*ResourcesValidator) InjectDecoder ¶
func (v *ResourcesValidator) InjectDecoder(d *admission.Decoder) error
InjectDecoder injects the decoder.