apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.12.0 name: providers.notification.toolkit.fluxcd.io spec: group: notification.toolkit.fluxcd.io names: kind: Provider listKind: ProviderList plural: providers singular: provider scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string - jsonPath: .status.conditions[?(@.type=="Ready")].message name: Status type: string deprecated: true deprecationWarning: v1beta1 Provider is deprecated, upgrade to v1beta3 name: v1beta1 schema: openAPIV3Schema: description: Provider is the Schema for the providers 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: ProviderSpec defines the desired state of Provider properties: address: description: HTTP/S webhook address of this provider pattern: ^(http|https):// type: string certSecretRef: description: CertSecretRef can be given the name of a secret containing a PEM-encoded CA certificate (`caFile`) properties: name: description: Name of the referent. type: string required: - name type: object channel: description: Alert channel for this provider type: string proxy: description: HTTP/S address of the proxy pattern: ^(http|https):// type: string secretRef: description: Secret reference containing the provider webhook URL using "address" as data key properties: name: description: Name of the referent. type: string required: - name type: object suspend: description: This flag tells the controller to suspend subsequent events handling. Defaults to false. type: boolean timeout: description: Timeout for sending alerts to the provider. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ type: string type: description: Type of provider enum: - slack - discord - msteams - rocket - generic - generic-hmac - github - gitlab - bitbucket - azuredevops - googlechat - webex - sentry - azureeventhub - telegram - lark - matrix - opsgenie - alertmanager - grafana - githubdispatch type: string username: description: Bot username for this provider type: string required: - type type: object status: default: observedGeneration: -1 description: ProviderStatus defines the observed state of Provider properties: conditions: items: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array observedGeneration: description: ObservedGeneration is the last reconciled generation. format: int64 type: integer type: object type: object served: true storage: false subresources: status: {} - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string - jsonPath: .status.conditions[?(@.type=="Ready")].message name: Status type: string deprecated: true deprecationWarning: v1beta2 Provider is deprecated, upgrade to v1beta3 name: v1beta2 schema: openAPIV3Schema: description: Provider is the Schema for the providers 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: ProviderSpec defines the desired state of the Provider. properties: address: description: Address specifies the endpoint, in a generic sense, to where alerts are sent. What kind of endpoint depends on the specific Provider type being used. For the generic Provider, for example, this is an HTTP/S address. For other Provider types this could be a project ID or a namespace. maxLength: 2048 type: string certSecretRef: description: "CertSecretRef specifies the Secret containing a PEM-encoded CA certificate (in the `ca.crt` key). \n Note: Support for the `caFile` key has been deprecated." properties: name: description: Name of the referent. type: string required: - name type: object channel: description: Channel specifies the destination channel where events should be posted. maxLength: 2048 type: string interval: description: Interval at which to reconcile the Provider with its Secret references. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string proxy: description: Proxy the HTTP/S address of the proxy server. maxLength: 2048 pattern: ^(http|https)://.*$ type: string secretRef: description: SecretRef specifies the Secret containing the authentication credentials for this Provider. properties: name: description: Name of the referent. type: string required: - name type: object suspend: description: Suspend tells the controller to suspend subsequent events handling for this Provider. type: boolean timeout: description: Timeout for sending alerts to the Provider. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ type: string type: description: Type specifies which Provider implementation to use. enum: - slack - discord - msteams - rocket - generic - generic-hmac - github - gitlab - gitea - bitbucketserver - bitbucket - azuredevops - googlechat - googlepubsub - webex - sentry - azureeventhub - telegram - lark - matrix - opsgenie - alertmanager - grafana - githubdispatch - pagerduty - datadog type: string username: description: Username specifies the name under which events are posted. maxLength: 2048 type: string required: - type type: object status: default: observedGeneration: -1 description: ProviderStatus defines the observed state of the Provider. properties: conditions: description: Conditions holds the conditions for the Provider. items: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array lastHandledReconcileAt: description: LastHandledReconcileAt holds the value of the most recent reconcile request value, so a change of the annotation value can be detected. type: string observedGeneration: description: ObservedGeneration is the last reconciled generation. format: int64 type: integer type: object type: object served: true storage: false subresources: status: {} - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1beta3 schema: openAPIV3Schema: description: Provider is the Schema for the providers 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: ProviderSpec defines the desired state of the Provider. properties: address: description: Address specifies the endpoint, in a generic sense, to where alerts are sent. What kind of endpoint depends on the specific Provider type being used. For the generic Provider, for example, this is an HTTP/S address. For other Provider types this could be a project ID or a namespace. maxLength: 2048 type: string certSecretRef: description: "CertSecretRef specifies the Secret containing a PEM-encoded CA certificate (in the `ca.crt` key). \n Note: Support for the `caFile` key has been deprecated." properties: name: description: Name of the referent. type: string required: - name type: object channel: description: Channel specifies the destination channel where events should be posted. maxLength: 2048 type: string interval: description: Interval at which to reconcile the Provider with its Secret references. Deprecated and not used in v1beta3. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string proxy: description: Proxy the HTTP/S address of the proxy server. maxLength: 2048 pattern: ^(http|https)://.*$ type: string secretRef: description: SecretRef specifies the Secret containing the authentication credentials for this Provider. properties: name: description: Name of the referent. type: string required: - name type: object suspend: description: Suspend tells the controller to suspend subsequent events handling for this Provider. type: boolean timeout: description: Timeout for sending alerts to the Provider. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ type: string type: description: Type specifies which Provider implementation to use. enum: - slack - discord - msteams - rocket - generic - generic-hmac - github - gitlab - gitea - bitbucketserver - bitbucket - azuredevops - googlechat - googlepubsub - webex - sentry - azureeventhub - telegram - lark - matrix - opsgenie - alertmanager - grafana - githubdispatch - pagerduty - datadog - nats type: string username: description: Username specifies the name under which events are posted. maxLength: 2048 type: string required: - type type: object type: object served: true storage: true subresources: {}