From fb6d00881a5407dfe11a2f19b15dde5676166888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kub=C3=ADn?= Date: Thu, 1 Aug 2024 19:32:24 +0200 Subject: [PATCH] Publish module fluxcd-notification-controller MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lukáš Kubín --- fluxcd-notification-controller/README.md | 679 ++++++ .../crds/notification-controller@v1.3.0.yaml | 1878 +++++++++++++++++ fluxcd-notification-controller/kcl.mod | 8 + fluxcd-notification-controller/kcl.mod.lock | 5 + ...tification_toolkit_fluxcd_io_v1_receiver.k | 238 +++ ...fication_toolkit_fluxcd_io_v1beta1_alert.k | 219 ++ ...ation_toolkit_fluxcd_io_v1beta1_provider.k | 212 ++ ...ation_toolkit_fluxcd_io_v1beta1_receiver.k | 222 ++ ...fication_toolkit_fluxcd_io_v1beta2_alert.k | 246 +++ ...ation_toolkit_fluxcd_io_v1beta2_provider.k | 233 ++ ...ation_toolkit_fluxcd_io_v1beta2_receiver.k | 244 +++ ...fication_toolkit_fluxcd_io_v1beta3_alert.k | 144 ++ ...ation_toolkit_fluxcd_io_v1beta3_provider.k | 134 ++ 13 files changed, 4462 insertions(+) create mode 100644 fluxcd-notification-controller/README.md create mode 100644 fluxcd-notification-controller/crds/notification-controller@v1.3.0.yaml create mode 100644 fluxcd-notification-controller/kcl.mod create mode 100644 fluxcd-notification-controller/kcl.mod.lock create mode 100644 fluxcd-notification-controller/v1/notification_toolkit_fluxcd_io_v1_receiver.k create mode 100644 fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_alert.k create mode 100644 fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_provider.k create mode 100644 fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_receiver.k create mode 100644 fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_alert.k create mode 100644 fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_provider.k create mode 100644 fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_receiver.k create mode 100644 fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_alert.k create mode 100644 fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_provider.k diff --git a/fluxcd-notification-controller/README.md b/fluxcd-notification-controller/README.md new file mode 100644 index 00000000..b5882507 --- /dev/null +++ b/fluxcd-notification-controller/README.md @@ -0,0 +1,679 @@ +# notification-controller + +## Index + +- v1 + - [NotificationToolkitFluxcdIoV1ReceiverSpec](#notificationtoolkitfluxcdiov1receiverspec) + - [NotificationToolkitFluxcdIoV1ReceiverSpecResourcesItems0](#notificationtoolkitfluxcdiov1receiverspecresourcesitems0) + - [NotificationToolkitFluxcdIoV1ReceiverSpecSecretRef](#notificationtoolkitfluxcdiov1receiverspecsecretref) + - [NotificationToolkitFluxcdIoV1ReceiverStatus](#notificationtoolkitfluxcdiov1receiverstatus) + - [NotificationToolkitFluxcdIoV1ReceiverStatusConditionsItems0](#notificationtoolkitfluxcdiov1receiverstatusconditionsitems0) + - [Receiver](#receiver) +- v1beta1 + - [Alert](#alert) + - [NotificationToolkitFluxcdIoV1beta1AlertSpec](#notificationtoolkitfluxcdiov1beta1alertspec) + - [NotificationToolkitFluxcdIoV1beta1AlertSpecEventSourcesItems0](#notificationtoolkitfluxcdiov1beta1alertspeceventsourcesitems0) + - [NotificationToolkitFluxcdIoV1beta1AlertSpecProviderRef](#notificationtoolkitfluxcdiov1beta1alertspecproviderref) + - [NotificationToolkitFluxcdIoV1beta1AlertStatus](#notificationtoolkitfluxcdiov1beta1alertstatus) + - [NotificationToolkitFluxcdIoV1beta1AlertStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta1alertstatusconditionsitems0) + - [NotificationToolkitFluxcdIoV1beta1ProviderSpec](#notificationtoolkitfluxcdiov1beta1providerspec) + - [NotificationToolkitFluxcdIoV1beta1ProviderSpecCertSecretRef](#notificationtoolkitfluxcdiov1beta1providerspeccertsecretref) + - [NotificationToolkitFluxcdIoV1beta1ProviderSpecSecretRef](#notificationtoolkitfluxcdiov1beta1providerspecsecretref) + - [NotificationToolkitFluxcdIoV1beta1ProviderStatus](#notificationtoolkitfluxcdiov1beta1providerstatus) + - [NotificationToolkitFluxcdIoV1beta1ProviderStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta1providerstatusconditionsitems0) + - [NotificationToolkitFluxcdIoV1beta1ReceiverSpec](#notificationtoolkitfluxcdiov1beta1receiverspec) + - [NotificationToolkitFluxcdIoV1beta1ReceiverSpecResourcesItems0](#notificationtoolkitfluxcdiov1beta1receiverspecresourcesitems0) + - [NotificationToolkitFluxcdIoV1beta1ReceiverSpecSecretRef](#notificationtoolkitfluxcdiov1beta1receiverspecsecretref) + - [NotificationToolkitFluxcdIoV1beta1ReceiverStatus](#notificationtoolkitfluxcdiov1beta1receiverstatus) + - [NotificationToolkitFluxcdIoV1beta1ReceiverStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta1receiverstatusconditionsitems0) + - [Provider](#provider) + - [Receiver](#receiver) +- v1beta2 + - [Alert](#alert) + - [NotificationToolkitFluxcdIoV1beta2AlertSpec](#notificationtoolkitfluxcdiov1beta2alertspec) + - [NotificationToolkitFluxcdIoV1beta2AlertSpecEventSourcesItems0](#notificationtoolkitfluxcdiov1beta2alertspeceventsourcesitems0) + - [NotificationToolkitFluxcdIoV1beta2AlertSpecProviderRef](#notificationtoolkitfluxcdiov1beta2alertspecproviderref) + - [NotificationToolkitFluxcdIoV1beta2AlertStatus](#notificationtoolkitfluxcdiov1beta2alertstatus) + - [NotificationToolkitFluxcdIoV1beta2AlertStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta2alertstatusconditionsitems0) + - [NotificationToolkitFluxcdIoV1beta2ProviderSpec](#notificationtoolkitfluxcdiov1beta2providerspec) + - [NotificationToolkitFluxcdIoV1beta2ProviderSpecCertSecretRef](#notificationtoolkitfluxcdiov1beta2providerspeccertsecretref) + - [NotificationToolkitFluxcdIoV1beta2ProviderSpecSecretRef](#notificationtoolkitfluxcdiov1beta2providerspecsecretref) + - [NotificationToolkitFluxcdIoV1beta2ProviderStatus](#notificationtoolkitfluxcdiov1beta2providerstatus) + - [NotificationToolkitFluxcdIoV1beta2ProviderStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta2providerstatusconditionsitems0) + - [NotificationToolkitFluxcdIoV1beta2ReceiverSpec](#notificationtoolkitfluxcdiov1beta2receiverspec) + - [NotificationToolkitFluxcdIoV1beta2ReceiverSpecResourcesItems0](#notificationtoolkitfluxcdiov1beta2receiverspecresourcesitems0) + - [NotificationToolkitFluxcdIoV1beta2ReceiverSpecSecretRef](#notificationtoolkitfluxcdiov1beta2receiverspecsecretref) + - [NotificationToolkitFluxcdIoV1beta2ReceiverStatus](#notificationtoolkitfluxcdiov1beta2receiverstatus) + - [NotificationToolkitFluxcdIoV1beta2ReceiverStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta2receiverstatusconditionsitems0) + - [Provider](#provider) + - [Receiver](#receiver) +- v1beta3 + - [Alert](#alert) + - [NotificationToolkitFluxcdIoV1beta3AlertSpec](#notificationtoolkitfluxcdiov1beta3alertspec) + - [NotificationToolkitFluxcdIoV1beta3AlertSpecEventSourcesItems0](#notificationtoolkitfluxcdiov1beta3alertspeceventsourcesitems0) + - [NotificationToolkitFluxcdIoV1beta3AlertSpecProviderRef](#notificationtoolkitfluxcdiov1beta3alertspecproviderref) + - [NotificationToolkitFluxcdIoV1beta3ProviderSpec](#notificationtoolkitfluxcdiov1beta3providerspec) + - [NotificationToolkitFluxcdIoV1beta3ProviderSpecCertSecretRef](#notificationtoolkitfluxcdiov1beta3providerspeccertsecretref) + - [NotificationToolkitFluxcdIoV1beta3ProviderSpecSecretRef](#notificationtoolkitfluxcdiov1beta3providerspecsecretref) + - [Provider](#provider) + +## Schemas + +### NotificationToolkitFluxcdIoV1ReceiverSpec + +ReceiverSpec defines the desired state of the Receiver. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**events**|[str]|Events specifies the list of event types to handle,
e.g. 'push' for GitHub or 'Push Hook' for GitLab.|| +|**interval**|str|Interval at which to reconcile the Receiver with its Secret references.|"10m"| +|**resources** `required`|[[NotificationToolkitFluxcdIoV1ReceiverSpecResourcesItems0](#notificationtoolkitfluxcdiov1receiverspecresourcesitems0)]|A list of resources to be notified about changes.|| +|**secretRef** `required`|[NotificationToolkitFluxcdIoV1ReceiverSpecSecretRef](#notificationtoolkitfluxcdiov1receiverspecsecretref)|secret ref|| +|**suspend**|bool|Suspend tells the controller to suspend subsequent
events handling for this receiver.|| +|**type** `required`|"generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr" | "cdevents"||| +### NotificationToolkitFluxcdIoV1ReceiverSpecResourcesItems0 + +CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|API version of the referent|| +|**kind** `required`|"Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository"|Kind of the referent|| +|**matchLabels**|{str:str}|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.
MatchLabels requires the name to be set to `*`.|| +|**name** `required`|str|Name of the referent
If multiple resources are targeted `*` may be set.|| +|**namespace**|str|Namespace of the referent|| +### NotificationToolkitFluxcdIoV1ReceiverSpecSecretRef + +SecretRef specifies the Secret containing the token used to validate the payload authenticity. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1ReceiverStatus + +ReceiverStatus defines the observed state of the Receiver. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1ReceiverStatusConditionsItems0](#notificationtoolkitfluxcdiov1receiverstatusconditionsitems0)]|Conditions holds the conditions for the Receiver.|| +|**lastHandledReconcileAt**|str|LastHandledReconcileAt holds the value of the most recent
reconcile request value, so a change of the annotation value
can be detected.|| +|**observedGeneration**|int|ObservedGeneration is the last observed generation of the Receiver object.|| +|**webhookPath**|str|WebhookPath is the generated incoming webhook address in the format
of '/hook/sha256sum(token+name+namespace)'.|| +### NotificationToolkitFluxcdIoV1ReceiverStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### Receiver + +Receiver is the Schema for the receivers API. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1"|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|"notification.toolkit.fluxcd.io/v1"| +|**kind** `required` `readOnly`|"Receiver"|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|"Receiver"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1ReceiverSpec](#notificationtoolkitfluxcdiov1receiverspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1ReceiverStatus](#notificationtoolkitfluxcdiov1receiverstatus)|status|| +### Alert + +Alert is the Schema for the alerts API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta1"|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|"notification.toolkit.fluxcd.io/v1beta1"| +|**kind** `required` `readOnly`|"Alert"|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|"Alert"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta1AlertSpec](#notificationtoolkitfluxcdiov1beta1alertspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1beta1AlertStatus](#notificationtoolkitfluxcdiov1beta1alertstatus)|status|| +### NotificationToolkitFluxcdIoV1beta1AlertSpec + +AlertSpec defines an alerting rule for events involving a list of objects + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**eventSeverity**|"info" | "error"|Filter events based on severity, defaults to ('info').
If set to 'info' no events will be filtered.|"info"| +|**eventSources** `required`|[[NotificationToolkitFluxcdIoV1beta1AlertSpecEventSourcesItems0](#notificationtoolkitfluxcdiov1beta1alertspeceventsourcesitems0)]|Filter events based on the involved objects.|| +|**exclusionList**|[str]|A list of Golang regular expressions to be used for excluding messages.|| +|**providerRef** `required`|[NotificationToolkitFluxcdIoV1beta1AlertSpecProviderRef](#notificationtoolkitfluxcdiov1beta1alertspecproviderref)|provider ref|| +|**summary**|str|Short description of the impact and affected cluster.|| +|**suspend**|bool|This flag tells the controller to suspend subsequent events dispatching.
Defaults to false.|| +### NotificationToolkitFluxcdIoV1beta1AlertSpecEventSourcesItems0 + +CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|API version of the referent|| +|**kind**|"Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository"|Kind of the referent|| +|**matchLabels**|{str:str}|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.|| +|**name** `required`|str|Name of the referent|| +|**namespace**|str|Namespace of the referent|| +### NotificationToolkitFluxcdIoV1beta1AlertSpecProviderRef + +Send events using this provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta1AlertStatus + +AlertStatus defines the observed state of Alert + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1beta1AlertStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta1alertstatusconditionsitems0)]|conditions|| +|**observedGeneration**|int|ObservedGeneration is the last observed generation.|| +### NotificationToolkitFluxcdIoV1beta1AlertStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### NotificationToolkitFluxcdIoV1beta1ProviderSpec + +ProviderSpec defines the desired state of Provider + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**address**|str|HTTP/S webhook address of this provider|| +|**certSecretRef**|[NotificationToolkitFluxcdIoV1beta1ProviderSpecCertSecretRef](#notificationtoolkitfluxcdiov1beta1providerspeccertsecretref)|cert secret ref|| +|**channel**|str|Alert channel for this provider|| +|**proxy**|str|HTTP/S address of the proxy|| +|**secretRef**|[NotificationToolkitFluxcdIoV1beta1ProviderSpecSecretRef](#notificationtoolkitfluxcdiov1beta1providerspecsecretref)|secret ref|| +|**suspend**|bool|This flag tells the controller to suspend subsequent events handling.
Defaults to false.|| +|**timeout**|str|Timeout for sending alerts to the provider.|| +|**type** `required`|"slack" | "discord" | "msteams" | "rocket" | "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch"||| +|**username**|str|Bot username for this provider|| +### NotificationToolkitFluxcdIoV1beta1ProviderSpecCertSecretRef + +CertSecretRef can be given the name of a secret containing a PEM-encoded CA certificate (`caFile`) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta1ProviderSpecSecretRef + +Secret reference containing the provider webhook URL using "address" as data key + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta1ProviderStatus + +ProviderStatus defines the observed state of Provider + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1beta1ProviderStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta1providerstatusconditionsitems0)]|conditions|| +|**observedGeneration**|int|ObservedGeneration is the last reconciled generation.|| +### NotificationToolkitFluxcdIoV1beta1ProviderStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### NotificationToolkitFluxcdIoV1beta1ReceiverSpec + +ReceiverSpec defines the desired state of Receiver + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**events**|[str]|A list of events to handle,
e.g. 'push' for GitHub or 'Push Hook' for GitLab.|| +|**resources** `required`|[[NotificationToolkitFluxcdIoV1beta1ReceiverSpecResourcesItems0](#notificationtoolkitfluxcdiov1beta1receiverspecresourcesitems0)]|A list of resources to be notified about changes.|| +|**secretRef**|[NotificationToolkitFluxcdIoV1beta1ReceiverSpecSecretRef](#notificationtoolkitfluxcdiov1beta1receiverspecsecretref)|secret ref|| +|**suspend**|bool|This flag tells the controller to suspend subsequent events handling.
Defaults to false.|| +|**type** `required`|"generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr"||| +### NotificationToolkitFluxcdIoV1beta1ReceiverSpecResourcesItems0 + +CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|API version of the referent|| +|**kind**|"Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository"|Kind of the referent|| +|**matchLabels**|{str:str}|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.|| +|**name** `required`|str|Name of the referent|| +|**namespace**|str|Namespace of the referent|| +### NotificationToolkitFluxcdIoV1beta1ReceiverSpecSecretRef + +Secret reference containing the token used to validate the payload authenticity + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta1ReceiverStatus + +ReceiverStatus defines the observed state of Receiver + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1beta1ReceiverStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta1receiverstatusconditionsitems0)]|conditions|| +|**observedGeneration**|int|ObservedGeneration is the last observed generation.|| +|**url**|str|Generated webhook URL in the format
of '/hook/sha256sum(token+name+namespace)'.|| +### NotificationToolkitFluxcdIoV1beta1ReceiverStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### Provider + +Provider is the Schema for the providers API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta1"|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|"notification.toolkit.fluxcd.io/v1beta1"| +|**kind** `required` `readOnly`|"Provider"|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|"Provider"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta1ProviderSpec](#notificationtoolkitfluxcdiov1beta1providerspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1beta1ProviderStatus](#notificationtoolkitfluxcdiov1beta1providerstatus)|status|| +### Receiver + +Receiver is the Schema for the receivers API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta1"|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|"notification.toolkit.fluxcd.io/v1beta1"| +|**kind** `required` `readOnly`|"Receiver"|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|"Receiver"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta1ReceiverSpec](#notificationtoolkitfluxcdiov1beta1receiverspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1beta1ReceiverStatus](#notificationtoolkitfluxcdiov1beta1receiverstatus)|status|| +### Alert + +Alert is the Schema for the alerts API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta2"|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|"notification.toolkit.fluxcd.io/v1beta2"| +|**kind** `required` `readOnly`|"Alert"|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|"Alert"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta2AlertSpec](#notificationtoolkitfluxcdiov1beta2alertspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1beta2AlertStatus](#notificationtoolkitfluxcdiov1beta2alertstatus)|status|| +### NotificationToolkitFluxcdIoV1beta2AlertSpec + +AlertSpec defines an alerting rule for events involving a list of objects. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**eventMetadata**|{str:str}|EventMetadata is an optional field for adding metadata to events dispatched by the
controller. This can be used for enhancing the context of the event. If a field
would override one already present on the original event as generated by the emitter,
then the override doesn't happen, i.e. the original value is preserved, and an info
log is printed.|| +|**eventSeverity**|"info" | "error"|EventSeverity specifies how to filter events based on severity.
If set to 'info' no events will be filtered.|"info"| +|**eventSources** `required`|[[NotificationToolkitFluxcdIoV1beta2AlertSpecEventSourcesItems0](#notificationtoolkitfluxcdiov1beta2alertspeceventsourcesitems0)]|EventSources specifies how to filter events based
on the involved object kind, name and namespace.|| +|**exclusionList**|[str]|ExclusionList specifies a list of Golang regular expressions
to be used for excluding messages.|| +|**inclusionList**|[str]|InclusionList specifies a list of Golang regular expressions
to be used for including messages.|| +|**providerRef** `required`|[NotificationToolkitFluxcdIoV1beta2AlertSpecProviderRef](#notificationtoolkitfluxcdiov1beta2alertspecproviderref)|provider ref|| +|**summary**|str|Summary holds a short description of the impact and affected cluster.|| +|**suspend**|bool|Suspend tells the controller to suspend subsequent
events handling for this Alert.|| +### NotificationToolkitFluxcdIoV1beta2AlertSpecEventSourcesItems0 + +CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|API version of the referent|| +|**kind** `required`|"Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository"|Kind of the referent|| +|**matchLabels**|{str:str}|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.
MatchLabels requires the name to be set to `*`.|| +|**name** `required`|str|Name of the referent
If multiple resources are targeted `*` may be set.|| +|**namespace**|str|Namespace of the referent|| +### NotificationToolkitFluxcdIoV1beta2AlertSpecProviderRef + +ProviderRef specifies which Provider this Alert should use. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta2AlertStatus + +AlertStatus defines the observed state of the Alert. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1beta2AlertStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta2alertstatusconditionsitems0)]|Conditions holds the conditions for the Alert.|| +|**lastHandledReconcileAt**|str|LastHandledReconcileAt holds the value of the most recent
reconcile request value, so a change of the annotation value
can be detected.|| +|**observedGeneration**|int|ObservedGeneration is the last observed generation.|| +### NotificationToolkitFluxcdIoV1beta2AlertStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### NotificationToolkitFluxcdIoV1beta2ProviderSpec + +ProviderSpec defines the desired state of the Provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**address**|str|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.|| +|**certSecretRef**|[NotificationToolkitFluxcdIoV1beta2ProviderSpecCertSecretRef](#notificationtoolkitfluxcdiov1beta2providerspeccertsecretref)|cert secret ref|| +|**channel**|str|Channel specifies the destination channel where events should be posted.|| +|**interval**|str|Interval at which to reconcile the Provider with its Secret references.|| +|**proxy**|str|Proxy the HTTP/S address of the proxy server.|| +|**secretRef**|[NotificationToolkitFluxcdIoV1beta2ProviderSpecSecretRef](#notificationtoolkitfluxcdiov1beta2providerspecsecretref)|secret ref|| +|**suspend**|bool|Suspend tells the controller to suspend subsequent
events handling for this Provider.|| +|**timeout**|str|Timeout for sending alerts to the Provider.|| +|**type** `required`|"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"||| +|**username**|str|Username specifies the name under which events are posted.|| +### NotificationToolkitFluxcdIoV1beta2ProviderSpecCertSecretRef + +CertSecretRef specifies the Secret containing a PEM-encoded CA certificate (in the `ca.crt` key). Note: Support for the `caFile` key has been deprecated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta2ProviderSpecSecretRef + +SecretRef specifies the Secret containing the authentication credentials for this Provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta2ProviderStatus + +ProviderStatus defines the observed state of the Provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1beta2ProviderStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta2providerstatusconditionsitems0)]|Conditions holds the conditions for the Provider.|| +|**lastHandledReconcileAt**|str|LastHandledReconcileAt holds the value of the most recent
reconcile request value, so a change of the annotation value
can be detected.|| +|**observedGeneration**|int|ObservedGeneration is the last reconciled generation.|| +### NotificationToolkitFluxcdIoV1beta2ProviderStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### NotificationToolkitFluxcdIoV1beta2ReceiverSpec + +ReceiverSpec defines the desired state of the Receiver. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**events**|[str]|Events specifies the list of event types to handle,
e.g. 'push' for GitHub or 'Push Hook' for GitLab.|| +|**interval**|str|Interval at which to reconcile the Receiver with its Secret references.|| +|**resources** `required`|[[NotificationToolkitFluxcdIoV1beta2ReceiverSpecResourcesItems0](#notificationtoolkitfluxcdiov1beta2receiverspecresourcesitems0)]|A list of resources to be notified about changes.|| +|**secretRef**|[NotificationToolkitFluxcdIoV1beta2ReceiverSpecSecretRef](#notificationtoolkitfluxcdiov1beta2receiverspecsecretref)|secret ref|| +|**suspend**|bool|Suspend tells the controller to suspend subsequent
events handling for this receiver.|| +|**type** `required`|"generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr"||| +### NotificationToolkitFluxcdIoV1beta2ReceiverSpecResourcesItems0 + +CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|API version of the referent|| +|**kind** `required`|"Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository"|Kind of the referent|| +|**matchLabels**|{str:str}|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.
MatchLabels requires the name to be set to `*`.|| +|**name** `required`|str|Name of the referent
If multiple resources are targeted `*` may be set.|| +|**namespace**|str|Namespace of the referent|| +### NotificationToolkitFluxcdIoV1beta2ReceiverSpecSecretRef + +SecretRef specifies the Secret containing the token used to validate the payload authenticity. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta2ReceiverStatus + +ReceiverStatus defines the observed state of the Receiver. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[NotificationToolkitFluxcdIoV1beta2ReceiverStatusConditionsItems0](#notificationtoolkitfluxcdiov1beta2receiverstatusconditionsitems0)]|Conditions holds the conditions for the Receiver.|| +|**lastHandledReconcileAt**|str|LastHandledReconcileAt holds the value of the most recent
reconcile request value, so a change of the annotation value
can be detected.|| +|**observedGeneration**|int|ObservedGeneration is the last observed generation of the Receiver object.|| +|**url**|str|URL is the generated incoming webhook address in the format
of '/hook/sha256sum(token+name+namespace)'.
Deprecated: Replaced by WebhookPath.|| +|**webhookPath**|str|WebhookPath is the generated incoming webhook address in the format
of '/hook/sha256sum(token+name+namespace)'.|| +### NotificationToolkitFluxcdIoV1beta2ReceiverStatusConditionsItems0 + +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, 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"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|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.|| +|**message** `required`|str|message is a human readable message indicating details about the transition.
This may be an empty string.|| +|**observedGeneration**|int|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.|| +|**reason** `required`|str|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.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### Provider + +Provider is the Schema for the providers API. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta2"|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|"notification.toolkit.fluxcd.io/v1beta2"| +|**kind** `required` `readOnly`|"Provider"|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|"Provider"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta2ProviderSpec](#notificationtoolkitfluxcdiov1beta2providerspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1beta2ProviderStatus](#notificationtoolkitfluxcdiov1beta2providerstatus)|status|| +### Receiver + +Receiver is the Schema for the receivers API. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta2"|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|"notification.toolkit.fluxcd.io/v1beta2"| +|**kind** `required` `readOnly`|"Receiver"|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|"Receiver"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta2ReceiverSpec](#notificationtoolkitfluxcdiov1beta2receiverspec)|spec|| +|**status**|[NotificationToolkitFluxcdIoV1beta2ReceiverStatus](#notificationtoolkitfluxcdiov1beta2receiverstatus)|status|| +### Alert + +Alert is the Schema for the alerts API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta3"|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|"notification.toolkit.fluxcd.io/v1beta3"| +|**kind** `required` `readOnly`|"Alert"|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|"Alert"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta3AlertSpec](#notificationtoolkitfluxcdiov1beta3alertspec)|spec|| +### NotificationToolkitFluxcdIoV1beta3AlertSpec + +AlertSpec defines an alerting rule for events involving a list of objects. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**eventMetadata**|{str:str}|EventMetadata is an optional field for adding metadata to events dispatched by the
controller. This can be used for enhancing the context of the event. If a field
would override one already present on the original event as generated by the emitter,
then the override doesn't happen, i.e. the original value is preserved, and an info
log is printed.|| +|**eventSeverity**|"info" | "error"|EventSeverity specifies how to filter events based on severity.
If set to 'info' no events will be filtered.|"info"| +|**eventSources** `required`|[[NotificationToolkitFluxcdIoV1beta3AlertSpecEventSourcesItems0](#notificationtoolkitfluxcdiov1beta3alertspeceventsourcesitems0)]|EventSources specifies how to filter events based
on the involved object kind, name and namespace.|| +|**exclusionList**|[str]|ExclusionList specifies a list of Golang regular expressions
to be used for excluding messages.|| +|**inclusionList**|[str]|InclusionList specifies a list of Golang regular expressions
to be used for including messages.|| +|**providerRef** `required`|[NotificationToolkitFluxcdIoV1beta3AlertSpecProviderRef](#notificationtoolkitfluxcdiov1beta3alertspecproviderref)|provider ref|| +|**summary**|str|Summary holds a short description of the impact and affected cluster.|| +|**suspend**|bool|Suspend tells the controller to suspend subsequent
events handling for this Alert.|| +### NotificationToolkitFluxcdIoV1beta3AlertSpecEventSourcesItems0 + +CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|API version of the referent|| +|**kind** `required`|"Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository"|Kind of the referent|| +|**matchLabels**|{str:str}|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.
MatchLabels requires the name to be set to `*`.|| +|**name** `required`|str|Name of the referent
If multiple resources are targeted `*` may be set.|| +|**namespace**|str|Namespace of the referent|| +### NotificationToolkitFluxcdIoV1beta3AlertSpecProviderRef + +ProviderRef specifies which Provider this Alert should use. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta3ProviderSpec + +ProviderSpec defines the desired state of the Provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**address**|str|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.|| +|**certSecretRef**|[NotificationToolkitFluxcdIoV1beta3ProviderSpecCertSecretRef](#notificationtoolkitfluxcdiov1beta3providerspeccertsecretref)|cert secret ref|| +|**channel**|str|Channel specifies the destination channel where events should be posted.|| +|**interval**|str|Interval at which to reconcile the Provider with its Secret references.
Deprecated and not used in v1beta3.|| +|**proxy**|str|Proxy the HTTP/S address of the proxy server.|| +|**secretRef**|[NotificationToolkitFluxcdIoV1beta3ProviderSpecSecretRef](#notificationtoolkitfluxcdiov1beta3providerspecsecretref)|secret ref|| +|**suspend**|bool|Suspend tells the controller to suspend subsequent
events handling for this Provider.|| +|**timeout**|str|Timeout for sending alerts to the Provider.|| +|**type** `required`|"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"||| +|**username**|str|Username specifies the name under which events are posted.|| +### NotificationToolkitFluxcdIoV1beta3ProviderSpecCertSecretRef + +CertSecretRef specifies the Secret containing a PEM-encoded CA certificate (in the `ca.crt` key). Note: Support for the `caFile` key has been deprecated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### NotificationToolkitFluxcdIoV1beta3ProviderSpecSecretRef + +SecretRef specifies the Secret containing the authentication credentials for this Provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the referent.|| +### Provider + +Provider is the Schema for the providers API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"notification.toolkit.fluxcd.io/v1beta3"|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|"notification.toolkit.fluxcd.io/v1beta3"| +|**kind** `required` `readOnly`|"Provider"|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|"Provider"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[NotificationToolkitFluxcdIoV1beta3ProviderSpec](#notificationtoolkitfluxcdiov1beta3providerspec)|spec|| + diff --git a/fluxcd-notification-controller/crds/notification-controller@v1.3.0.yaml b/fluxcd-notification-controller/crds/notification-controller@v1.3.0.yaml new file mode 100644 index 00000000..e0986a22 --- /dev/null +++ b/fluxcd-notification-controller/crds/notification-controller@v1.3.0.yaml @@ -0,0 +1,1878 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: receivers.notification.toolkit.fluxcd.io +spec: + group: notification.toolkit.fluxcd.io + names: + kind: Receiver + listKind: ReceiverList + plural: receivers + singular: receiver + 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 + name: v1 + schema: + openAPIV3Schema: + description: Receiver is the Schema for the receivers 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: ReceiverSpec defines the desired state of the Receiver. + properties: + events: + description: |- + Events specifies the list of event types to handle, + e.g. 'push' for GitHub or 'Push Hook' for GitLab. + items: + type: string + type: array + interval: + default: 10m + description: Interval at which to reconcile the Receiver with its + Secret references. + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ + type: string + resources: + description: A list of resources to be notified about changes. + items: + description: |- + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + properties: + apiVersion: + description: API version of the referent + type: string + kind: + description: Kind of the referent + enum: + - Bucket + - GitRepository + - Kustomization + - HelmRelease + - HelmChart + - HelmRepository + - ImageRepository + - ImagePolicy + - ImageUpdateAutomation + - OCIRepository + type: string + 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. + MatchLabels requires the name to be set to `*`. + type: object + name: + description: |- + Name of the referent + If multiple resources are targeted `*` may be set. + maxLength: 53 + minLength: 1 + type: string + namespace: + description: Namespace of the referent + maxLength: 53 + minLength: 1 + type: string + required: + - kind + - name + type: object + type: array + secretRef: + description: |- + SecretRef specifies the Secret containing the token used + to validate the payload authenticity. + 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 receiver. + type: boolean + type: + description: |- + Type of webhook sender, used to determine + the validation procedure and payload deserialization. + enum: + - generic + - generic-hmac + - github + - gitlab + - bitbucket + - harbor + - dockerhub + - quay + - gcr + - nexus + - acr + - cdevents + type: string + required: + - resources + - secretRef + - type + type: object + status: + default: + observedGeneration: -1 + description: ReceiverStatus defines the observed state of the Receiver. + properties: + conditions: + description: Conditions holds the conditions for the Receiver. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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 observed generation of + the Receiver object. + format: int64 + type: integer + webhookPath: + description: |- + WebhookPath is the generated incoming webhook address in the format + of '/hook/sha256sum(token+name+namespace)'. + type: string + type: object + type: object + served: true + storage: true + 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 + name: v1beta1 + schema: + openAPIV3Schema: + description: Receiver is the Schema for the receivers 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: ReceiverSpec defines the desired state of Receiver + properties: + events: + description: |- + A list of events to handle, + e.g. 'push' for GitHub or 'Push Hook' for GitLab. + items: + type: string + type: array + resources: + description: A list of resources to be notified about changes. + items: + description: |- + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + properties: + apiVersion: + description: API version of the referent + type: string + kind: + description: Kind of the referent + enum: + - Bucket + - GitRepository + - Kustomization + - HelmRelease + - HelmChart + - HelmRepository + - ImageRepository + - ImagePolicy + - ImageUpdateAutomation + - OCIRepository + type: string + 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 + name: + description: Name of the referent + maxLength: 53 + minLength: 1 + type: string + namespace: + description: Namespace of the referent + maxLength: 53 + minLength: 1 + type: string + required: + - name + type: object + type: array + secretRef: + description: |- + Secret reference containing the token used + to validate the payload authenticity + 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 + type: + description: |- + Type of webhook sender, used to determine + the validation procedure and payload deserialization. + enum: + - generic + - generic-hmac + - github + - gitlab + - bitbucket + - harbor + - dockerhub + - quay + - gcr + - nexus + - acr + type: string + required: + - resources + - type + type: object + status: + default: + observedGeneration: -1 + description: ReceiverStatus defines the observed state of Receiver + properties: + conditions: + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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 observed generation. + format: int64 + type: integer + url: + description: |- + Generated webhook URL in the format + of '/hook/sha256sum(token+name+namespace)'. + type: string + 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 + name: v1beta2 + schema: + openAPIV3Schema: + description: Receiver is the Schema for the receivers 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: ReceiverSpec defines the desired state of the Receiver. + properties: + events: + description: |- + Events specifies the list of event types to handle, + e.g. 'push' for GitHub or 'Push Hook' for GitLab. + items: + type: string + type: array + interval: + description: Interval at which to reconcile the Receiver with its + Secret references. + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ + type: string + resources: + description: A list of resources to be notified about changes. + items: + description: |- + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + properties: + apiVersion: + description: API version of the referent + type: string + kind: + description: Kind of the referent + enum: + - Bucket + - GitRepository + - Kustomization + - HelmRelease + - HelmChart + - HelmRepository + - ImageRepository + - ImagePolicy + - ImageUpdateAutomation + - OCIRepository + type: string + 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. + MatchLabels requires the name to be set to `*`. + type: object + name: + description: |- + Name of the referent + If multiple resources are targeted `*` may be set. + maxLength: 53 + minLength: 1 + type: string + namespace: + description: Namespace of the referent + maxLength: 53 + minLength: 1 + type: string + required: + - kind + - name + type: object + type: array + secretRef: + description: |- + SecretRef specifies the Secret containing the token used + to validate the payload authenticity. + 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 receiver. + type: boolean + type: + description: |- + Type of webhook sender, used to determine + the validation procedure and payload deserialization. + enum: + - generic + - generic-hmac + - github + - gitlab + - bitbucket + - harbor + - dockerhub + - quay + - gcr + - nexus + - acr + type: string + required: + - resources + - type + type: object + status: + default: + observedGeneration: -1 + description: ReceiverStatus defines the observed state of the Receiver. + properties: + conditions: + description: Conditions holds the conditions for the Receiver. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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 observed generation of + the Receiver object. + format: int64 + type: integer + url: + description: |- + URL is the generated incoming webhook address in the format + of '/hook/sha256sum(token+name+namespace)'. + Deprecated: Replaced by WebhookPath. + type: string + webhookPath: + description: |- + WebhookPath is the generated incoming webhook address in the format + of '/hook/sha256sum(token+name+namespace)'. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: + - v1 + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: alerts.notification.toolkit.fluxcd.io +spec: + group: notification.toolkit.fluxcd.io + names: + kind: Alert + listKind: AlertList + plural: alerts + singular: alert + 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 + name: v1beta1 + schema: + openAPIV3Schema: + description: Alert is the Schema for the alerts 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: AlertSpec defines an alerting rule for events involving a + list of objects + properties: + eventSeverity: + default: info + description: |- + Filter events based on severity, defaults to ('info'). + If set to 'info' no events will be filtered. + enum: + - info + - error + type: string + eventSources: + description: Filter events based on the involved objects. + items: + description: |- + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + properties: + apiVersion: + description: API version of the referent + type: string + kind: + description: Kind of the referent + enum: + - Bucket + - GitRepository + - Kustomization + - HelmRelease + - HelmChart + - HelmRepository + - ImageRepository + - ImagePolicy + - ImageUpdateAutomation + - OCIRepository + type: string + 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 + name: + description: Name of the referent + maxLength: 53 + minLength: 1 + type: string + namespace: + description: Namespace of the referent + maxLength: 53 + minLength: 1 + type: string + required: + - name + type: object + type: array + exclusionList: + description: A list of Golang regular expressions to be used for excluding + messages. + items: + type: string + type: array + providerRef: + description: Send events using this provider. + properties: + name: + description: Name of the referent. + type: string + required: + - name + type: object + summary: + description: Short description of the impact and affected cluster. + type: string + suspend: + description: |- + This flag tells the controller to suspend subsequent events dispatching. + Defaults to false. + type: boolean + required: + - eventSources + - providerRef + type: object + status: + default: + observedGeneration: -1 + description: AlertStatus defines the observed state of Alert + properties: + conditions: + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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 observed 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 + name: v1beta2 + schema: + openAPIV3Schema: + description: Alert is the Schema for the alerts 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: AlertSpec defines an alerting rule for events involving a + list of objects. + properties: + eventMetadata: + additionalProperties: + type: string + description: |- + EventMetadata is an optional field for adding metadata to events dispatched by the + controller. This can be used for enhancing the context of the event. If a field + would override one already present on the original event as generated by the emitter, + then the override doesn't happen, i.e. the original value is preserved, and an info + log is printed. + type: object + eventSeverity: + default: info + description: |- + EventSeverity specifies how to filter events based on severity. + If set to 'info' no events will be filtered. + enum: + - info + - error + type: string + eventSources: + description: |- + EventSources specifies how to filter events based + on the involved object kind, name and namespace. + items: + description: |- + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + properties: + apiVersion: + description: API version of the referent + type: string + kind: + description: Kind of the referent + enum: + - Bucket + - GitRepository + - Kustomization + - HelmRelease + - HelmChart + - HelmRepository + - ImageRepository + - ImagePolicy + - ImageUpdateAutomation + - OCIRepository + type: string + 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. + MatchLabels requires the name to be set to `*`. + type: object + name: + description: |- + Name of the referent + If multiple resources are targeted `*` may be set. + maxLength: 53 + minLength: 1 + type: string + namespace: + description: Namespace of the referent + maxLength: 53 + minLength: 1 + type: string + required: + - kind + - name + type: object + type: array + exclusionList: + description: |- + ExclusionList specifies a list of Golang regular expressions + to be used for excluding messages. + items: + type: string + type: array + inclusionList: + description: |- + InclusionList specifies a list of Golang regular expressions + to be used for including messages. + items: + type: string + type: array + providerRef: + description: ProviderRef specifies which Provider this Alert should + use. + properties: + name: + description: Name of the referent. + type: string + required: + - name + type: object + summary: + description: Summary holds a short description of the impact and affected + cluster. + maxLength: 255 + type: string + suspend: + description: |- + Suspend tells the controller to suspend subsequent + events handling for this Alert. + type: boolean + required: + - eventSources + - providerRef + type: object + status: + default: + observedGeneration: -1 + description: AlertStatus defines the observed state of the Alert. + properties: + conditions: + description: Conditions holds the conditions for the Alert. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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 observed 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: Alert is the Schema for the alerts 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: AlertSpec defines an alerting rule for events involving a + list of objects. + properties: + eventMetadata: + additionalProperties: + type: string + description: |- + EventMetadata is an optional field for adding metadata to events dispatched by the + controller. This can be used for enhancing the context of the event. If a field + would override one already present on the original event as generated by the emitter, + then the override doesn't happen, i.e. the original value is preserved, and an info + log is printed. + type: object + eventSeverity: + default: info + description: |- + EventSeverity specifies how to filter events based on severity. + If set to 'info' no events will be filtered. + enum: + - info + - error + type: string + eventSources: + description: |- + EventSources specifies how to filter events based + on the involved object kind, name and namespace. + items: + description: |- + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + properties: + apiVersion: + description: API version of the referent + type: string + kind: + description: Kind of the referent + enum: + - Bucket + - GitRepository + - Kustomization + - HelmRelease + - HelmChart + - HelmRepository + - ImageRepository + - ImagePolicy + - ImageUpdateAutomation + - OCIRepository + type: string + 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. + MatchLabels requires the name to be set to `*`. + type: object + name: + description: |- + Name of the referent + If multiple resources are targeted `*` may be set. + maxLength: 53 + minLength: 1 + type: string + namespace: + description: Namespace of the referent + maxLength: 53 + minLength: 1 + type: string + required: + - kind + - name + type: object + type: array + exclusionList: + description: |- + ExclusionList specifies a list of Golang regular expressions + to be used for excluding messages. + items: + type: string + type: array + inclusionList: + description: |- + InclusionList specifies a list of Golang regular expressions + to be used for including messages. + items: + type: string + type: array + providerRef: + description: ProviderRef specifies which Provider this Alert should + use. + properties: + name: + description: Name of the referent. + type: string + required: + - name + type: object + summary: + description: Summary holds a short description of the impact and affected + cluster. + maxLength: 255 + type: string + suspend: + description: |- + Suspend tells the controller to suspend subsequent + events handling for this Alert. + type: boolean + required: + - eventSources + - providerRef + type: object + type: object + served: true + storage: true + subresources: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: + - v1beta3 + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + 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 + 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.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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 + 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). + + + 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.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + 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). + + + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: + - v1beta3 + +--- diff --git a/fluxcd-notification-controller/kcl.mod b/fluxcd-notification-controller/kcl.mod new file mode 100644 index 00000000..a1b4c205 --- /dev/null +++ b/fluxcd-notification-controller/kcl.mod @@ -0,0 +1,8 @@ +[package] +name = "fluxcd-notification-controller" +edition = "v0.9.0" +version = "v1.3.0" + +[dependencies] +k8s = "1.30" + diff --git a/fluxcd-notification-controller/kcl.mod.lock b/fluxcd-notification-controller/kcl.mod.lock new file mode 100644 index 00000000..34b8cdc2 --- /dev/null +++ b/fluxcd-notification-controller/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.k8s] + name = "k8s" + full_name = "k8s_1.30" + version = "1.30" diff --git a/fluxcd-notification-controller/v1/notification_toolkit_fluxcd_io_v1_receiver.k b/fluxcd-notification-controller/v1/notification_toolkit_fluxcd_io_v1_receiver.k new file mode 100644 index 00000000..3dc22f1e --- /dev/null +++ b/fluxcd-notification-controller/v1/notification_toolkit_fluxcd_io_v1_receiver.k @@ -0,0 +1,238 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Receiver: + """ + Receiver is the Schema for the receivers API. + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1", required + 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 + kind : str, default is "Receiver", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1ReceiverSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1ReceiverStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1" = "notification.toolkit.fluxcd.io/v1" + + kind: "Receiver" = "Receiver" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1ReceiverSpec + + status?: NotificationToolkitFluxcdIoV1ReceiverStatus + + +schema NotificationToolkitFluxcdIoV1ReceiverSpec: + """ + ReceiverSpec defines the desired state of the Receiver. + + Attributes + ---------- + events : [str], default is Undefined, optional + Events specifies the list of event types to handle, + e.g. 'push' for GitHub or 'Push Hook' for GitLab. + interval : str, default is "10m", optional + Interval at which to reconcile the Receiver with its Secret references. + resources : [NotificationToolkitFluxcdIoV1ReceiverSpecResourcesItems0], default is Undefined, required + A list of resources to be notified about changes. + secretRef : NotificationToolkitFluxcdIoV1ReceiverSpecSecretRef, default is Undefined, required + secret ref + suspend : bool, default is Undefined, optional + Suspend tells the controller to suspend subsequent + events handling for this receiver. + $type : str, default is Undefined, required + Type of webhook sender, used to determine + the validation procedure and payload deserialization. + """ + + + events?: [str] + + interval?: str = "10m" + + resources: [NotificationToolkitFluxcdIoV1ReceiverSpecResourcesItems0] + + secretRef: NotificationToolkitFluxcdIoV1ReceiverSpecSecretRef + + suspend?: bool + + $type: "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr" | "cdevents" + + + check: + _regex_match(str(interval), r"^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$") if interval + + +schema NotificationToolkitFluxcdIoV1ReceiverSpecResourcesItems0: + """ + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + API version of the referent + kind : str, default is Undefined, required + Kind of the referent + matchLabels : {str:str}, default is Undefined, optional + 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. + MatchLabels requires the name to be set to `*`. + name : str, default is Undefined, required + Name of the referent + If multiple resources are targeted `*` may be set. + namespace : str, default is Undefined, optional + Namespace of the referent + """ + + + apiVersion?: str + + kind: "Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository" + + matchLabels?: {str:str} + + name: str + + namespace?: str + + + check: + len(name) <= 53 + len(name) >= 1 + len(namespace) <= 53 if namespace + len(namespace) >= 1 if namespace + + +schema NotificationToolkitFluxcdIoV1ReceiverSpecSecretRef: + """ + SecretRef specifies the Secret containing the token used + to validate the payload authenticity. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1ReceiverStatus: + """ + ReceiverStatus defines the observed state of the Receiver. + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1ReceiverStatusConditionsItems0], default is Undefined, optional + Conditions holds the conditions for the Receiver. + lastHandledReconcileAt : str, default is Undefined, optional + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last observed generation of the Receiver object. + webhookPath : str, default is Undefined, optional + WebhookPath is the generated incoming webhook address in the format + of '/hook/sha256sum(token+name+namespace)'. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1ReceiverStatusConditionsItems0] + + lastHandledReconcileAt?: str + + observedGeneration?: int + + webhookPath?: str + + +schema NotificationToolkitFluxcdIoV1ReceiverStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_alert.k b/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_alert.k new file mode 100644 index 00000000..aa9e11c4 --- /dev/null +++ b/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_alert.k @@ -0,0 +1,219 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Alert: + """ + Alert is the Schema for the alerts API + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta1", required + 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 + kind : str, default is "Alert", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta1AlertSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1beta1AlertStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta1" = "notification.toolkit.fluxcd.io/v1beta1" + + kind: "Alert" = "Alert" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta1AlertSpec + + status?: NotificationToolkitFluxcdIoV1beta1AlertStatus + + +schema NotificationToolkitFluxcdIoV1beta1AlertSpec: + """ + AlertSpec defines an alerting rule for events involving a list of objects + + Attributes + ---------- + eventSeverity : str, default is "info", optional + Filter events based on severity, defaults to ('info'). + If set to 'info' no events will be filtered. + eventSources : [NotificationToolkitFluxcdIoV1beta1AlertSpecEventSourcesItems0], default is Undefined, required + Filter events based on the involved objects. + exclusionList : [str], default is Undefined, optional + A list of Golang regular expressions to be used for excluding messages. + providerRef : NotificationToolkitFluxcdIoV1beta1AlertSpecProviderRef, default is Undefined, required + provider ref + summary : str, default is Undefined, optional + Short description of the impact and affected cluster. + suspend : bool, default is Undefined, optional + This flag tells the controller to suspend subsequent events dispatching. + Defaults to false. + """ + + + eventSeverity?: "info" | "error" = "info" + + eventSources: [NotificationToolkitFluxcdIoV1beta1AlertSpecEventSourcesItems0] + + exclusionList?: [str] + + providerRef: NotificationToolkitFluxcdIoV1beta1AlertSpecProviderRef + + summary?: str + + suspend?: bool + + +schema NotificationToolkitFluxcdIoV1beta1AlertSpecEventSourcesItems0: + """ + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + API version of the referent + kind : str, default is Undefined, optional + Kind of the referent + matchLabels : {str:str}, default is Undefined, optional + 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. + name : str, default is Undefined, required + Name of the referent + namespace : str, default is Undefined, optional + Namespace of the referent + """ + + + apiVersion?: str + + kind?: "Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository" + + matchLabels?: {str:str} + + name: str + + namespace?: str + + + check: + len(name) <= 53 + len(name) >= 1 + len(namespace) <= 53 if namespace + len(namespace) >= 1 if namespace + + +schema NotificationToolkitFluxcdIoV1beta1AlertSpecProviderRef: + """ + Send events using this provider. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta1AlertStatus: + """ + AlertStatus defines the observed state of Alert + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1beta1AlertStatusConditionsItems0], default is Undefined, optional + conditions + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last observed generation. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1beta1AlertStatusConditionsItems0] + + observedGeneration?: int + + +schema NotificationToolkitFluxcdIoV1beta1AlertStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_provider.k b/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_provider.k new file mode 100644 index 00000000..7bb801f3 --- /dev/null +++ b/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_provider.k @@ -0,0 +1,212 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Provider: + """ + Provider is the Schema for the providers API + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta1", required + 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 + kind : str, default is "Provider", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta1ProviderSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1beta1ProviderStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta1" = "notification.toolkit.fluxcd.io/v1beta1" + + kind: "Provider" = "Provider" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta1ProviderSpec + + status?: NotificationToolkitFluxcdIoV1beta1ProviderStatus + + +schema NotificationToolkitFluxcdIoV1beta1ProviderSpec: + """ + ProviderSpec defines the desired state of Provider + + Attributes + ---------- + address : str, default is Undefined, optional + HTTP/S webhook address of this provider + certSecretRef : NotificationToolkitFluxcdIoV1beta1ProviderSpecCertSecretRef, default is Undefined, optional + cert secret ref + channel : str, default is Undefined, optional + Alert channel for this provider + proxy : str, default is Undefined, optional + HTTP/S address of the proxy + secretRef : NotificationToolkitFluxcdIoV1beta1ProviderSpecSecretRef, default is Undefined, optional + secret ref + suspend : bool, default is Undefined, optional + This flag tells the controller to suspend subsequent events handling. + Defaults to false. + timeout : str, default is Undefined, optional + Timeout for sending alerts to the provider. + $type : str, default is Undefined, required + Type of provider + username : str, default is Undefined, optional + Bot username for this provider + """ + + + address?: str + + certSecretRef?: NotificationToolkitFluxcdIoV1beta1ProviderSpecCertSecretRef + + channel?: str + + proxy?: str + + secretRef?: NotificationToolkitFluxcdIoV1beta1ProviderSpecSecretRef + + suspend?: bool + + timeout?: str + + $type: "slack" | "discord" | "msteams" | "rocket" | "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" + + username?: str + + + check: + _regex_match(str(address), r"^(http|https)://") if address + _regex_match(str(proxy), r"^(http|https)://") if proxy + _regex_match(str(timeout), r"^([0-9]+(\.[0-9]+)?(ms|s|m))+$") if timeout + + +schema NotificationToolkitFluxcdIoV1beta1ProviderSpecCertSecretRef: + """ + CertSecretRef can be given the name of a secret containing + a PEM-encoded CA certificate (`caFile`) + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta1ProviderSpecSecretRef: + """ + Secret reference containing the provider webhook URL + using "address" as data key + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta1ProviderStatus: + """ + ProviderStatus defines the observed state of Provider + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1beta1ProviderStatusConditionsItems0], default is Undefined, optional + conditions + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last reconciled generation. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1beta1ProviderStatusConditionsItems0] + + observedGeneration?: int + + +schema NotificationToolkitFluxcdIoV1beta1ProviderStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_receiver.k b/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_receiver.k new file mode 100644 index 00000000..febed9dd --- /dev/null +++ b/fluxcd-notification-controller/v1beta1/notification_toolkit_fluxcd_io_v1beta1_receiver.k @@ -0,0 +1,222 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Receiver: + """ + Receiver is the Schema for the receivers API + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta1", required + 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 + kind : str, default is "Receiver", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta1ReceiverSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1beta1ReceiverStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta1" = "notification.toolkit.fluxcd.io/v1beta1" + + kind: "Receiver" = "Receiver" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta1ReceiverSpec + + status?: NotificationToolkitFluxcdIoV1beta1ReceiverStatus + + +schema NotificationToolkitFluxcdIoV1beta1ReceiverSpec: + """ + ReceiverSpec defines the desired state of Receiver + + Attributes + ---------- + events : [str], default is Undefined, optional + A list of events to handle, + e.g. 'push' for GitHub or 'Push Hook' for GitLab. + resources : [NotificationToolkitFluxcdIoV1beta1ReceiverSpecResourcesItems0], default is Undefined, required + A list of resources to be notified about changes. + secretRef : NotificationToolkitFluxcdIoV1beta1ReceiverSpecSecretRef, default is Undefined, optional + secret ref + suspend : bool, default is Undefined, optional + This flag tells the controller to suspend subsequent events handling. + Defaults to false. + $type : str, default is Undefined, required + Type of webhook sender, used to determine + the validation procedure and payload deserialization. + """ + + + events?: [str] + + resources: [NotificationToolkitFluxcdIoV1beta1ReceiverSpecResourcesItems0] + + secretRef?: NotificationToolkitFluxcdIoV1beta1ReceiverSpecSecretRef + + suspend?: bool + + $type: "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr" + + +schema NotificationToolkitFluxcdIoV1beta1ReceiverSpecResourcesItems0: + """ + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + API version of the referent + kind : str, default is Undefined, optional + Kind of the referent + matchLabels : {str:str}, default is Undefined, optional + 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. + name : str, default is Undefined, required + Name of the referent + namespace : str, default is Undefined, optional + Namespace of the referent + """ + + + apiVersion?: str + + kind?: "Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository" + + matchLabels?: {str:str} + + name: str + + namespace?: str + + + check: + len(name) <= 53 + len(name) >= 1 + len(namespace) <= 53 if namespace + len(namespace) >= 1 if namespace + + +schema NotificationToolkitFluxcdIoV1beta1ReceiverSpecSecretRef: + """ + Secret reference containing the token used + to validate the payload authenticity + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta1ReceiverStatus: + """ + ReceiverStatus defines the observed state of Receiver + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1beta1ReceiverStatusConditionsItems0], default is Undefined, optional + conditions + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last observed generation. + url : str, default is Undefined, optional + Generated webhook URL in the format + of '/hook/sha256sum(token+name+namespace)'. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1beta1ReceiverStatusConditionsItems0] + + observedGeneration?: int + + url?: str + + +schema NotificationToolkitFluxcdIoV1beta1ReceiverStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_alert.k b/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_alert.k new file mode 100644 index 00000000..e4e275a4 --- /dev/null +++ b/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_alert.k @@ -0,0 +1,246 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Alert: + """ + Alert is the Schema for the alerts API + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta2", required + 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 + kind : str, default is "Alert", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta2AlertSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1beta2AlertStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta2" = "notification.toolkit.fluxcd.io/v1beta2" + + kind: "Alert" = "Alert" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta2AlertSpec + + status?: NotificationToolkitFluxcdIoV1beta2AlertStatus + + +schema NotificationToolkitFluxcdIoV1beta2AlertSpec: + """ + AlertSpec defines an alerting rule for events involving a list of objects. + + Attributes + ---------- + eventMetadata : {str:str}, default is Undefined, optional + EventMetadata is an optional field for adding metadata to events dispatched by the + controller. This can be used for enhancing the context of the event. If a field + would override one already present on the original event as generated by the emitter, + then the override doesn't happen, i.e. the original value is preserved, and an info + log is printed. + eventSeverity : str, default is "info", optional + EventSeverity specifies how to filter events based on severity. + If set to 'info' no events will be filtered. + eventSources : [NotificationToolkitFluxcdIoV1beta2AlertSpecEventSourcesItems0], default is Undefined, required + EventSources specifies how to filter events based + on the involved object kind, name and namespace. + exclusionList : [str], default is Undefined, optional + ExclusionList specifies a list of Golang regular expressions + to be used for excluding messages. + inclusionList : [str], default is Undefined, optional + InclusionList specifies a list of Golang regular expressions + to be used for including messages. + providerRef : NotificationToolkitFluxcdIoV1beta2AlertSpecProviderRef, default is Undefined, required + provider ref + summary : str, default is Undefined, optional + Summary holds a short description of the impact and affected cluster. + suspend : bool, default is Undefined, optional + Suspend tells the controller to suspend subsequent + events handling for this Alert. + """ + + + eventMetadata?: {str:str} + + eventSeverity?: "info" | "error" = "info" + + eventSources: [NotificationToolkitFluxcdIoV1beta2AlertSpecEventSourcesItems0] + + exclusionList?: [str] + + inclusionList?: [str] + + providerRef: NotificationToolkitFluxcdIoV1beta2AlertSpecProviderRef + + summary?: str + + suspend?: bool + + + check: + len(summary) <= 255 if summary + + +schema NotificationToolkitFluxcdIoV1beta2AlertSpecEventSourcesItems0: + """ + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + API version of the referent + kind : str, default is Undefined, required + Kind of the referent + matchLabels : {str:str}, default is Undefined, optional + 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. + MatchLabels requires the name to be set to `*`. + name : str, default is Undefined, required + Name of the referent + If multiple resources are targeted `*` may be set. + namespace : str, default is Undefined, optional + Namespace of the referent + """ + + + apiVersion?: str + + kind: "Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository" + + matchLabels?: {str:str} + + name: str + + namespace?: str + + + check: + len(name) <= 53 + len(name) >= 1 + len(namespace) <= 53 if namespace + len(namespace) >= 1 if namespace + + +schema NotificationToolkitFluxcdIoV1beta2AlertSpecProviderRef: + """ + ProviderRef specifies which Provider this Alert should use. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta2AlertStatus: + """ + AlertStatus defines the observed state of the Alert. + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1beta2AlertStatusConditionsItems0], default is Undefined, optional + Conditions holds the conditions for the Alert. + lastHandledReconcileAt : str, default is Undefined, optional + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last observed generation. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1beta2AlertStatusConditionsItems0] + + lastHandledReconcileAt?: str + + observedGeneration?: int + + +schema NotificationToolkitFluxcdIoV1beta2AlertStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_provider.k b/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_provider.k new file mode 100644 index 00000000..40c309a8 --- /dev/null +++ b/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_provider.k @@ -0,0 +1,233 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Provider: + """ + Provider is the Schema for the providers API. + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta2", required + 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 + kind : str, default is "Provider", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta2ProviderSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1beta2ProviderStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta2" = "notification.toolkit.fluxcd.io/v1beta2" + + kind: "Provider" = "Provider" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta2ProviderSpec + + status?: NotificationToolkitFluxcdIoV1beta2ProviderStatus + + +schema NotificationToolkitFluxcdIoV1beta2ProviderSpec: + """ + ProviderSpec defines the desired state of the Provider. + + Attributes + ---------- + address : str, default is Undefined, optional + 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. + certSecretRef : NotificationToolkitFluxcdIoV1beta2ProviderSpecCertSecretRef, default is Undefined, optional + cert secret ref + channel : str, default is Undefined, optional + Channel specifies the destination channel where events should be posted. + interval : str, default is Undefined, optional + Interval at which to reconcile the Provider with its Secret references. + proxy : str, default is Undefined, optional + Proxy the HTTP/S address of the proxy server. + secretRef : NotificationToolkitFluxcdIoV1beta2ProviderSpecSecretRef, default is Undefined, optional + secret ref + suspend : bool, default is Undefined, optional + Suspend tells the controller to suspend subsequent + events handling for this Provider. + timeout : str, default is Undefined, optional + Timeout for sending alerts to the Provider. + $type : str, default is Undefined, required + Type specifies which Provider implementation to use. + username : str, default is Undefined, optional + Username specifies the name under which events are posted. + """ + + + address?: str + + certSecretRef?: NotificationToolkitFluxcdIoV1beta2ProviderSpecCertSecretRef + + channel?: str + + interval?: str + + proxy?: str + + secretRef?: NotificationToolkitFluxcdIoV1beta2ProviderSpecSecretRef + + suspend?: bool + + timeout?: str + + $type: "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" + + username?: str + + + check: + len(address) <= 2048 if address + len(channel) <= 2048 if channel + _regex_match(str(interval), r"^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$") if interval + len(proxy) <= 2048 if proxy + _regex_match(str(proxy), r"^(http|https)://.*$") if proxy + _regex_match(str(timeout), r"^([0-9]+(\.[0-9]+)?(ms|s|m))+$") if timeout + len(username) <= 2048 if username + + +schema NotificationToolkitFluxcdIoV1beta2ProviderSpecCertSecretRef: + """ + CertSecretRef specifies the Secret containing + a PEM-encoded CA certificate (in the `ca.crt` key). + + + Note: Support for the `caFile` key has + been deprecated. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta2ProviderSpecSecretRef: + """ + SecretRef specifies the Secret containing the authentication + credentials for this Provider. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta2ProviderStatus: + """ + ProviderStatus defines the observed state of the Provider. + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1beta2ProviderStatusConditionsItems0], default is Undefined, optional + Conditions holds the conditions for the Provider. + lastHandledReconcileAt : str, default is Undefined, optional + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last reconciled generation. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1beta2ProviderStatusConditionsItems0] + + lastHandledReconcileAt?: str + + observedGeneration?: int + + +schema NotificationToolkitFluxcdIoV1beta2ProviderStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_receiver.k b/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_receiver.k new file mode 100644 index 00000000..608be11b --- /dev/null +++ b/fluxcd-notification-controller/v1beta2/notification_toolkit_fluxcd_io_v1beta2_receiver.k @@ -0,0 +1,244 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Receiver: + """ + Receiver is the Schema for the receivers API. + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta2", required + 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 + kind : str, default is "Receiver", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta2ReceiverSpec, default is Undefined, optional + spec + status : NotificationToolkitFluxcdIoV1beta2ReceiverStatus, default is Undefined, optional + status + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta2" = "notification.toolkit.fluxcd.io/v1beta2" + + kind: "Receiver" = "Receiver" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta2ReceiverSpec + + status?: NotificationToolkitFluxcdIoV1beta2ReceiverStatus + + +schema NotificationToolkitFluxcdIoV1beta2ReceiverSpec: + """ + ReceiverSpec defines the desired state of the Receiver. + + Attributes + ---------- + events : [str], default is Undefined, optional + Events specifies the list of event types to handle, + e.g. 'push' for GitHub or 'Push Hook' for GitLab. + interval : str, default is Undefined, optional + Interval at which to reconcile the Receiver with its Secret references. + resources : [NotificationToolkitFluxcdIoV1beta2ReceiverSpecResourcesItems0], default is Undefined, required + A list of resources to be notified about changes. + secretRef : NotificationToolkitFluxcdIoV1beta2ReceiverSpecSecretRef, default is Undefined, optional + secret ref + suspend : bool, default is Undefined, optional + Suspend tells the controller to suspend subsequent + events handling for this receiver. + $type : str, default is Undefined, required + Type of webhook sender, used to determine + the validation procedure and payload deserialization. + """ + + + events?: [str] + + interval?: str + + resources: [NotificationToolkitFluxcdIoV1beta2ReceiverSpecResourcesItems0] + + secretRef?: NotificationToolkitFluxcdIoV1beta2ReceiverSpecSecretRef + + suspend?: bool + + $type: "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr" + + + check: + _regex_match(str(interval), r"^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$") if interval + + +schema NotificationToolkitFluxcdIoV1beta2ReceiverSpecResourcesItems0: + """ + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + API version of the referent + kind : str, default is Undefined, required + Kind of the referent + matchLabels : {str:str}, default is Undefined, optional + 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. + MatchLabels requires the name to be set to `*`. + name : str, default is Undefined, required + Name of the referent + If multiple resources are targeted `*` may be set. + namespace : str, default is Undefined, optional + Namespace of the referent + """ + + + apiVersion?: str + + kind: "Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository" + + matchLabels?: {str:str} + + name: str + + namespace?: str + + + check: + len(name) <= 53 + len(name) >= 1 + len(namespace) <= 53 if namespace + len(namespace) >= 1 if namespace + + +schema NotificationToolkitFluxcdIoV1beta2ReceiverSpecSecretRef: + """ + SecretRef specifies the Secret containing the token used + to validate the payload authenticity. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta2ReceiverStatus: + """ + ReceiverStatus defines the observed state of the Receiver. + + Attributes + ---------- + conditions : [NotificationToolkitFluxcdIoV1beta2ReceiverStatusConditionsItems0], default is Undefined, optional + Conditions holds the conditions for the Receiver. + lastHandledReconcileAt : str, default is Undefined, optional + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. + observedGeneration : int, default is Undefined, optional + ObservedGeneration is the last observed generation of the Receiver object. + url : str, default is Undefined, optional + URL is the generated incoming webhook address in the format + of '/hook/sha256sum(token+name+namespace)'. + Deprecated: Replaced by WebhookPath. + webhookPath : str, default is Undefined, optional + WebhookPath is the generated incoming webhook address in the format + of '/hook/sha256sum(token+name+namespace)'. + """ + + + conditions?: [NotificationToolkitFluxcdIoV1beta2ReceiverStatusConditionsItems0] + + lastHandledReconcileAt?: str + + observedGeneration?: int + + url?: str + + webhookPath?: str + + +schema NotificationToolkitFluxcdIoV1beta2ReceiverStatusConditionsItems0: + """ + 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, + + + 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"` + + + // other fields + } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + 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. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. + This may be an empty string. + observedGeneration : int, default is Undefined, optional + 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. + reason : str, default is Undefined, required + 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. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + 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) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 if observedGeneration not in [None, Undefined] + len(reason) <= 1024 + len(reason) >= 1 + _regex_match(str(reason), r"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + _regex_match(str($type), r"^([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])$") + + diff --git a/fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_alert.k b/fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_alert.k new file mode 100644 index 00000000..19c828e5 --- /dev/null +++ b/fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_alert.k @@ -0,0 +1,144 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema Alert: + """ + Alert is the Schema for the alerts API + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta3", required + 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 + kind : str, default is "Alert", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta3AlertSpec, default is Undefined, optional + spec + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta3" = "notification.toolkit.fluxcd.io/v1beta3" + + kind: "Alert" = "Alert" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta3AlertSpec + + +schema NotificationToolkitFluxcdIoV1beta3AlertSpec: + """ + AlertSpec defines an alerting rule for events involving a list of objects. + + Attributes + ---------- + eventMetadata : {str:str}, default is Undefined, optional + EventMetadata is an optional field for adding metadata to events dispatched by the + controller. This can be used for enhancing the context of the event. If a field + would override one already present on the original event as generated by the emitter, + then the override doesn't happen, i.e. the original value is preserved, and an info + log is printed. + eventSeverity : str, default is "info", optional + EventSeverity specifies how to filter events based on severity. + If set to 'info' no events will be filtered. + eventSources : [NotificationToolkitFluxcdIoV1beta3AlertSpecEventSourcesItems0], default is Undefined, required + EventSources specifies how to filter events based + on the involved object kind, name and namespace. + exclusionList : [str], default is Undefined, optional + ExclusionList specifies a list of Golang regular expressions + to be used for excluding messages. + inclusionList : [str], default is Undefined, optional + InclusionList specifies a list of Golang regular expressions + to be used for including messages. + providerRef : NotificationToolkitFluxcdIoV1beta3AlertSpecProviderRef, default is Undefined, required + provider ref + summary : str, default is Undefined, optional + Summary holds a short description of the impact and affected cluster. + suspend : bool, default is Undefined, optional + Suspend tells the controller to suspend subsequent + events handling for this Alert. + """ + + + eventMetadata?: {str:str} + + eventSeverity?: "info" | "error" = "info" + + eventSources: [NotificationToolkitFluxcdIoV1beta3AlertSpecEventSourcesItems0] + + exclusionList?: [str] + + inclusionList?: [str] + + providerRef: NotificationToolkitFluxcdIoV1beta3AlertSpecProviderRef + + summary?: str + + suspend?: bool + + + check: + len(summary) <= 255 if summary + + +schema NotificationToolkitFluxcdIoV1beta3AlertSpecEventSourcesItems0: + """ + CrossNamespaceObjectReference contains enough information to let you locate the + typed referenced object at cluster level + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + API version of the referent + kind : str, default is Undefined, required + Kind of the referent + matchLabels : {str:str}, default is Undefined, optional + 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. + MatchLabels requires the name to be set to `*`. + name : str, default is Undefined, required + Name of the referent + If multiple resources are targeted `*` may be set. + namespace : str, default is Undefined, optional + Namespace of the referent + """ + + + apiVersion?: str + + kind: "Bucket" | "GitRepository" | "Kustomization" | "HelmRelease" | "HelmChart" | "HelmRepository" | "ImageRepository" | "ImagePolicy" | "ImageUpdateAutomation" | "OCIRepository" + + matchLabels?: {str:str} + + name: str + + namespace?: str + + + check: + len(name) <= 53 + len(name) >= 1 + len(namespace) <= 53 if namespace + len(namespace) >= 1 if namespace + + +schema NotificationToolkitFluxcdIoV1beta3AlertSpecProviderRef: + """ + ProviderRef specifies which Provider this Alert should use. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + diff --git a/fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_provider.k b/fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_provider.k new file mode 100644 index 00000000..7e40adfb --- /dev/null +++ b/fluxcd-notification-controller/v1beta3/notification_toolkit_fluxcd_io_v1beta3_provider.k @@ -0,0 +1,134 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 +_regex_match = regex.match + + +schema Provider: + """ + Provider is the Schema for the providers API + + Attributes + ---------- + apiVersion : str, default is "notification.toolkit.fluxcd.io/v1beta3", required + 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 + kind : str, default is "Provider", required + 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 + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : NotificationToolkitFluxcdIoV1beta3ProviderSpec, default is Undefined, optional + spec + """ + + + apiVersion: "notification.toolkit.fluxcd.io/v1beta3" = "notification.toolkit.fluxcd.io/v1beta3" + + kind: "Provider" = "Provider" + + metadata?: v1.ObjectMeta + + spec?: NotificationToolkitFluxcdIoV1beta3ProviderSpec + + +schema NotificationToolkitFluxcdIoV1beta3ProviderSpec: + """ + ProviderSpec defines the desired state of the Provider. + + Attributes + ---------- + address : str, default is Undefined, optional + 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. + certSecretRef : NotificationToolkitFluxcdIoV1beta3ProviderSpecCertSecretRef, default is Undefined, optional + cert secret ref + channel : str, default is Undefined, optional + Channel specifies the destination channel where events should be posted. + interval : str, default is Undefined, optional + Interval at which to reconcile the Provider with its Secret references. + Deprecated and not used in v1beta3. + proxy : str, default is Undefined, optional + Proxy the HTTP/S address of the proxy server. + secretRef : NotificationToolkitFluxcdIoV1beta3ProviderSpecSecretRef, default is Undefined, optional + secret ref + suspend : bool, default is Undefined, optional + Suspend tells the controller to suspend subsequent + events handling for this Provider. + timeout : str, default is Undefined, optional + Timeout for sending alerts to the Provider. + $type : str, default is Undefined, required + Type specifies which Provider implementation to use. + username : str, default is Undefined, optional + Username specifies the name under which events are posted. + """ + + + address?: str + + certSecretRef?: NotificationToolkitFluxcdIoV1beta3ProviderSpecCertSecretRef + + channel?: str + + interval?: str + + proxy?: str + + secretRef?: NotificationToolkitFluxcdIoV1beta3ProviderSpecSecretRef + + suspend?: bool + + timeout?: str + + $type: "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" + + username?: str + + + check: + len(address) <= 2048 if address + len(channel) <= 2048 if channel + _regex_match(str(interval), r"^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$") if interval + len(proxy) <= 2048 if proxy + _regex_match(str(proxy), r"^(http|https)://.*$") if proxy + _regex_match(str(timeout), r"^([0-9]+(\.[0-9]+)?(ms|s|m))+$") if timeout + len(username) <= 2048 if username + + +schema NotificationToolkitFluxcdIoV1beta3ProviderSpecCertSecretRef: + """ + CertSecretRef specifies the Secret containing + a PEM-encoded CA certificate (in the `ca.crt` key). + + + Note: Support for the `caFile` key has + been deprecated. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + + +schema NotificationToolkitFluxcdIoV1beta3ProviderSpecSecretRef: + """ + SecretRef specifies the Secret containing the authentication + credentials for this Provider. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the referent. + """ + + + name: str + +