v1alpha1

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the reloader v1alpha1 API group +kubebuilder:object:generate=true +groupName=reloader.external-secrets.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "reloader.external-secrets.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AWSSDKAuth

type AWSSDKAuth struct {
	AuthMethod string `json:"authMethod"`

	Region string `json:"region"`

	ServiceAccount *ServiceAccountSelector `json:"serviceAccountRef,omitempty"`

	SecretRef *AWSSDKSecretRef `json:"secretRef,omitempty"`
}

AWSSDKAuth contains authentication methods for AWS SDK.

func (*AWSSDKAuth) DeepCopy

func (in *AWSSDKAuth) DeepCopy() *AWSSDKAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSDKAuth.

func (*AWSSDKAuth) DeepCopyInto

func (in *AWSSDKAuth) DeepCopyInto(out *AWSSDKAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSSDKSecretRef

type AWSSDKSecretRef struct {
	AccessKeyId     SecretKeySelector `json:"accessKeyIdSecretRef"`
	SecretAccessKey SecretKeySelector `json:"secretAccessKeySecretRef"`
}

func (*AWSSDKSecretRef) DeepCopy

func (in *AWSSDKSecretRef) DeepCopy() *AWSSDKSecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSDKSecretRef.

func (*AWSSDKSecretRef) DeepCopyInto

func (in *AWSSDKSecretRef) DeepCopyInto(out *AWSSDKSecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSSQSConfig

type AWSSQSConfig struct {
	// QueueURL is the URL of the AWS SDK queue.
	// +required
	QueueURL string `json:"queueURL"`

	// Authentication methods for AWS.
	// +required
	Auth AWSSDKAuth `json:"auth"`

	// MaxNumberOfMessages specifies the maximum number of messages to retrieve from the SDK queue in a single request.
	// +optional
	// +kubebuilder:default=10
	MaxNumberOfMessages int32 `json:"numberOfMessages"`

	// WaitTimeSeconds specifies the duration (in seconds) to wait for messages in the SDK queue before returning.
	// +optional
	// +kubebuilder:default=20
	WaitTimeSeconds int32 `json:"waitTimeSeconds"`

	// VisibilityTimeout specifies the duration (in seconds) that a message received from the SDK queue is hidden from subsequent retrievals.
	// +optional
	// +kubebuilder:default=30
	VisibilityTimeout int32 `json:"visibilityTimeout"`
}

AWSSQSConfig contains configuration for AWS SDK.

func (*AWSSQSConfig) DeepCopy

func (in *AWSSQSConfig) DeepCopy() *AWSSQSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSQSConfig.

func (*AWSSQSConfig) DeepCopyInto

func (in *AWSSQSConfig) DeepCopyInto(out *AWSSQSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureEventGridConfig

type AzureEventGridConfig struct {
	Host string `json:"host"`

	// +required
	// +kubebuilder:default=8080
	Port int32 `json:"port"`

	Subscriptions []string `json:"subscriptions"`
}

func (*AzureEventGridConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureEventGridConfig.

func (*AzureEventGridConfig) DeepCopyInto

func (in *AzureEventGridConfig) DeepCopyInto(out *AzureEventGridConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BasicAuth

type BasicAuth struct {
	// UsernameSecretRef contains a secret reference for the username
	// +required
	UsernameSecretRef SecretKeySelector `json:"usernameSecretRef,omitempty"`

	// PasswordSecretRef contains a secret reference for the password
	// +required
	PasswordSecretRef SecretKeySelector `json:"passwordSecretRef,omitempty"`
}

BasicAuth contains basic authentication credentials.

func (*BasicAuth) DeepCopy

func (in *BasicAuth) DeepCopy() *BasicAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.

func (*BasicAuth) DeepCopyInto

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BearerToken

type BearerToken struct {
	// BearerTokenSecretRef references a Kubernetes Secret containing the bearer token.
	// +required
	BearerTokenSecretRef SecretKeySelector `json:"bearerTokenSecretRef"`
}

BearerToken contains the bearer token credentials.

func (*BearerToken) DeepCopy

func (in *BearerToken) DeepCopy() *BearerToken

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BearerToken.

func (*BearerToken) DeepCopyInto

func (in *BearerToken) DeepCopyInto(out *BearerToken)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Condition

type Condition struct {
	Value     string             `json:"value"`
	Operation ConditionOperation `json:"operation"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionOperation

type ConditionOperation string
const (
	ConditionOperationEqual       ConditionOperation = "Equal"
	ConditionOperationNotEqual    ConditionOperation = "NotEqual"
	ConditionOperationContains    ConditionOperation = "Contains"
	ConditionOperationNotContains ConditionOperation = "NotContains"
	ConditionOperationIn          ConditionOperation = "RegularExpression"
)

type Config

type Config struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ConfigSpec   `json:"spec,omitempty"`
	Status ConfigStatus `json:"status,omitempty"`
}

Config is the Schema for the reloader config API

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Config) DeepCopyObject

func (in *Config) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ConfigList

type ConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Config `json:"items"`
}

ConfigList contains a list of Config

func (*ConfigList) DeepCopy

func (in *ConfigList) DeepCopy() *ConfigList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.

func (*ConfigList) DeepCopyInto

func (in *ConfigList) DeepCopyInto(out *ConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConfigList) DeepCopyObject

func (in *ConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ConfigSpec

type ConfigSpec struct {
	// NotificationSources specifies the notification systems to listen to.
	// +required
	NotificationSources []NotificationSource `json:"notificationSources"`

	// DestinationsToWatch specifies which secrets the controller should monitor.
	// +required
	DestinationsToWatch []DestinationToWatch `json:"destinationsToWatch"`
}

ConfigSpec defines the desired state of a Reloader Config

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSpec.

func (*ConfigSpec) DeepCopyInto

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigStatus

type ConfigStatus struct {
	// Conditions represent the latest available observations of the resource's state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ConfigStatus defines the observed state of Reloader

func (*ConfigStatus) DeepCopy

func (in *ConfigStatus) DeepCopy() *ConfigStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigStatus.

func (*ConfigStatus) DeepCopyInto

func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentDestination

type DeploymentDestination struct {
	// NamespaceSelectors selects namespaces based on labels.
	// The manifest must reside in a namespace that matches at least one of these selectors.
	// +optional
	NamespaceSelectors []metav1.LabelSelector `json:"namespaceSelectors,omitempty"`

	// LabelSelectors selects resources based on their labels.
	// The resource must satisfy all conditions defined in this selector.
	// Supports both matchLabels and matchExpressions for advanced filtering.
	// +optional
	LabelSelectors *metav1.LabelSelector `json:"labelSelectors,omitempty"`

	// Names specifies a list of resource names to watch.
	// The resource must have a name that matches one of these entries.
	// +optional
	Names []string `json:"names,omitempty"`
}

Defines a DeploymentDestination. Behavior is a pod templates annotations patch. Default UpdateStrategy is pod template annotations patch to trigger a new rollout. Default MatchStrategy is matching secret-key with any of: * Equality against `spec.template.spec.containers[*].env[*].valueFrom.secretKeyRef.name` * Equality against `spec.template.spec.containers[*].envFrom.secretRef.name` Default WaitStrategy is to wait for the rollout to be completed with 3 minutes of grace period before moving to the next matched deployment.

func (*DeploymentDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentDestination.

func (*DeploymentDestination) DeepCopyInto

func (in *DeploymentDestination) DeepCopyInto(out *DeploymentDestination)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationToWatch

type DestinationToWatch struct {
	// Type specifies the type of destination to watch.
	// +required
	// +kubebuilder:validation:Enum=ExternalSecret;Deployment;PushSecret;WorkflowRunTemplate
	Type string `json:"type"`
	// +optional
	WorkflowRunTemplate *WorkflowRunTemplateDestination `json:"workflowRunTemplate,omitempty"`
	// +optional
	ExternalSecret *ExternalSecretDestination `json:"externalSecret,omitempty"`
	// +optional
	PushSecret *PushSecretDestination `json:"pushSecret,omitempty"`
	// +optional
	Deployment *DeploymentDestination `json:"deployment,omitempty"`
	//UpdateStrategy. If not specified, will use each destinations' default update strategy.
	UpdateStrategy *UpdateStrategy `json:"updateStrategy,omitempty"`
	//MatchStrategy. If not specified, will use each destinations' default match strategy.
	// +optional
	MatchStrategy *MatchStrategy `json:"matchStrategy,omitempty"`
	//WaitStrategy. If not specified, will use each destinations's default wait strategy.
	// +optional
	WaitStrategy *WaitStrategy `json:"waitStrategy,omitempty"`
}

DestinationToWatch specifies the criteria for monitoring secrets in the cluster.

func (*DestinationToWatch) DeepCopy

func (in *DestinationToWatch) DeepCopy() *DestinationToWatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationToWatch.

func (*DestinationToWatch) DeepCopyInto

func (in *DestinationToWatch) DeepCopyInto(out *DestinationToWatch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalSecretDestination

type ExternalSecretDestination struct {
	// NamespaceSelectors selects namespaces based on labels.
	// The manifest must reside in a namespace that matches at least one of these selectors.
	// +optional
	NamespaceSelectors []metav1.LabelSelector `json:"namespaceSelectors,omitempty"`

	// LabelSelectors selects resources based on their labels.
	// The resource must satisfy all conditions defined in this selector.
	// Supports both matchLabels and matchExpressions for advanced filtering.
	// +optional
	LabelSelectors *metav1.LabelSelector `json:"labelSelectors,omitempty"`

	// Names specifies a list of resource names to watch.
	// The resource must have a name that matches one of these entries.
	// +optional
	Names []string `json:"names,omitempty"`
}

Defines an ExternalSecretDestination. Behavior is an annotations patch. Default UpdateStrategy is annotations patch to trigger externalSecret reconcile. Default MatchStrategy is matching secret-key with any of: * Equality against `spec.data.remoteRef.key` * Equality against `spec.dataFrom.remoteRef.key` * Regexp against `spec.dataFrom.find.name.regexp`

func (*ExternalSecretDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalSecretDestination.

func (*ExternalSecretDestination) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPSMAuthSecretRef

type GCPSMAuthSecretRef struct {
	// The SecretAccessKey is used for authentication
	// +optional
	SecretAccessKey SecretKeySelector `json:"secretAccessKeySecretRef,omitempty"`
}

func (*GCPSMAuthSecretRef) DeepCopy

func (in *GCPSMAuthSecretRef) DeepCopy() *GCPSMAuthSecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSMAuthSecretRef.

func (*GCPSMAuthSecretRef) DeepCopyInto

func (in *GCPSMAuthSecretRef) DeepCopyInto(out *GCPSMAuthSecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPWorkloadIdentity

type GCPWorkloadIdentity struct {
	ServiceAccountRef ServiceAccountSelector `json:"serviceAccountRef"`
	ClusterLocation   string                 `json:"clusterLocation"`
	ClusterName       string                 `json:"clusterName"`
	ClusterProjectID  string                 `json:"clusterProjectID,omitempty"`
}

func (*GCPWorkloadIdentity) DeepCopy

func (in *GCPWorkloadIdentity) DeepCopy() *GCPWorkloadIdentity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPWorkloadIdentity.

func (*GCPWorkloadIdentity) DeepCopyInto

func (in *GCPWorkloadIdentity) DeepCopyInto(out *GCPWorkloadIdentity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GooglePubSubAuth

type GooglePubSubAuth struct {
	// +optional
	SecretRef *GCPSMAuthSecretRef `json:"secretRef,omitempty"`
	// +optional
	WorkloadIdentity *GCPWorkloadIdentity `json:"workloadIdentity,omitempty"`
}

GooglePubSubAuth contains authentication methods for Google Pub/Sub.

func (*GooglePubSubAuth) DeepCopy

func (in *GooglePubSubAuth) DeepCopy() *GooglePubSubAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GooglePubSubAuth.

func (*GooglePubSubAuth) DeepCopyInto

func (in *GooglePubSubAuth) DeepCopyInto(out *GooglePubSubAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GooglePubSubConfig

type GooglePubSubConfig struct {
	// SubscriptionID is the ID of the Pub/Sub subscription.
	// +required
	SubscriptionID string `json:"subscriptionID"`

	// ProjectID is the GCP project ID where the subscription exists.
	// +required
	ProjectID string `json:"projectID"`

	// Authentication methods for Google Pub/Sub.
	// +optional
	Auth *GooglePubSubAuth `json:"auth,omitempty"`
}

GooglePubSubConfig contains configuration for Google Pub/Sub.

func (*GooglePubSubConfig) DeepCopy

func (in *GooglePubSubConfig) DeepCopy() *GooglePubSubConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GooglePubSubConfig.

func (*GooglePubSubConfig) DeepCopyInto

func (in *GooglePubSubConfig) DeepCopyInto(out *GooglePubSubConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HashicorpVaultConfig

type HashicorpVaultConfig struct {
	// Host is the hostname or IP address to listen on.
	// +required
	Host string `json:"host"`

	// Port is the port number to listen on.
	// +required
	// +kubebuilder:default=8000
	Port int32 `json:"port"`
}

HashicorpVault contains configuration for HashicorpVault notifications.

func (*HashicorpVaultConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashicorpVaultConfig.

func (*HashicorpVaultConfig) DeepCopyInto

func (in *HashicorpVaultConfig) DeepCopyInto(out *HashicorpVaultConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeConfigRef

type KubeConfigRef struct {
	SecretRef SecretKeySelector `json:"secretRef"`
}

func (*KubeConfigRef) DeepCopy

func (in *KubeConfigRef) DeepCopy() *KubeConfigRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeConfigRef.

func (*KubeConfigRef) DeepCopyInto

func (in *KubeConfigRef) DeepCopyInto(out *KubeConfigRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesAuth

type KubernetesAuth struct {
	//+optional
	KubeConfigRef *KubeConfigRef `json:"kubeConfigRef,omitempty"`
	// Defines a CABundle if either TokenRef or ServiceAccountRef are used.
	// +optional
	CABundle string `json:"caBundle,omitempty"`
	//+optional
	TokenRef *TokenRef `json:"tokenRef,omitempty"`
	//+optional
	ServiceAccountRef *ServiceAccountSelector `json:"serviceAccountRef,omitempty"`
}

func (*KubernetesAuth) DeepCopy

func (in *KubernetesAuth) DeepCopy() *KubernetesAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesAuth.

func (*KubernetesAuth) DeepCopyInto

func (in *KubernetesAuth) DeepCopyInto(out *KubernetesAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesConfigMapConfig

type KubernetesConfigMapConfig struct {
	// Server URL
	// +required
	ServerURL string `json:"serverURL"`

	// How to authenticate with Kubernetes cluster. If not specified, the default config is used.
	// +optional
	Auth *KubernetesAuth `json:"auth,omitempty"`

	// LabelSelector can be used to identify and narrow down secrets for watching.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}

KubernetesConfigMapConfig contains configuration for Kubernetes notifications.

func (*KubernetesConfigMapConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesConfigMapConfig.

func (*KubernetesConfigMapConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesObjectConfig

type KubernetesObjectConfig struct {
	// Server URL
	// +required
	ServerURL string `json:"serverURL"`

	// How to authenticate with Kubernetes cluster. If not specified, the default config is used.
	// +optional
	Auth *KubernetesAuth `json:"auth,omitempty"`

	// LabelSelector can be used to identify and narrow down secrets for watching.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}

func (*KubernetesObjectConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesObjectConfig.

func (*KubernetesObjectConfig) DeepCopyInto

func (in *KubernetesObjectConfig) DeepCopyInto(out *KubernetesObjectConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesSecretConfig

type KubernetesSecretConfig struct {
	// Server URL
	// +required
	ServerURL string `json:"serverURL"`

	// How to authenticate with Kubernetes cluster. If not specified, the default config is used.
	// +optional
	Auth *KubernetesAuth `json:"auth,omitempty"`

	// LabelSelector can be used to identify and narrow down secrets for watching.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}

KubernetesSecretConfig contains configuration for Kubernetes notifications.

func (*KubernetesSecretConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSecretConfig.

func (*KubernetesSecretConfig) DeepCopyInto

func (in *KubernetesSecretConfig) DeepCopyInto(out *KubernetesSecretConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchStrategy

type MatchStrategy struct {
	Path       string      `json:"path"`
	Conditions []Condition `json:"conditions"`
}

func (*MatchStrategy) DeepCopy

func (in *MatchStrategy) DeepCopy() *MatchStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchStrategy.

func (*MatchStrategy) DeepCopyInto

func (in *MatchStrategy) DeepCopyInto(out *MatchStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MockConfig

type MockConfig struct {
	EmitInterval int32 `json:"emitInterval"`
}

MockConfig represents configuration settings for mock notifications.

func (*MockConfig) DeepCopy

func (in *MockConfig) DeepCopy() *MockConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MockConfig.

func (*MockConfig) DeepCopyInto

func (in *MockConfig) DeepCopyInto(out *MockConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationSource

type NotificationSource struct {
	// Type of the notification source (e.g., AwsSqs, AzureEventGrid, GooglePubSub, HashicorpVault, Webhook, TCPSocket, KubernetesSecret, KubernetesConfigMap).
	// +kubebuilder:validation:Enum=AwsSqs;AzureEventGrid;GooglePubSub;HashicorpVault;Webhook;TCPSocket;KubernetesSecret;KubernetesConfigMap
	// +required
	Type string `json:"type"`

	// AwsSqs configuration (required if Type is AwsSqs).
	// +optional
	AwsSqs *AWSSQSConfig `json:"awsSqs,omitempty"`

	AzureEventGrid *AzureEventGridConfig `json:"azureEventGrid,omitempty"`

	// GooglePubSub configuration (required if Type is GooglePubSub).
	// +optional
	GooglePubSub *GooglePubSubConfig `json:"googlePubSub,omitempty"`

	// Webhook configuration (required if Type is Webhook).
	// +optional
	Webhook *WebhookConfig `json:"webhook,omitempty"`

	// HashicorpVault configuration (required if Type is HashicorpVault).
	// +optional
	HashicorpVault *HashicorpVaultConfig `json:"hashicorpVault,omitempty"`

	// Kubernetes Secret watch configuration (required if Type is KubernetesSecret).
	// +optional
	KubernetesSecret *KubernetesSecretConfig `json:"kubernetesSecret,omitempty"`

	// Kubernetes ConfigMap watch configuration (required if Type is KubernetesConfigMap).
	// +optional
	KubernetesConfigMap *KubernetesConfigMapConfig `json:"kubernetesConfigMap,omitempty"`

	// TCPSocket configuration (required if Type is TCPSocket).
	// +optional
	TCPSocket *TCPSocketConfig `json:"tcpSocket,omitempty"`

	// Mock configuration (optional field for testing purposes).
	Mock *MockConfig `json:"mock,omitempty"`
}

NotificationSource represents a notification system configuration.

func (*NotificationSource) DeepCopy

func (in *NotificationSource) DeepCopy() *NotificationSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationSource.

func (*NotificationSource) DeepCopyInto

func (in *NotificationSource) DeepCopyInto(out *NotificationSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PatchOperationConfig

type PatchOperationConfig struct {
	Path     string `json:"path"`
	Template string `json:"template"`
}

func (*PatchOperationConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchOperationConfig.

func (*PatchOperationConfig) DeepCopyInto

func (in *PatchOperationConfig) DeepCopyInto(out *PatchOperationConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PushSecretDestination

type PushSecretDestination struct {
	// NamespaceSelectors selects namespaces based on labels.
	// The manifest must reside in a namespace that matches at least one of these selectors.
	// +optional
	NamespaceSelectors []metav1.LabelSelector `json:"namespaceSelectors,omitempty"`

	// LabelSelectors selects resources based on their labels.
	// The resource must satisfy all conditions defined in this selector.
	// Supports both matchLabels and matchExpressions for advanced filtering.
	// +optional
	LabelSelectors *metav1.LabelSelector `json:"labelSelectors,omitempty"`

	// Names specifies a list of resource names to watch.
	// The resource must have a name that matches one of these entries.
	// +optional
	Names []string `json:"names,omitempty"`
}

func (*PushSecretDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushSecretDestination.

func (*PushSecretDestination) DeepCopyInto

func (in *PushSecretDestination) DeepCopyInto(out *PushSecretDestination)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicy

type RetryPolicy struct {
	// MaxRetries represents the maximum times the reloader should retry to process a message. Numbers greater than 10 will be ignored and 10 will be used instead
	// +optional
	MaxRetries int `json:"maxRetries"`

	// Algorithm represents how watiting time will change for each retry.
	// Currently supports "linear" and "exponential". If an invalid string or null is given, "exponential" will be used
	// +optional
	Algorithm string `json:"algorithm"`
}

func (*RetryPolicy) DeepCopy

func (in *RetryPolicy) DeepCopy() *RetryPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicy.

func (*RetryPolicy) DeepCopyInto

func (in *RetryPolicy) DeepCopyInto(out *RetryPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretKeySelector

type SecretKeySelector struct {

	// Name specifies the name of the referenced Kubernetes secret.
	// +required
	Name string `json:"name"`

	// Key specifies the key within the referenced Kubernetes secret.
	// +required
	Key string `json:"key"`

	// Namespace specifies the Kubernetes namespace where the referenced secret resides.
	// +required
	Namespace string `json:"namespace"`
}

SecretKeySelector is used to reference a specific secret within a Kubernetes namespace. It contains the name of the secret and the namespace where it resides.

func (*SecretKeySelector) DeepCopy

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector.

func (*SecretKeySelector) DeepCopyInto

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountSelector

type ServiceAccountSelector struct {

	// Name specifies the name of the service account to be selected.
	// +required
	Name string `json:"name"`

	// ServiceAccountSelector represents a Kubernetes service account with a name and namespace for selection purposes.
	// +required
	Namespace string `json:"namespace"`
	// Audience specifies the `aud` claim for the service account token
	// If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
	// then this audiences will be appended to the list
	// +optional
	Audiences []string `json:"audiences,omitempty"`
}

func (*ServiceAccountSelector) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountSelector.

func (*ServiceAccountSelector) DeepCopyInto

func (in *ServiceAccountSelector) DeepCopyInto(out *ServiceAccountSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPSocketConfig

type TCPSocketConfig struct {
	// Host is the hostname or IP address to listen on.
	// +required
	Host string `json:"host"`

	// Port is the port number to listen on.
	// +required
	// +kubebuilder:default=8000
	Port int32 `json:"port"`

	// SecretIdentifierOnPayload is the key that the reloader will look for in the payload.
	// The value of this key should be the same name as in the external secret. It will default to `0.data.ObjectName` if not set
	SecretIdentifierOnPayload string `json:"identifierPathOnPayload,omitempty"`
}

TCPSocketConfig contains configuration for TCP Socket notifications.

func (*TCPSocketConfig) DeepCopy

func (in *TCPSocketConfig) DeepCopy() *TCPSocketConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPSocketConfig.

func (*TCPSocketConfig) DeepCopyInto

func (in *TCPSocketConfig) DeepCopyInto(out *TCPSocketConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenRef

type TokenRef struct {
	SecretRef SecretKeySelector `json:"secretRef"`
}

func (*TokenRef) DeepCopy

func (in *TokenRef) DeepCopy() *TokenRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenRef.

func (*TokenRef) DeepCopyInto

func (in *TokenRef) DeepCopyInto(out *TokenRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdateStrategy

type UpdateStrategy struct {
	Operation UpdateStrategyOperation `json:"operation"`
	// Required if Operation == Patch
	PatchOperationConfig *PatchOperationConfig `json:"patchOperationConfig,omitempty"`
}

func (*UpdateStrategy) DeepCopy

func (in *UpdateStrategy) DeepCopy() *UpdateStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.

func (*UpdateStrategy) DeepCopyInto

func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdateStrategyOperation

type UpdateStrategyOperation string
const (
	UpdateStrategyOperationPatchStatus UpdateStrategyOperation = "PatchStatus"
	UpdateStrategyOperationPatch       UpdateStrategyOperation = "Patch"
	UpdateStrategyOperationDelete      UpdateStrategyOperation = "Delete"
)

type WaitForCondition

type WaitForCondition struct {
	// Period to wait before each retry
	//+optional
	RetryTimeout *metav1.Duration `json:"retryTimeout,omitempty"`
	// Maximum retries to check for a condition
	//+optional
	MaxRetries *int32 `json:"maxRetries,omitempty"`
	// The name of the condition to wait for
	//+required
	Type string `json:"type"`
	// The status of the condition to wait for
	//+optional
	Status string `json:"status"`
	// Optional message to match
	//+optional
	Message string `json:"message,omitempty"`
	// Optional reason to match
	//+optional
	Reason string `json:"reason,omitempty"`
	// Only accept this condition after a given period from the transition time
	//+optional
	TransitionedAfter *metav1.Duration `json:"transitionedAfter,omitempty"`
	// Only accept this condition after a given period from the update time
	//+optional
	UpdatedAfter *metav1.Duration `json:"updatedAfter,omitempty"`
}

func (*WaitForCondition) DeepCopy

func (in *WaitForCondition) DeepCopy() *WaitForCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitForCondition.

func (*WaitForCondition) DeepCopyInto

func (in *WaitForCondition) DeepCopyInto(out *WaitForCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WaitStrategy

type WaitStrategy struct {
	// Waits for a given time interval to reconcile the next object
	//+optional
	Time *metav1.Duration `json:"time,omitempty"`
	// Waits for a given status condition to be met
	//+optional
	Condition *WaitForCondition `json:"condition,omitempty"`
}

func (*WaitStrategy) DeepCopy

func (in *WaitStrategy) DeepCopy() *WaitStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitStrategy.

func (*WaitStrategy) DeepCopyInto

func (in *WaitStrategy) DeepCopyInto(out *WaitStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebhookAuth

type WebhookAuth struct {
	// BasicAuth contains basic authentication credentials.
	// +optional
	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`

	// BearerToken references a Kubernetes Secret containing the bearer token.
	// +optional
	BearerToken *BearerToken `json:"bearerToken,omitempty"`
}

WebhookAuth contains authentication methods for webhooks.

func (*WebhookAuth) DeepCopy

func (in *WebhookAuth) DeepCopy() *WebhookAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookAuth.

func (*WebhookAuth) DeepCopyInto

func (in *WebhookAuth) DeepCopyInto(out *WebhookAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebhookConfig

type WebhookConfig struct {
	// Path that the webhook will receive the notifications.
	// If not present `/webhook` will be used. The path always expects a POST and this is not configurable
	// +optional
	Path string `json:"path"`

	// Address is the address where the webhook will be served in your infrastructure.
	// If not present, defaults to `:8090`
	// +optional
	Address string `json:"address"`

	// SecretIdentifierOnPayload is the key that the reloader will look for in the payload.
	// The value of this key should be the same name as in the external secret. It will default to `0.data.ObjectName` if not set
	// +optional
	SecretIdentifierOnPayload string `json:"identifierPathOnPayload,omitempty"`

	// Auth is the authentication method for the webhook
	// +optional
	Auth *WebhookAuth `json:"webhookAuth,omitempty"`

	// RetryPolicy represents the policy to retry when a message fails.
	// If it's empty, reloader will return a 4xx and won't retry.
	// +optional
	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`
}

WebhookConfig contains configuration for Webhook notifications.

func (*WebhookConfig) DeepCopy

func (in *WebhookConfig) DeepCopy() *WebhookConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfig.

func (*WebhookConfig) DeepCopyInto

func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowRunTemplateDestination

type WorkflowRunTemplateDestination struct {
	// NamespaceSelectors selects namespaces based on labels.
	// The manifest must reside in a namespace that matches at least one of these selectors.
	// +optional
	NamespaceSelectors []metav1.LabelSelector `json:"namespaceSelectors,omitempty"`

	// LabelSelectors selects resources based on their labels.
	// The resource must satisfy all conditions defined in this selector.
	// Supports both matchLabels and matchExpressions for advanced filtering.
	// +optional
	LabelSelectors *metav1.LabelSelector `json:"labelSelectors,omitempty"`

	// Names specifies a list of resource names to watch.
	// The resource must have a name that matches one of these entries.
	// +optional
	Names []string `json:"names,omitempty"`
}

Defines a WorkflowRunTemplateDestination. Behavior is an annotations patch. Default UpdateStrategy is annotations patch to trigger Workflow reconcile. Default MatchStrategy is matching secret-key with any of: * Equality against `spec.data.remoteRef.key` * Equality against `spec.dataFrom.remoteRef.key` * Regexp against `spec.dataFrom.find.name.regexp`

func (*WorkflowRunTemplateDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRunTemplateDestination.

func (*WorkflowRunTemplateDestination) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL