--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: (devel) creationTimestamp: null name: webhookreceivers.notification.kubesphere.io spec: group: notification.kubesphere.io names: kind: WebhookReceiver listKind: WebhookReceiverList plural: webhookreceivers shortNames: - wr singular: webhookreceiver scope: Cluster versions: - name: v2 schema: openAPIV3Schema: description: WebhookReceiver is the Schema for the webhookreceivers API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: WebhookReceiverSpec defines the desired state of WebhookReceiver properties: alertSelector: description: Selector to filter alerts. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object httpConfig: description: HTTPClientConfig configures an HTTP client. properties: basicAuth: description: The HTTP basic authentication credentials for the targets. properties: password: description: SecretKeySelector selects a key of a Secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: Name of the secret. type: string namespace: description: The namespace of the secret, default to the pod's namespace. type: string required: - key type: object username: type: string required: - username type: object bearerToken: description: The bearer token for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: Name of the secret. type: string namespace: description: The namespace of the secret, default to the pod's namespace. type: string required: - key type: object proxyUrl: description: HTTP proxy server to use to connect to the targets. type: string tlsConfig: description: TLSConfig to use to connect to the targets. properties: clientCertificate: description: The certificate of the client. properties: cert: description: The client cert file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: Name of the secret. type: string namespace: description: The namespace of the secret, default to the pod's namespace. type: string required: - key type: object key: description: The client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: Name of the secret. type: string namespace: description: The namespace of the secret, default to the pod's namespace. type: string required: - key type: object type: object insecureSkipVerify: description: Disable target certificate validation. type: boolean rootCA: description: RootCA defines the root certificate authorities that clients use when verifying server certificates. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: Name of the secret. type: string namespace: description: The namespace of the secret, default to the pod's namespace. type: string required: - key type: object serverName: description: Used to verify the hostname for the targets. type: string type: object type: object service: description: "`service` is a reference to the service for this webhook. Either `service` or `url` must be specified. \n If the webhook is running within the cluster, then you should use `service`." properties: name: description: '`name` is the name of the service. Required' type: string namespace: description: '`namespace` is the namespace of the service. Required' type: string path: description: '`path` is an optional URL path which will be sent in any request to this service.' type: string port: description: 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). format: int32 type: integer scheme: description: Http scheme, default is http. type: string required: - name - namespace type: object url: description: "`url` gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified. \n The `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some api servers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address. \n Please note that using `localhost` or `127.0.0.1` as a `host` 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. \n 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. \n Attempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either." type: string webhookConfigSelector: description: WebhookConfig to be selected for this receiver properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object type: object status: description: WebhookReceiverStatus defines the observed state of WebhookReceiver type: object type: object served: true storage: true status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []