ResourceInterpreterWebhookConfiguration v1alpha1
apiVersion: config.karmada.io/v1alpha1
import "github.com/karmada-io/karmada/pkg/apis/config/v1alpha1"
ResourceInterpreterWebhookConfiguration
ResourceInterpreterWebhookConfiguration describes the configuration of webhooks which take the responsibility to tell karmada the details of the resource object, especially for custom resources.
apiVersion: config.karmada.io/v1alpha1
kind: ResourceInterpreterWebhookConfiguration
metadata (ObjectMeta)
webhooks ([]ResourceInterpreterWebhook), required
Webhooks is a list of webhooks and the affected resources and operations.
ResourceInterpreterWebhook describes the webhook as well as the resources and operations it applies to.
webhooks.clientConfig (WebhookClientConfig), required
ClientConfig defines how to communicate with the hook.
WebhookClientConfig contains the information to make a TLS connection with the webhook
webhooks.clientConfig.caBundle ([]byte)
caBundle
is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.webhooks.clientConfig.service (ServiceReference)
service
is a reference to the service for this webhook. Eitherservice
orurl
must be specified.If the webhook is running within the cluster, then you should use
service
.ServiceReference holds a reference to Service.legacy.k8s.io
webhooks.clientConfig.service.name (string), required
name
is the name of the service. Requiredwebhooks.clientConfig.service.namespace (string), required
namespace
is the namespace of the service. Requiredwebhooks.clientConfig.service.path (string)
path
is an optional URL path which will be sent in any request to this service.webhooks.clientConfig.service.port (int32)
If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility.
port
should be a valid port number (1-65535, inclusive).
webhooks.clientConfig.url (string)
url
gives the location of the webhook, in standard URL form (scheme://host:port/path
). Exactly one ofurl
orservice
must be specified.The
host
should not refer to a service running in the cluster; use theservice
field instead. The host might be resolved via external DNS in some apiservers (e.g.,kube-apiserver
cannot resolve in-cluster DNS as that would be a layering violation).host
may also be an IP address.Please note that using
localhost
or127.0.0.1
as ahost
is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.The scheme must be "https"; the URL must begin with "https://".
A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.
Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.
webhooks.interpreterContextVersions ([]string), required
InterpreterContextVersions is an ordered list of preferred
ResourceInterpreterContext
versions the Webhook expects. Karmada will try to use first version in the list which it supports. If none of the versions specified in this list supported by Karmada, validation will fail for this object. If a persisted webhook configuration specifies allowed versions and does not include any versions known to the Karmada, calls to the webhook will fail and be subject to the failure policy.webhooks.name (string), required
Name is the full-qualified name of the webhook.
webhooks.rules ([]RuleWithOperations)
Rules describes what operations on what resources the webhook cares about. The webhook cares about an operation if it matches any Rule.
RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure that all the tuple expansions are valid.
webhooks.rules.apiGroups ([]string), required
APIGroups is the API groups the resources belong to. '' is all groups. If '' is present, the length of the slice must be one. For example: ["apps", "batch", "example.io"] means matches 3 groups. ["*"] means matches all group
Note: The group could be empty, e.g the 'core' group of kubernetes, in that case use [""].
webhooks.rules.apiVersions ([]string), required
APIVersions is the API versions the resources belong to. '' is all versions. If '' is present, the length of the slice must be one. For example: ["v1alpha1", "v1beta1"] means matches 2 versions. ["*"] means matches all versions.
webhooks.rules.kinds ([]string), required
Kinds is a list of resources this rule applies to. If '' is present, the length of the slice must be one. For example: ["Deployment", "Pod"] means matches Deployment and Pod. [""] means apply to all resources.
webhooks.rules.operations ([]string), required
Operations is the operations the hook cares about. If '*' is present, the length of the slice must be one.
webhooks.timeoutSeconds (int32)
TimeoutSeconds specifies the timeout for this webhook. After the timeout passes, the webhook call will be ignored or the API call will fail based on the failure policy. The timeout value must be between 1 and 30 seconds. Default to 10 seconds.
ResourceInterpreterWebhookConfigurationList
ResourceInterpreterWebhookConfigurationList contains a list of ResourceInterpreterWebhookConfiguration.
apiVersion: config.karmada.io/v1alpha1
kind: ResourceInterpreterWebhookConfigurationList
metadata (ListMeta)
items ([][ResourceInterpreterWebhookConfiguration](../config-resources/resource-interpreter-webhook-configuration-v1alpha1#resourceinterpreterwebhookconfiguration)), required
Items holds a list of ResourceInterpreterWebhookConfiguration.
Operations
get
read the specified ResourceInterpreterWebhookConfiguration
HTTP Request
GET /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
get
read status of the specified ResourceInterpreterWebhookConfiguration
HTTP Request
GET /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}/status
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
list
list or watch objects of kind ResourceInterpreterWebhookConfiguration
HTTP Request
GET /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations
Parameters
allowWatchBookmarks (in query): boolean
continue (in query): string
fieldSelector (in query): string
labelSelector (in query): string
limit (in query): integer
pretty (in query): string
resourceVersion (in query): string
resourceVersionMatch (in query): string
sendInitialEvents (in query): boolean
timeoutSeconds (in query): integer
watch (in query): boolean
Response
200 (ResourceInterpreterWebhookConfigurationList): OK
create
create a ResourceInterpreterWebhookConfiguration
HTTP Request
POST /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations
Parameters
- body: ResourceInterpreterWebhookConfiguration, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
201 (ResourceInterpreterWebhookConfiguration): Created
202 (ResourceInterpreterWebhookConfiguration): Accepted
update
replace the specified ResourceInterpreterWebhookConfiguration
HTTP Request
PUT /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
body: ResourceInterpreterWebhookConfiguration, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
201 (ResourceInterpreterWebhookConfiguration): Created
update
replace status of the specified ResourceInterpreterWebhookConfiguration
HTTP Request
PUT /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}/status
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
body: ResourceInterpreterWebhookConfiguration, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
201 (ResourceInterpreterWebhookConfiguration): Created
patch
partially update the specified ResourceInterpreterWebhookConfiguration
HTTP Request
PATCH /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
body: Patch, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
force (in query): boolean
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
201 (ResourceInterpreterWebhookConfiguration): Created
patch
partially update status of the specified ResourceInterpreterWebhookConfiguration
HTTP Request
PATCH /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}/status
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
body: Patch, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
force (in query): boolean
pretty (in query): string
Response
200 (ResourceInterpreterWebhookConfiguration): OK
201 (ResourceInterpreterWebhookConfiguration): Created
delete
delete a ResourceInterpreterWebhookConfiguration
HTTP Request
DELETE /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations/{name}
Parameters
name (in path): string, required
name of the ResourceInterpreterWebhookConfiguration
body: DeleteOptions
dryRun (in query): string
gracePeriodSeconds (in query): integer
pretty (in query): string
propagationPolicy (in query): string
Response
200 (Status): OK
202 (Status): Accepted
deletecollection
delete collection of ResourceInterpreterWebhookConfiguration
HTTP Request
DELETE /apis/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations
Parameters
- body: DeleteOptions
continue (in query): string
dryRun (in query): string
fieldSelector (in query): string
gracePeriodSeconds (in query): integer
labelSelector (in query): string
limit (in query): integer
pretty (in query): string
propagationPolicy (in query): string
resourceVersion (in query): string
resourceVersionMatch (in query): string
sendInitialEvents (in query): boolean
timeoutSeconds (in query): integer
Response
200 (Status): OK