Notification API reference v1

The GitOps Toolkit Custom Resource Definitions documentation.

Packages:

notification.toolkit.fluxcd.io/v1

Package v1 contains API Schema definitions for the notification v1 API group.

Resource Types:

Alert

Alert is the Schema for the alerts API

FieldDescription
apiVersion
string
notification.toolkit.fluxcd.io/v1
kind
string
Alert
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
AlertSpec


providerRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference

ProviderRef specifies which Provider this Alert should use.

eventSeverity
string
(Optional)

EventSeverity specifies how to filter events based on severity. If set to ‘info’ no events will be filtered.

eventSources
[]CrossNamespaceObjectReference

EventSources specifies how to filter events based on the involved object kind, name and namespace.

inclusionList
[]string
(Optional)

InclusionList specifies a list of Golang regular expressions to be used for including messages.

eventMetadata
map[string]string
(Optional)

EventMetadata adds metadata to events. Sources, from lowest to highest precedence: event.toolkit.fluxcd.io/ annotations on the involved object, Alert .spec.eventMetadata, and controller-defined <controller group>.toolkit.fluxcd.io/ event metadata. Higher precedence wins; conflicts produce an info log and a Warning Event. See the Alert API docs (Event metadata section).

exclusionList
[]string
(Optional)

ExclusionList specifies a list of Golang regular expressions to be used for excluding messages.

suspend
bool
(Optional)

Suspend tells the controller to suspend subsequent events handling for this Alert.

Provider

Provider is the Schema for the providers API

FieldDescription
apiVersion
string
notification.toolkit.fluxcd.io/v1
kind
string
Provider
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ProviderSpec


type
string

Type specifies which Provider implementation to use.

channel
string
(Optional)

Channel specifies the destination channel where events should be posted.

username
string
(Optional)

Username specifies the name under which events are posted.

address
string
(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.

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout for sending alerts to the Provider.

proxySecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

ProxySecretRef specifies the Secret containing the proxy configuration for this Provider. The Secret should contain an ‘address’ key with the HTTP/S address of the proxy server. Optional ‘username’ and ‘password’ keys can be provided for proxy authentication.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing the authentication credentials for this Provider.

serviceAccountName
string
(Optional)

ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate with cloud provider services through object identity. This enables multi-tenant authentication without storing static credentials.

Supported provider types: azureeventhub, azuredevops, googlepubsub

When specified, the controller will: 1. Create an OIDC token for the specified ServiceAccount 2. Exchange it for cloud provider credentials via STS 3. Use the obtained credentials for API authentication

When unspecified, the controller’s workload identity is used (single-tenant).

An error is thrown if static credentials are also defined in SecretRef.

certSecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

CertSecretRef specifies the Secret containing TLS certificates for secure communication.

Supported configurations: - CA-only: Server authentication (provide ca.crt only) - mTLS: Mutual authentication (provide ca.crt + tls.crt + tls.key) - Client-only: Client authentication with system CA (provide tls.crt + tls.key only)

Legacy keys “caFile”, “certFile”, “keyFile” are supported but deprecated. Use “ca.crt”, “tls.crt”, “tls.key” instead.

suspend
bool
(Optional)

Suspend tells the controller to suspend subsequent events handling for this Provider.

commitStatusExpr
string
(Optional)

CommitStatusExpr is a CEL expression that evaluates to a string value that can be used to generate a custom commit status message for use with eligible Provider types (github, gitlab, gitea, bitbucketserver, bitbucket, azuredevops). Supported variables are: event, provider, and alert.

Receiver

Receiver is the Schema for the receivers API.

FieldDescription
apiVersion
string
notification.toolkit.fluxcd.io/v1
kind
string
Receiver
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
ReceiverSpec


type
string

Type of webhook sender, used to determine the validation procedure and payload deserialization.

interval
Kubernetes meta/v1.Duration
(Optional)

Interval at which to reconcile the Receiver with its Secret references.

events
[]string
(Optional)

Events specifies the list of event types to handle, e.g. ‘push’ for GitHub or ‘Push Hook’ for GitLab.

resources
[]ReceiverResource

A list of resources to be notified about changes.

resourceFilter
string
(Optional)

ResourceFilter is a CEL expression expected to return a boolean that is evaluated for each resource referenced in the Resources field when a webhook is received. If the expression returns false then the controller will not request a reconciliation for the resource. The expression can read the resource metadata via ‘res’ and the webhook request body via ‘req’. For generic-oidc receivers, the verified OIDC token claims are also available via ‘claims’. When the expression is specified the controller will parse it and mark the object as terminally failed if the expression is invalid or does not return a boolean.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing the token used to validate the payload authenticity. The Secret must contain a ‘token’ key. For GCR receivers, the Secret must also contain an ‘email’ key with the IAM service account email configured on the Pub/Sub push subscription, and an ‘audience’ key with the expected OIDC token audience.

Required for all receiver types except ‘generic-oidc’, which authenticates requests using the OIDC token instead and must not set this field.

oidcProviders
[]OIDCProvider
(Optional)

OIDCProviders specifies the OIDC providers used to authenticate incoming requests when Type is ‘generic-oidc’. The provider whose IssuerURL matches the token’s ‘iss’ claim is used to verify the token signature, expiration and audience, and to evaluate the configured CEL validations against the token claims.

suspend
bool
(Optional)

Suspend tells the controller to suspend subsequent events handling for this receiver.

status
ReceiverStatus

AlertSpec

(Appears on: Alert)

AlertSpec defines an alerting rule for events involving a list of objects.

FieldDescription
providerRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference

ProviderRef specifies which Provider this Alert should use.

eventSeverity
string
(Optional)

EventSeverity specifies how to filter events based on severity. If set to ‘info’ no events will be filtered.

eventSources
[]CrossNamespaceObjectReference

EventSources specifies how to filter events based on the involved object kind, name and namespace.

inclusionList
[]string
(Optional)

InclusionList specifies a list of Golang regular expressions to be used for including messages.

eventMetadata
map[string]string
(Optional)

EventMetadata adds metadata to events. Sources, from lowest to highest precedence: event.toolkit.fluxcd.io/ annotations on the involved object, Alert .spec.eventMetadata, and controller-defined <controller group>.toolkit.fluxcd.io/ event metadata. Higher precedence wins; conflicts produce an info log and a Warning Event. See the Alert API docs (Event metadata section).

exclusionList
[]string
(Optional)

ExclusionList specifies a list of Golang regular expressions to be used for excluding messages.

suspend
bool
(Optional)

Suspend tells the controller to suspend subsequent events handling for this Alert.

CrossNamespaceObjectReference

(Appears on: AlertSpec, ReceiverResource)

CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level

FieldDescription
apiVersion
string
(Optional)

API version of the referent

kind
string

Kind of the referent

name
string

Name of the referent If multiple resources are targeted * may be set.

namespace
string
(Optional)

Namespace of the referent

matchLabels
map[string]string
(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 *.

OIDCProvider

(Appears on: ReceiverSpec)

OIDCProvider configures an OIDC issuer used to authenticate requests for a ‘generic-oidc’ Receiver.

FieldDescription
issuerURL
string

IssuerURL is the OIDC issuer URL used for provider discovery. It must match the ‘iss’ claim of tokens issued by this provider.

audience
string
(Optional)

Audience is the expected audience (‘aud’ claim) for tokens issued by this provider. Defaults to ‘notification-controller’.

variables
[]OIDCVariable
(Optional)

Variables is an optional list of named CEL expressions, evaluated in order and exposed as ‘vars.’. Each expression can read the token claims via ‘claims’ and any variable defined before it. Use it to share sub-expressions across validations.

validations
[]OIDCValidation

Validations is the list of CEL boolean expressions evaluated against the token claims and the variables. The request is accepted only if all of them evaluate to true; the message of each failing expression is returned to the caller.

At least one validation is required. A valid signature alone does not authorize a request: public issuers issue tokens to any caller on the platform, so the validations must constrain the caller’s identity claims (e.g. ‘repository_owner’ for GitHub Actions).

OIDCValidation

(Appears on: OIDCProvider)

OIDCValidation is a CEL boolean expression evaluated against the OIDC token claims and variables of a ‘generic-oidc’ Receiver.

FieldDescription
expression
string

Expression is the CEL boolean expression to evaluate.

message
string

Message is returned to the caller when the expression evaluates to false.

OIDCVariable

(Appears on: OIDCProvider)

OIDCVariable is a named CEL expression evaluated against the OIDC token claims of a ‘generic-oidc’ Receiver.

FieldDescription
name
string

Name is the variable name; it must be a valid CEL identifier.

expression
string

Expression is the CEL expression that defines the variable value.

ProviderSpec

(Appears on: Provider)

ProviderSpec defines the desired state of the Provider.

FieldDescription
type
string

Type specifies which Provider implementation to use.

channel
string
(Optional)

Channel specifies the destination channel where events should be posted.

username
string
(Optional)

Username specifies the name under which events are posted.

address
string
(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.

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout for sending alerts to the Provider.

proxySecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

ProxySecretRef specifies the Secret containing the proxy configuration for this Provider. The Secret should contain an ‘address’ key with the HTTP/S address of the proxy server. Optional ‘username’ and ‘password’ keys can be provided for proxy authentication.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing the authentication credentials for this Provider.

serviceAccountName
string
(Optional)

ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate with cloud provider services through object identity. This enables multi-tenant authentication without storing static credentials.

Supported provider types: azureeventhub, azuredevops, googlepubsub

When specified, the controller will: 1. Create an OIDC token for the specified ServiceAccount 2. Exchange it for cloud provider credentials via STS 3. Use the obtained credentials for API authentication

When unspecified, the controller’s workload identity is used (single-tenant).

An error is thrown if static credentials are also defined in SecretRef.

certSecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

CertSecretRef specifies the Secret containing TLS certificates for secure communication.

Supported configurations: - CA-only: Server authentication (provide ca.crt only) - mTLS: Mutual authentication (provide ca.crt + tls.crt + tls.key) - Client-only: Client authentication with system CA (provide tls.crt + tls.key only)

Legacy keys “caFile”, “certFile”, “keyFile” are supported but deprecated. Use “ca.crt”, “tls.crt”, “tls.key” instead.

suspend
bool
(Optional)

Suspend tells the controller to suspend subsequent events handling for this Provider.

commitStatusExpr
string
(Optional)

CommitStatusExpr is a CEL expression that evaluates to a string value that can be used to generate a custom commit status message for use with eligible Provider types (github, gitlab, gitea, bitbucketserver, bitbucket, azuredevops). Supported variables are: event, provider, and alert.

ReceiverResource

(Appears on: ReceiverSpec)

ReceiverResource references a resource to be notified about changes, with an optional per-resource CEL filter.

FieldDescription
CrossNamespaceObjectReference
CrossNamespaceObjectReference

(Members of CrossNamespaceObjectReference are embedded into this type.)

filter
string
(Optional)

Filter is a CEL expression expected to return a boolean that is evaluated for each resource matched by this reference when a webhook is received, in addition to the top-level resourceFilter. A reconciliation is requested only when both expressions (when set) return true. The expression can read the resource metadata via ‘res’ and the webhook request body via ‘req’. For generic-oidc receivers, the verified OIDC token claims are also available via ‘claims’. When the expression is specified the controller will parse it and mark the object as terminally failed if the expression is invalid or does not return a boolean.

ReceiverSpec

(Appears on: Receiver)

ReceiverSpec defines the desired state of the Receiver.

FieldDescription
type
string

Type of webhook sender, used to determine the validation procedure and payload deserialization.

interval
Kubernetes meta/v1.Duration
(Optional)

Interval at which to reconcile the Receiver with its Secret references.

events
[]string
(Optional)

Events specifies the list of event types to handle, e.g. ‘push’ for GitHub or ‘Push Hook’ for GitLab.

resources
[]ReceiverResource

A list of resources to be notified about changes.

resourceFilter
string
(Optional)

ResourceFilter is a CEL expression expected to return a boolean that is evaluated for each resource referenced in the Resources field when a webhook is received. If the expression returns false then the controller will not request a reconciliation for the resource. The expression can read the resource metadata via ‘res’ and the webhook request body via ‘req’. For generic-oidc receivers, the verified OIDC token claims are also available via ‘claims’. When the expression is specified the controller will parse it and mark the object as terminally failed if the expression is invalid or does not return a boolean.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing the token used to validate the payload authenticity. The Secret must contain a ‘token’ key. For GCR receivers, the Secret must also contain an ‘email’ key with the IAM service account email configured on the Pub/Sub push subscription, and an ‘audience’ key with the expected OIDC token audience.

Required for all receiver types except ‘generic-oidc’, which authenticates requests using the OIDC token instead and must not set this field.

oidcProviders
[]OIDCProvider
(Optional)

OIDCProviders specifies the OIDC providers used to authenticate incoming requests when Type is ‘generic-oidc’. The provider whose IssuerURL matches the token’s ‘iss’ claim is used to verify the token signature, expiration and audience, and to evaluate the configured CEL validations against the token claims.

suspend
bool
(Optional)

Suspend tells the controller to suspend subsequent events handling for this receiver.

ReceiverStatus

(Appears on: Receiver)

ReceiverStatus defines the observed state of the Receiver.

FieldDescription
ReconcileRequestStatus
github.com/fluxcd/pkg/apis/meta.ReconcileRequestStatus

(Members of ReconcileRequestStatus are embedded into this type.)

conditions
[]Kubernetes meta/v1.Condition
(Optional)

Conditions holds the conditions for the Receiver.

webhookPath
string
(Optional)

WebhookPath is the generated incoming webhook address in the format of ‘/hook/sha256sum(token+name+namespace)’.

observedGeneration
int64
(Optional)

ObservedGeneration is the last observed generation of the Receiver object.

This page was automatically generated with gen-crd-api-reference-docs