Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=openchoreo.dev
Index ¶
- Constants
- Variables
- type AgentConnectionStatus
- type AuthzRole
- type AuthzRoleBinding
- type AuthzRoleBindingList
- type AuthzRoleBindingSpec
- type AuthzRoleList
- type AuthzRoleSpec
- type ClusterAgentConfig
- type ClusterAuthzRole
- type ClusterAuthzRoleBinding
- type ClusterAuthzRoleBindingList
- type ClusterAuthzRoleBindingSpec
- type ClusterAuthzRoleList
- type ClusterAuthzRoleSpec
- type ClusterComponentType
- type ClusterComponentTypeList
- type ClusterComponentTypeSpec
- type ClusterComponentTypeStatus
- type ClusterComponentTypeTrait
- type ClusterDataPlane
- func (in *ClusterDataPlane) DeepCopy() *ClusterDataPlane
- func (in *ClusterDataPlane) DeepCopyInto(out *ClusterDataPlane)
- func (in *ClusterDataPlane) DeepCopyObject() runtime.Object
- func (c *ClusterDataPlane) GetConditions() []metav1.Condition
- func (c *ClusterDataPlane) SetConditions(conditions []metav1.Condition)
- type ClusterDataPlaneList
- type ClusterDataPlaneSpec
- type ClusterDataPlaneStatus
- type ClusterObservabilityPlane
- func (in *ClusterObservabilityPlane) DeepCopy() *ClusterObservabilityPlane
- func (in *ClusterObservabilityPlane) DeepCopyInto(out *ClusterObservabilityPlane)
- func (in *ClusterObservabilityPlane) DeepCopyObject() runtime.Object
- func (c *ClusterObservabilityPlane) GetConditions() []metav1.Condition
- func (c *ClusterObservabilityPlane) SetConditions(conditions []metav1.Condition)
- type ClusterObservabilityPlaneList
- type ClusterObservabilityPlaneRef
- type ClusterObservabilityPlaneRefKind
- type ClusterObservabilityPlaneSpec
- type ClusterObservabilityPlaneStatus
- type ClusterRoleMapping
- type ClusterTargetScope
- type ClusterTrait
- type ClusterTraitList
- type ClusterTraitRef
- type ClusterTraitRefKind
- type ClusterTraitSpec
- type ClusterTraitStatus
- type ClusterWorkflow
- type ClusterWorkflowList
- type ClusterWorkflowPlane
- func (in *ClusterWorkflowPlane) DeepCopy() *ClusterWorkflowPlane
- func (in *ClusterWorkflowPlane) DeepCopyInto(out *ClusterWorkflowPlane)
- func (in *ClusterWorkflowPlane) DeepCopyObject() runtime.Object
- func (c *ClusterWorkflowPlane) GetConditions() []metav1.Condition
- func (c *ClusterWorkflowPlane) SetConditions(conditions []metav1.Condition)
- type ClusterWorkflowPlaneList
- type ClusterWorkflowPlaneRef
- type ClusterWorkflowPlaneRefKind
- type ClusterWorkflowPlaneSpec
- type ClusterWorkflowPlaneStatus
- type ClusterWorkflowRef
- type ClusterWorkflowRefKind
- type ClusterWorkflowSpec
- type ClusterWorkflowStatus
- type Component
- type ComponentList
- type ComponentOwner
- type ComponentProfile
- type ComponentProfileTrait
- type ComponentRelease
- type ComponentReleaseComponentType
- type ComponentReleaseList
- type ComponentReleaseOwner
- type ComponentReleaseSpec
- type ComponentReleaseStatus
- type ComponentReleaseTrait
- type ComponentSource
- type ComponentSpec
- type ComponentStatus
- type ComponentTrait
- type ComponentType
- type ComponentTypeList
- type ComponentTypeRef
- type ComponentTypeRefKind
- type ComponentTypeSpec
- type ComponentTypeStatus
- type ComponentTypeTrait
- type ComponentWorkflowConfig
- type ConnectionEnvBindings
- type ConnectionTarget
- type Container
- type ContainerOverride
- type ContainerRegistry
- type DataPlane
- type DataPlaneList
- type DataPlaneRef
- type DataPlaneRefKind
- type DataPlaneSpec
- type DataPlaneStatus
- type DeploymentPipeline
- type DeploymentPipelineList
- type DeploymentPipelineRef
- type DeploymentPipelineRefKind
- type DeploymentPipelineSpec
- type DeploymentPipelineStatus
- type EffectType
- type EmailConfig
- type EmailTemplate
- type EndpointAccess
- type EndpointGatewayURLs
- type EndpointStatus
- type EndpointType
- type EndpointURL
- type EndpointURLStatus
- type EndpointVisibility
- type EntitlementClaim
- type EnvVar
- type EnvVarValueFrom
- type Environment
- type EnvironmentList
- type EnvironmentRef
- type EnvironmentRefKind
- type EnvironmentSpec
- type EnvironmentStatus
- type ExternalRef
- type FileVar
- type GatewayEndpointSpec
- type GatewayListenerSpec
- type GatewayNetworkSpec
- type GatewaySpec
- type GitAuthentication
- type GitRepository
- type HealthStatus
- type JSONPatchOperation
- type LatestRelease
- type NotificationChannelConfig
- type NotificationChannelName
- type NotificationChannelType
- type ObservabilityAlertActions
- type ObservabilityAlertCondition
- type ObservabilityAlertConditionOperator
- type ObservabilityAlertIncident
- type ObservabilityAlertNotifications
- type ObservabilityAlertRule
- type ObservabilityAlertRuleList
- type ObservabilityAlertRulePhase
- type ObservabilityAlertRuleSpec
- type ObservabilityAlertRuleStatus
- type ObservabilityAlertSeverity
- type ObservabilityAlertSource
- type ObservabilityAlertSourceType
- type ObservabilityAlertsNotificationChannel
- type ObservabilityAlertsNotificationChannelList
- func (in *ObservabilityAlertsNotificationChannelList) DeepCopy() *ObservabilityAlertsNotificationChannelList
- func (in *ObservabilityAlertsNotificationChannelList) DeepCopyInto(out *ObservabilityAlertsNotificationChannelList)
- func (in *ObservabilityAlertsNotificationChannelList) DeepCopyObject() runtime.Object
- type ObservabilityAlertsNotificationChannelSpec
- type ObservabilityAlertsNotificationChannelStatus
- type ObservabilityPlane
- type ObservabilityPlaneList
- type ObservabilityPlaneRef
- type ObservabilityPlaneRefKind
- type ObservabilityPlaneSpec
- type ObservabilityPlaneStatus
- type PatchTarget
- type PendingConnection
- type Project
- type ProjectList
- type ProjectSpec
- type ProjectStatus
- type PromotionPath
- type RegistryAuthentication
- type ReleaseBinding
- func (in *ReleaseBinding) DeepCopy() *ReleaseBinding
- func (in *ReleaseBinding) DeepCopyInto(out *ReleaseBinding)
- func (in *ReleaseBinding) DeepCopyObject() runtime.Object
- func (r *ReleaseBinding) GetConditions() []metav1.Condition
- func (r *ReleaseBinding) SetConditions(conditions []metav1.Condition)
- type ReleaseBindingList
- type ReleaseBindingOwner
- type ReleaseBindingSpec
- type ReleaseBindingStatus
- type ReleaseState
- type RemoteReference
- type RenderedRelease
- func (in *RenderedRelease) DeepCopy() *RenderedRelease
- func (in *RenderedRelease) DeepCopyInto(out *RenderedRelease)
- func (in *RenderedRelease) DeepCopyObject() runtime.Object
- func (in *RenderedRelease) GetConditions() []metav1.Condition
- func (in *RenderedRelease) SetConditions(conditions []metav1.Condition)
- type RenderedReleaseList
- type RenderedReleaseOwner
- type RenderedReleaseSpec
- type RenderedReleaseStatus
- type ResolvedConnection
- type Resource
- type ResourceReference
- type ResourceStatus
- type ResourceTemplate
- type RoleMapping
- type RoleRef
- type RoleRefKind
- type SMTPAuth
- type SMTPConfig
- type SMTPTLSConfig
- type Schema
- type SchemaSection
- type SecretDataSource
- type SecretKeyRef
- type SecretKeyReference
- type SecretMetadata
- type SecretReference
- type SecretReferenceList
- type SecretReferenceSpec
- type SecretReferenceStatus
- type SecretStoreRef
- type SecretStoreReference
- type SecretTemplate
- type SecretValueFrom
- type TargetEnvironmentRef
- type TargetScope
- type Trait
- type TraitCreate
- type TraitList
- type TraitPatch
- type TraitRef
- type TraitRefKind
- type TraitSpec
- type TraitStatus
- type ValidationRule
- type ValueFrom
- type WebhookConfig
- type WebhookHeaderValue
- type Workflow
- type WorkflowList
- type WorkflowPlane
- type WorkflowPlaneList
- type WorkflowPlaneRef
- type WorkflowPlaneRefKind
- type WorkflowPlaneSpec
- type WorkflowPlaneStatus
- type WorkflowRef
- type WorkflowRefKind
- type WorkflowResource
- type WorkflowRun
- type WorkflowRunConfig
- type WorkflowRunList
- type WorkflowRunSpec
- type WorkflowRunStatus
- type WorkflowSpec
- type WorkflowStatus
- type WorkflowTask
- type Workload
- type WorkloadConnection
- type WorkloadDependencies
- type WorkloadEndpoint
- type WorkloadList
- type WorkloadOverrideTemplateSpec
- type WorkloadOwner
- type WorkloadSpec
- type WorkloadStatus
- type WorkloadTemplateSpec
- type WorkloadType
Constants ¶
const ( // TargetPlaneDataPlane indicates resources should be deployed to the data plane. TargetPlaneDataPlane = "dataplane" // TargetPlaneObservabilityPlane indicates resources should be deployed to the observability plane. TargetPlaneObservabilityPlane = "observabilityplane" )
TargetPlane constants define which plane resources should be deployed to.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "openchoreo.dev", 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 AgentConnectionStatus ¶ added in v0.12.0
type AgentConnectionStatus struct {
// Connected indicates whether any cluster agent is currently connected
Connected bool `json:"connected"`
// ConnectedAgents is the number of cluster agents currently connected
ConnectedAgents int `json:"connectedAgents"`
// LastConnectedTime is when an agent last successfully connected
// +optional
LastConnectedTime *metav1.Time `json:"lastConnectedTime,omitempty"`
// LastDisconnectedTime is when the last agent disconnected
// +optional
LastDisconnectedTime *metav1.Time `json:"lastDisconnectedTime,omitempty"`
// LastHeartbeatTime is when the control plane last received any communication from an agent
// +optional
LastHeartbeatTime *metav1.Time `json:"lastHeartbeatTime,omitempty"`
// Message provides additional information about the agent connection status
// +optional
Message string `json:"message,omitempty"`
}
AgentConnectionStatus tracks the status of cluster agent connections
func (*AgentConnectionStatus) DeepCopy ¶ added in v0.12.0
func (in *AgentConnectionStatus) DeepCopy() *AgentConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentConnectionStatus.
func (*AgentConnectionStatus) DeepCopyInto ¶ added in v0.12.0
func (in *AgentConnectionStatus) DeepCopyInto(out *AgentConnectionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthzRole ¶ added in v0.14.0
type AuthzRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AuthzRoleSpec `json:"spec,omitempty"`
}
AuthzRole is the Schema for the authzroles API
func (*AuthzRole) DeepCopy ¶ added in v0.14.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzRole.
func (*AuthzRole) DeepCopyInto ¶ added in v0.14.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzRole) DeepCopyObject ¶ added in v0.14.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzRoleBinding ¶ added in v0.14.0
type AuthzRoleBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AuthzRoleBindingSpec `json:"spec,omitempty"`
}
AuthzRoleBinding is the Schema for the authzrolebindings API
func (*AuthzRoleBinding) DeepCopy ¶ added in v0.14.0
func (in *AuthzRoleBinding) DeepCopy() *AuthzRoleBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzRoleBinding.
func (*AuthzRoleBinding) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzRoleBinding) DeepCopyInto(out *AuthzRoleBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzRoleBinding) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzRoleBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzRoleBindingList ¶ added in v0.14.0
type AuthzRoleBindingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []AuthzRoleBinding `json:"items"`
}
AuthzRoleBindingList contains a list of AuthzRoleBinding
func (*AuthzRoleBindingList) DeepCopy ¶ added in v0.14.0
func (in *AuthzRoleBindingList) DeepCopy() *AuthzRoleBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzRoleBindingList.
func (*AuthzRoleBindingList) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzRoleBindingList) DeepCopyInto(out *AuthzRoleBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzRoleBindingList) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzRoleBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzRoleBindingSpec ¶ added in v0.14.0
type AuthzRoleBindingSpec struct {
// Entitlement defines the subject (from JWT claims) to grant the role to
// +required
Entitlement EntitlementClaim `json:"entitlement"`
// RoleMappings is the list of role-scope pairs this binding grants
// +required
// +kubebuilder:validation:MinItems=1
RoleMappings []RoleMapping `json:"roleMappings"`
// Effect indicates whether this binding allows or denies access (default: allow)
// +kubebuilder:default=allow
// +optional
Effect EffectType `json:"effect,omitempty"`
}
AuthzRoleBindingSpec defines the desired state of AuthzRoleBinding
func (*AuthzRoleBindingSpec) DeepCopy ¶ added in v0.14.0
func (in *AuthzRoleBindingSpec) DeepCopy() *AuthzRoleBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzRoleBindingSpec.
func (*AuthzRoleBindingSpec) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzRoleBindingSpec) DeepCopyInto(out *AuthzRoleBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthzRoleList ¶ added in v0.14.0
type AuthzRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []AuthzRole `json:"items"`
}
AuthzRoleList contains a list of AuthzRole
func (*AuthzRoleList) DeepCopy ¶ added in v0.14.0
func (in *AuthzRoleList) DeepCopy() *AuthzRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzRoleList.
func (*AuthzRoleList) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzRoleList) DeepCopyInto(out *AuthzRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzRoleList) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzRoleSpec ¶ added in v0.14.0
type AuthzRoleSpec struct {
// Actions is the list of actions this role can perform
// +kubebuilder:validation:MinItems=1
// +kubebuilder:example:={"component:create"}
// +required
Actions []string `json:"actions"`
// Description is a human-readable description of the role
// +optional
Description string `json:"description,omitempty"`
}
AuthzRoleSpec defines the desired state of AuthzRole
func (*AuthzRoleSpec) DeepCopy ¶ added in v0.14.0
func (in *AuthzRoleSpec) DeepCopy() *AuthzRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzRoleSpec.
func (*AuthzRoleSpec) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzRoleSpec) DeepCopyInto(out *AuthzRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAgentConfig ¶ added in v0.9.0
type ClusterAgentConfig struct {
// ClientCA contains the CA certificate used to verify the agent's client certificate
// This allows per-plane CA configuration for enhanced security
ClientCA ValueFrom `json:"clientCA"`
}
ClusterAgentConfig defines the configuration for cluster agent-based communication The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
func (*ClusterAgentConfig) DeepCopy ¶ added in v0.9.0
func (in *ClusterAgentConfig) DeepCopy() *ClusterAgentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAgentConfig.
func (*ClusterAgentConfig) DeepCopyInto ¶ added in v0.9.0
func (in *ClusterAgentConfig) DeepCopyInto(out *ClusterAgentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAuthzRole ¶ added in v1.0.0
type ClusterAuthzRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterAuthzRoleSpec `json:"spec,omitempty"`
}
ClusterAuthzRole is the Schema for the clusterauthzroles API
func (*ClusterAuthzRole) DeepCopy ¶ added in v1.0.0
func (in *ClusterAuthzRole) DeepCopy() *ClusterAuthzRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAuthzRole.
func (*ClusterAuthzRole) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterAuthzRole) DeepCopyInto(out *ClusterAuthzRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterAuthzRole) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterAuthzRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterAuthzRoleBinding ¶ added in v1.0.0
type ClusterAuthzRoleBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterAuthzRoleBindingSpec `json:"spec,omitempty"`
}
ClusterAuthzRoleBinding is the Schema for the clusterauthzrolebindings API
func (*ClusterAuthzRoleBinding) DeepCopy ¶ added in v1.0.0
func (in *ClusterAuthzRoleBinding) DeepCopy() *ClusterAuthzRoleBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAuthzRoleBinding.
func (*ClusterAuthzRoleBinding) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterAuthzRoleBinding) DeepCopyInto(out *ClusterAuthzRoleBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterAuthzRoleBinding) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterAuthzRoleBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterAuthzRoleBindingList ¶ added in v1.0.0
type ClusterAuthzRoleBindingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []ClusterAuthzRoleBinding `json:"items"`
}
ClusterAuthzRoleBindingList contains a list of ClusterAuthzRoleBinding
func (*ClusterAuthzRoleBindingList) DeepCopy ¶ added in v1.0.0
func (in *ClusterAuthzRoleBindingList) DeepCopy() *ClusterAuthzRoleBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAuthzRoleBindingList.
func (*ClusterAuthzRoleBindingList) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterAuthzRoleBindingList) DeepCopyInto(out *ClusterAuthzRoleBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterAuthzRoleBindingList) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterAuthzRoleBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterAuthzRoleBindingSpec ¶ added in v1.0.0
type ClusterAuthzRoleBindingSpec struct {
// Entitlement defines the subject (from JWT claims) to grant the role to
// +required
Entitlement EntitlementClaim `json:"entitlement"`
// RoleMappings is the list of cluster roles this binding grants
// +required
// +kubebuilder:validation:MinItems=1
RoleMappings []ClusterRoleMapping `json:"roleMappings"`
// Effect indicates whether this binding allows or denies access (default: allow)
// +kubebuilder:default=allow
// +optional
Effect EffectType `json:"effect,omitempty"`
}
ClusterAuthzRoleBindingSpec defines the desired state of ClusterAuthzRoleBinding +kubebuilder:validation:XValidation:rule="self.roleMappings.all(m, m.roleRef.kind == 'ClusterAuthzRole')",message="ClusterAuthzRoleBinding can only reference ClusterAuthzRole"
func (*ClusterAuthzRoleBindingSpec) DeepCopy ¶ added in v1.0.0
func (in *ClusterAuthzRoleBindingSpec) DeepCopy() *ClusterAuthzRoleBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAuthzRoleBindingSpec.
func (*ClusterAuthzRoleBindingSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterAuthzRoleBindingSpec) DeepCopyInto(out *ClusterAuthzRoleBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAuthzRoleList ¶ added in v1.0.0
type ClusterAuthzRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []ClusterAuthzRole `json:"items"`
}
ClusterAuthzRoleList contains a list of ClusterAuthzRole
func (*ClusterAuthzRoleList) DeepCopy ¶ added in v1.0.0
func (in *ClusterAuthzRoleList) DeepCopy() *ClusterAuthzRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAuthzRoleList.
func (*ClusterAuthzRoleList) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterAuthzRoleList) DeepCopyInto(out *ClusterAuthzRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterAuthzRoleList) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterAuthzRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterAuthzRoleSpec ¶ added in v1.0.0
type ClusterAuthzRoleSpec struct {
// Actions is the list of actions this role can perform
// +kubebuilder:validation:MinItems=1
// +kubebuilder:example:={"component:create"}
// +required
Actions []string `json:"actions"`
// Description is a human-readable description of the role
// +optional
Description string `json:"description,omitempty"`
}
ClusterAuthzRoleSpec defines the desired state of ClusterAuthzRole
func (*ClusterAuthzRoleSpec) DeepCopy ¶ added in v1.0.0
func (in *ClusterAuthzRoleSpec) DeepCopy() *ClusterAuthzRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAuthzRoleSpec.
func (*ClusterAuthzRoleSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterAuthzRoleSpec) DeepCopyInto(out *ClusterAuthzRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterComponentType ¶ added in v0.16.0
type ClusterComponentType struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterComponentTypeSpec `json:"spec,omitempty"`
Status ClusterComponentTypeStatus `json:"status,omitempty"`
}
ClusterComponentType is the Schema for the clustercomponenttypes API. ClusterComponentType is a cluster-scoped version of ComponentType that can be referenced by Components across all namespaces.
func (*ClusterComponentType) DeepCopy ¶ added in v0.16.0
func (in *ClusterComponentType) DeepCopy() *ClusterComponentType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComponentType.
func (*ClusterComponentType) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterComponentType) DeepCopyInto(out *ClusterComponentType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterComponentType) DeepCopyObject ¶ added in v0.16.0
func (in *ClusterComponentType) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterComponentTypeList ¶ added in v0.16.0
type ClusterComponentTypeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterComponentType `json:"items"`
}
ClusterComponentTypeList contains a list of ClusterComponentType.
func (*ClusterComponentTypeList) DeepCopy ¶ added in v0.16.0
func (in *ClusterComponentTypeList) DeepCopy() *ClusterComponentTypeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComponentTypeList.
func (*ClusterComponentTypeList) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterComponentTypeList) DeepCopyInto(out *ClusterComponentTypeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterComponentTypeList) DeepCopyObject ¶ added in v0.16.0
func (in *ClusterComponentTypeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterComponentTypeSpec ¶ added in v0.16.0
type ClusterComponentTypeSpec struct {
// WorkloadType must be one of: deployment, statefulset, cronjob, job, proxy
// This determines the primary workload resource type for this component type
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=deployment;statefulset;cronjob;job;proxy
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workloadType cannot be changed after creation"
WorkloadType string `json:"workloadType"`
// AllowedWorkflows restricts which ClusterWorkflow CRs developers can use
// for building components of this type. If empty, no workflows are allowed.
// References must point to ClusterWorkflow resources.
// +optional
AllowedWorkflows []ClusterWorkflowRef `json:"allowedWorkflows,omitempty"`
// Parameters defines what developers can configure when creating components of this type.
// +optional
Parameters *SchemaSection `json:"parameters,omitempty"`
// EnvironmentConfigs defines per-environment configurations developers can set via ReleaseBinding.
// +optional
EnvironmentConfigs *SchemaSection `json:"environmentConfigs,omitempty"`
// Traits are pre-configured trait instances embedded in the ClusterComponentType.
// Only ClusterTrait references are allowed since ClusterComponentType is cluster-scoped.
// The PE binds trait parameters using concrete values or CEL expressions
// referencing the ComponentType schema (e.g., "${parameters.storage.mountPath}").
// These traits are automatically applied to all Components of this type.
// +optional
Traits []ClusterComponentTypeTrait `json:"traits,omitempty"`
// AllowedTraits restricts which ClusterTrait CRs developers can attach to Components of this type.
// When specified, only ClusterTraits listed here (matched by name) may be attached beyond those already embedded in spec.traits.
// ClusterTrait references listed here must not overlap with traits already embedded in spec.traits.
// If empty or omitted, no additional component-level traits are allowed.
// +optional
AllowedTraits []ClusterTraitRef `json:"allowedTraits,omitempty"`
// Validations are CEL-based rules evaluated during rendering.
// All rules must evaluate to true for rendering to proceed.
// +optional
Validations []ValidationRule `json:"validations,omitempty"`
// Resources are templates that generate Kubernetes resources dynamically.
// At least one resource template is required. For non-proxy workload types,
// one resource must have an id matching the workloadType. When workloadType
// is "proxy", a matching resource id is not required.
// +kubebuilder:validation:MinItems=1
Resources []ResourceTemplate `json:"resources"`
}
ClusterComponentTypeSpec defines the desired state of ClusterComponentType. +kubebuilder:validation:XValidation:rule="self.workloadType == 'proxy' || self.resources.exists(r, r.id == self.workloadType)",message="resources must contain a primary resource with id matching workloadType (unless workloadType is 'proxy')"
func (*ClusterComponentTypeSpec) DeepCopy ¶ added in v0.16.0
func (in *ClusterComponentTypeSpec) DeepCopy() *ClusterComponentTypeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComponentTypeSpec.
func (*ClusterComponentTypeSpec) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterComponentTypeSpec) DeepCopyInto(out *ClusterComponentTypeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterComponentTypeStatus ¶ added in v0.16.0
type ClusterComponentTypeStatus struct {
}
ClusterComponentTypeStatus defines the observed state of ClusterComponentType.
func (*ClusterComponentTypeStatus) DeepCopy ¶ added in v0.16.0
func (in *ClusterComponentTypeStatus) DeepCopy() *ClusterComponentTypeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComponentTypeStatus.
func (*ClusterComponentTypeStatus) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterComponentTypeStatus) DeepCopyInto(out *ClusterComponentTypeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterComponentTypeTrait ¶ added in v0.16.0
type ClusterComponentTypeTrait struct {
// Kind is the kind of trait. Must be ClusterTrait.
// +kubebuilder:default=ClusterTrait
Kind ClusterTraitRefKind `json:"kind,omitempty"`
// Name is the name of the ClusterTrait resource to use.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// InstanceName uniquely identifies this trait instance.
// Must be unique across all embedded traits in the ClusterComponentType
// and must not collide with any component-level trait instance names.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
InstanceName string `json:"instanceName"`
// Parameters contains trait parameter bindings.
// Values can be concrete (locked by PE) or CEL expressions referencing
// the ComponentType schema using ${...} syntax.
// Example: "${parameters.storage.mountPath}" or "app-data" (locked)
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
// EnvironmentConfigs contains trait environment config bindings.
// Values can be concrete (locked by PE) or CEL expressions referencing
// the ComponentType schema using ${...} syntax.
// Example: "${environmentConfigs.storage.size}" or "local-path" (locked)
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
EnvironmentConfigs *runtime.RawExtension `json:"environmentConfigs,omitempty"`
}
ClusterComponentTypeTrait represents a pre-configured trait instance embedded in a ClusterComponentType. Only ClusterTrait references are allowed since ClusterComponentType is cluster-scoped.
func (*ClusterComponentTypeTrait) DeepCopy ¶ added in v0.16.0
func (in *ClusterComponentTypeTrait) DeepCopy() *ClusterComponentTypeTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComponentTypeTrait.
func (*ClusterComponentTypeTrait) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterComponentTypeTrait) DeepCopyInto(out *ClusterComponentTypeTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDataPlane ¶ added in v0.14.0
type ClusterDataPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterDataPlaneSpec `json:"spec,omitempty"`
Status ClusterDataPlaneStatus `json:"status,omitempty"`
}
ClusterDataPlane is the Schema for the clusterdataplanes API. It is a cluster-scoped version of DataPlane, allowing platform administrators to define data plane configurations that can be referenced across multiple namespaces.
func (*ClusterDataPlane) DeepCopy ¶ added in v0.14.0
func (in *ClusterDataPlane) DeepCopy() *ClusterDataPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataPlane.
func (*ClusterDataPlane) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterDataPlane) DeepCopyInto(out *ClusterDataPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterDataPlane) DeepCopyObject ¶ added in v0.14.0
func (in *ClusterDataPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterDataPlane) GetConditions ¶ added in v0.14.0
func (c *ClusterDataPlane) GetConditions() []metav1.Condition
GetConditions returns the conditions of the ClusterDataPlane.
func (*ClusterDataPlane) SetConditions ¶ added in v0.14.0
func (c *ClusterDataPlane) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the ClusterDataPlane.
type ClusterDataPlaneList ¶ added in v0.14.0
type ClusterDataPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterDataPlane `json:"items"`
}
ClusterDataPlaneList contains a list of ClusterDataPlane.
func (*ClusterDataPlaneList) DeepCopy ¶ added in v0.14.0
func (in *ClusterDataPlaneList) DeepCopy() *ClusterDataPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataPlaneList.
func (*ClusterDataPlaneList) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterDataPlaneList) DeepCopyInto(out *ClusterDataPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterDataPlaneList) DeepCopyObject ¶ added in v0.14.0
func (in *ClusterDataPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterDataPlaneSpec ¶ added in v0.14.0
type ClusterDataPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple ClusterDataPlane CRs can share the same planeID to connect to the same physical cluster
// while maintaining separate configurations for multi-tenancy scenarios.
// This field is required and must uniquely identify the physical cluster agent connection.
// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
// Examples: "prod-cluster", "shared-dataplane", "us-east-1"
// +kubebuilder:validation:Required
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
PlaneID string `json:"planeID"`
// ClusterAgent specifies the configuration for cluster agent-based communication
// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
// This field is mandatory - all data planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// Gateway specifies the configuration for the API gateway in this DataPlane.
// +optional
Gateway GatewaySpec `json:"gateway,omitempty"`
// SecretStoreRef specifies the ESO ClusterSecretStore to use in the data plane
// +optional
SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`
// ObservabilityPlaneRef specifies the ClusterObservabilityPlane for this ClusterDataPlane.
// Since this is a cluster-scoped resource, it can only reference cluster-scoped ClusterObservabilityPlane.
// Namespace-scoped ObservabilityPlane references are NOT supported for cluster-scoped resources.
//
// Default behavior:
// - If not specified, the system looks for a ClusterObservabilityPlane named "default"
// - If "default" ClusterObservabilityPlane doesn't exist, observability features are disabled
//
// The kind field must be "ClusterObservabilityPlane".
// +optional
// +kubebuilder:validation:XValidation:rule="!has(self.kind) || self.kind == 'ClusterObservabilityPlane'",message="ClusterDataPlane can only reference ClusterObservabilityPlane"
ObservabilityPlaneRef *ClusterObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}
ClusterDataPlaneSpec defines the desired state of ClusterDataPlane. This is a cluster-scoped version of DataPlaneSpec, allowing platform admins to define data planes that can be referenced across namespaces.
func (*ClusterDataPlaneSpec) DeepCopy ¶ added in v0.14.0
func (in *ClusterDataPlaneSpec) DeepCopy() *ClusterDataPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataPlaneSpec.
func (*ClusterDataPlaneSpec) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterDataPlaneSpec) DeepCopyInto(out *ClusterDataPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDataPlaneStatus ¶ added in v0.14.0
type ClusterDataPlaneStatus struct {
// ObservedGeneration reflects the generation of the most recently observed ClusterDataPlane.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the current state of the ClusterDataPlane resource.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this data plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
ClusterDataPlaneStatus defines the observed state of ClusterDataPlane.
func (*ClusterDataPlaneStatus) DeepCopy ¶ added in v0.14.0
func (in *ClusterDataPlaneStatus) DeepCopy() *ClusterDataPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataPlaneStatus.
func (*ClusterDataPlaneStatus) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterDataPlaneStatus) DeepCopyInto(out *ClusterDataPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterObservabilityPlane ¶ added in v0.14.0
type ClusterObservabilityPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterObservabilityPlaneSpec `json:"spec,omitempty"`
Status ClusterObservabilityPlaneStatus `json:"status,omitempty"`
}
ClusterObservabilityPlane is the Schema for the clusterobservabilityplanes API. It is a cluster-scoped version of ObservabilityPlane, allowing platform administrators to define observability plane configurations that can be referenced across multiple namespaces.
func (*ClusterObservabilityPlane) DeepCopy ¶ added in v0.14.0
func (in *ClusterObservabilityPlane) DeepCopy() *ClusterObservabilityPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservabilityPlane.
func (*ClusterObservabilityPlane) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterObservabilityPlane) DeepCopyInto(out *ClusterObservabilityPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterObservabilityPlane) DeepCopyObject ¶ added in v0.14.0
func (in *ClusterObservabilityPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterObservabilityPlane) GetConditions ¶ added in v0.14.0
func (c *ClusterObservabilityPlane) GetConditions() []metav1.Condition
GetConditions returns the conditions of the ClusterObservabilityPlane.
func (*ClusterObservabilityPlane) SetConditions ¶ added in v0.14.0
func (c *ClusterObservabilityPlane) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the ClusterObservabilityPlane.
type ClusterObservabilityPlaneList ¶ added in v0.14.0
type ClusterObservabilityPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterObservabilityPlane `json:"items"`
}
ClusterObservabilityPlaneList contains a list of ClusterObservabilityPlane.
func (*ClusterObservabilityPlaneList) DeepCopy ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneList) DeepCopy() *ClusterObservabilityPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservabilityPlaneList.
func (*ClusterObservabilityPlaneList) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneList) DeepCopyInto(out *ClusterObservabilityPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterObservabilityPlaneList) DeepCopyObject ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterObservabilityPlaneRef ¶ added in v0.15.0
type ClusterObservabilityPlaneRef struct {
// Kind is the kind of observability plane. Must be ClusterObservabilityPlane.
// +required
Kind ClusterObservabilityPlaneRefKind `json:"kind"`
// Name is the name of the ClusterObservabilityPlane resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
Name string `json:"name"`
}
ClusterObservabilityPlaneRef represents a reference to a ClusterObservabilityPlane. Used by cluster-scoped resources (ClusterDataPlane, ClusterWorkflowPlane) that can only reference cluster-scoped observability planes.
func (*ClusterObservabilityPlaneRef) DeepCopy ¶ added in v0.15.0
func (in *ClusterObservabilityPlaneRef) DeepCopy() *ClusterObservabilityPlaneRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservabilityPlaneRef.
func (*ClusterObservabilityPlaneRef) DeepCopyInto ¶ added in v0.15.0
func (in *ClusterObservabilityPlaneRef) DeepCopyInto(out *ClusterObservabilityPlaneRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterObservabilityPlaneRefKind ¶ added in v0.15.0
type ClusterObservabilityPlaneRefKind string
ClusterObservabilityPlaneRefKind defines the kind for cluster-scoped observability plane references. Only ClusterObservabilityPlane is allowed since cluster-scoped resources can only reference other cluster-scoped resources. +kubebuilder:validation:Enum=ClusterObservabilityPlane
const ( // ClusterObservabilityPlaneRefKindClusterObservabilityPlane references a cluster-scoped ClusterObservabilityPlane ClusterObservabilityPlaneRefKindClusterObservabilityPlane ClusterObservabilityPlaneRefKind = "ClusterObservabilityPlane" )
type ClusterObservabilityPlaneSpec ¶ added in v0.14.0
type ClusterObservabilityPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple ClusterObservabilityPlane CRs can share the same planeID to connect to the same physical cluster
// while maintaining separate configurations for multi-tenancy scenarios.
// This field is required and must uniquely identify the physical cluster agent connection.
// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
// Examples: "shared-obs", "monitoring-cluster", "eu-central-1"
// +kubebuilder:validation:Required
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
PlaneID string `json:"planeID"`
// ClusterAgent specifies the configuration for cluster agent-based communication
// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
// This field is mandatory - all observability planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// ObserverURL is the base URL of the Observer API in the observability plane cluster
// +required
ObserverURL string `json:"observerURL"`
// RCAAgentURL is the base URL of the RCA Agent API in the observability plane cluster
// +optional
RCAAgentURL string `json:"rcaAgentURL,omitempty"`
}
ClusterObservabilityPlaneSpec defines the desired state of ClusterObservabilityPlane. This is a cluster-scoped version of ObservabilityPlaneSpec, allowing platform admins to define observability planes that can be referenced across namespaces.
func (*ClusterObservabilityPlaneSpec) DeepCopy ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneSpec) DeepCopy() *ClusterObservabilityPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservabilityPlaneSpec.
func (*ClusterObservabilityPlaneSpec) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneSpec) DeepCopyInto(out *ClusterObservabilityPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterObservabilityPlaneStatus ¶ added in v0.14.0
type ClusterObservabilityPlaneStatus struct {
// ObservedGeneration reflects the generation of the most recently observed ClusterObservabilityPlane.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the current state of the ClusterObservabilityPlane resource.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this observability plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
ClusterObservabilityPlaneStatus defines the observed state of ClusterObservabilityPlane.
func (*ClusterObservabilityPlaneStatus) DeepCopy ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneStatus) DeepCopy() *ClusterObservabilityPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservabilityPlaneStatus.
func (*ClusterObservabilityPlaneStatus) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterObservabilityPlaneStatus) DeepCopyInto(out *ClusterObservabilityPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterRoleMapping ¶ added in v1.0.0
type ClusterRoleMapping struct {
// RoleRef references the ClusterAuthzRole to bind
RoleRef RoleRef `json:"roleRef"`
// Scope defines the target scope within the ownership hierarchy
// +optional
Scope ClusterTargetScope `json:"scope,omitempty"`
}
ClusterRoleMapping pairs a role reference with an optional scope for cluster-scoped bindings +kubebuilder:validation:XValidation:rule="!has(self.scope) || (!has(self.scope.project) || has(self.scope.namespace)) && (!has(self.scope.component) || has(self.scope.project))",message="scope.project requires scope.namespace, and scope.component requires scope.project"
func (*ClusterRoleMapping) DeepCopy ¶ added in v1.0.0
func (in *ClusterRoleMapping) DeepCopy() *ClusterRoleMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleMapping.
func (*ClusterRoleMapping) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterRoleMapping) DeepCopyInto(out *ClusterRoleMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTargetScope ¶ added in v1.0.0
type ClusterTargetScope struct {
// Namespace scopes to a specific namespace (optional)
// +optional
Namespace string `json:"namespace,omitempty"`
// Project scopes to a specific project (optional, requires namespace)
// +optional
Project string `json:"project,omitempty"`
// Component scopes to a specific component (optional, requires project)
// +optional
Component string `json:"component,omitempty"`
}
ClusterTargetScope defines which resources this cluster binding applies to within the ownership hierarchy. All fields are optional - omitted fields mean "all" at that level.
func (*ClusterTargetScope) DeepCopy ¶ added in v1.0.0
func (in *ClusterTargetScope) DeepCopy() *ClusterTargetScope
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTargetScope.
func (*ClusterTargetScope) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterTargetScope) DeepCopyInto(out *ClusterTargetScope)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTrait ¶ added in v0.16.0
type ClusterTrait struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterTraitSpec `json:"spec,omitempty"`
Status ClusterTraitStatus `json:"status,omitempty"`
}
ClusterTrait is the Schema for the clustertraits API. ClusterTrait is a cluster-scoped version of Trait that can be referenced by Components across all namespaces.
func (*ClusterTrait) DeepCopy ¶ added in v0.16.0
func (in *ClusterTrait) DeepCopy() *ClusterTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTrait.
func (*ClusterTrait) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterTrait) DeepCopyInto(out *ClusterTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTrait) DeepCopyObject ¶ added in v0.16.0
func (in *ClusterTrait) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTraitList ¶ added in v0.16.0
type ClusterTraitList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterTrait `json:"items"`
}
ClusterTraitList contains a list of ClusterTrait.
func (*ClusterTraitList) DeepCopy ¶ added in v0.16.0
func (in *ClusterTraitList) DeepCopy() *ClusterTraitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTraitList.
func (*ClusterTraitList) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterTraitList) DeepCopyInto(out *ClusterTraitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTraitList) DeepCopyObject ¶ added in v0.16.0
func (in *ClusterTraitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTraitRef ¶ added in v0.16.0
type ClusterTraitRef struct {
// Kind is the kind of trait. Must be ClusterTrait.
// +required
Kind ClusterTraitRefKind `json:"kind"`
// Name is the name of the ClusterTrait resource
// +required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
}
ClusterTraitRef represents a reference to a ClusterTrait. Used by cluster-scoped resources (ClusterComponentType) that can only reference cluster-scoped traits.
func (*ClusterTraitRef) DeepCopy ¶ added in v0.16.0
func (in *ClusterTraitRef) DeepCopy() *ClusterTraitRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTraitRef.
func (*ClusterTraitRef) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterTraitRef) DeepCopyInto(out *ClusterTraitRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTraitRefKind ¶ added in v0.16.0
type ClusterTraitRefKind string
ClusterTraitRefKind defines the kind for cluster-scoped trait references. Only ClusterTrait is allowed since cluster-scoped resources can only reference other cluster-scoped resources. +kubebuilder:validation:Enum=ClusterTrait
const ( // ClusterTraitRefKindClusterTrait references a cluster-scoped ClusterTrait ClusterTraitRefKindClusterTrait ClusterTraitRefKind = "ClusterTrait" )
type ClusterTraitSpec ¶ added in v0.16.0
type ClusterTraitSpec struct {
// Parameters defines developer-facing configuration options for this trait.
// +optional
Parameters *SchemaSection `json:"parameters,omitempty"`
// EnvironmentConfigs defines per-environment configurations for this trait via ReleaseBinding.
// +optional
EnvironmentConfigs *SchemaSection `json:"environmentConfigs,omitempty"`
// Validations are CEL-based rules evaluated during rendering.
// All rules must evaluate to true for rendering to proceed.
// +optional
Validations []ValidationRule `json:"validations,omitempty"`
// Creates defines new Kubernetes resources to create when this trait is applied
// +optional
Creates []TraitCreate `json:"creates,omitempty"`
// Patches defines modifications to existing resources generated by the ComponentType
// +optional
Patches []TraitPatch `json:"patches,omitempty"`
}
ClusterTraitSpec defines the desired state of ClusterTrait.
func (*ClusterTraitSpec) DeepCopy ¶ added in v0.16.0
func (in *ClusterTraitSpec) DeepCopy() *ClusterTraitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTraitSpec.
func (*ClusterTraitSpec) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterTraitSpec) DeepCopyInto(out *ClusterTraitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTraitStatus ¶ added in v0.16.0
type ClusterTraitStatus struct {
}
ClusterTraitStatus defines the observed state of ClusterTrait.
func (*ClusterTraitStatus) DeepCopy ¶ added in v0.16.0
func (in *ClusterTraitStatus) DeepCopy() *ClusterTraitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTraitStatus.
func (*ClusterTraitStatus) DeepCopyInto ¶ added in v0.16.0
func (in *ClusterTraitStatus) DeepCopyInto(out *ClusterTraitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflow ¶ added in v1.0.0
type ClusterWorkflow struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterWorkflowSpec `json:"spec,omitempty"`
Status ClusterWorkflowStatus `json:"status,omitempty"`
}
ClusterWorkflow is the Schema for the clusterworkflows API. ClusterWorkflow is a cluster-scoped version of Workflow that can be referenced by Components across all namespaces.
func (*ClusterWorkflow) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflow) DeepCopy() *ClusterWorkflow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflow.
func (*ClusterWorkflow) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflow) DeepCopyInto(out *ClusterWorkflow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterWorkflow) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterWorkflow) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterWorkflowList ¶ added in v1.0.0
type ClusterWorkflowList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterWorkflow `json:"items"`
}
ClusterWorkflowList contains a list of ClusterWorkflow.
func (*ClusterWorkflowList) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowList) DeepCopy() *ClusterWorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowList.
func (*ClusterWorkflowList) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowList) DeepCopyInto(out *ClusterWorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterWorkflowList) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterWorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterWorkflowPlane ¶ added in v1.0.0
type ClusterWorkflowPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterWorkflowPlaneSpec `json:"spec,omitempty"`
Status ClusterWorkflowPlaneStatus `json:"status,omitempty"`
}
ClusterWorkflowPlane is the Schema for the clusterworkflowplanes API. It is a cluster-scoped version of WorkflowPlane, allowing platform administrators to define workflow plane configurations that can be referenced across multiple namespaces.
func (*ClusterWorkflowPlane) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowPlane) DeepCopy() *ClusterWorkflowPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowPlane.
func (*ClusterWorkflowPlane) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowPlane) DeepCopyInto(out *ClusterWorkflowPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterWorkflowPlane) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterWorkflowPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterWorkflowPlane) GetConditions ¶ added in v1.0.0
func (c *ClusterWorkflowPlane) GetConditions() []metav1.Condition
GetConditions returns the conditions of the ClusterWorkflowPlane.
func (*ClusterWorkflowPlane) SetConditions ¶ added in v1.0.0
func (c *ClusterWorkflowPlane) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the ClusterWorkflowPlane.
type ClusterWorkflowPlaneList ¶ added in v1.0.0
type ClusterWorkflowPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterWorkflowPlane `json:"items"`
}
ClusterWorkflowPlaneList contains a list of ClusterWorkflowPlane.
func (*ClusterWorkflowPlaneList) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneList) DeepCopy() *ClusterWorkflowPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowPlaneList.
func (*ClusterWorkflowPlaneList) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneList) DeepCopyInto(out *ClusterWorkflowPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterWorkflowPlaneList) DeepCopyObject ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterWorkflowPlaneRef ¶ added in v1.0.0
type ClusterWorkflowPlaneRef struct {
// Kind is the kind of workflow plane. Must be ClusterWorkflowPlane.
// +required
Kind ClusterWorkflowPlaneRefKind `json:"kind"`
// Name is the name of the ClusterWorkflowPlane resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
ClusterWorkflowPlaneRef represents a reference to a ClusterWorkflowPlane. Used by cluster-scoped resources (ClusterWorkflow) that can only reference cluster-scoped workflow planes.
func (*ClusterWorkflowPlaneRef) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneRef) DeepCopy() *ClusterWorkflowPlaneRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowPlaneRef.
func (*ClusterWorkflowPlaneRef) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneRef) DeepCopyInto(out *ClusterWorkflowPlaneRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflowPlaneRefKind ¶ added in v1.0.0
type ClusterWorkflowPlaneRefKind string
ClusterWorkflowPlaneRefKind defines the kind for cluster-scoped workflow plane references. Only ClusterWorkflowPlane is allowed since cluster-scoped resources can only reference other cluster-scoped resources. +kubebuilder:validation:Enum=ClusterWorkflowPlane
const ( // ClusterWorkflowPlaneRefKindClusterWorkflowPlane references a cluster-scoped ClusterWorkflowPlane ClusterWorkflowPlaneRefKindClusterWorkflowPlane ClusterWorkflowPlaneRefKind = "ClusterWorkflowPlane" )
type ClusterWorkflowPlaneSpec ¶ added in v1.0.0
type ClusterWorkflowPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple ClusterWorkflowPlane CRs can share the same planeID to connect to the same physical cluster
// while maintaining separate configurations for multi-tenancy scenarios.
// This field is required and must uniquely identify the physical cluster agent connection.
// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
// Examples: "shared-builder", "ci-cluster", "us-west-2"
// +kubebuilder:validation:Required
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
PlaneID string `json:"planeID"`
// ClusterAgent specifies the configuration for cluster agent-based communication
// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
// This field is mandatory - all workflow planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// SecretStoreRef specifies the ESO ClusterSecretStore to use in the workflow plane
// +optional
SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`
// ObservabilityPlaneRef specifies the ClusterObservabilityPlane for this ClusterWorkflowPlane.
// Since this is a cluster-scoped resource, it can only reference cluster-scoped ClusterObservabilityPlane.
// Namespace-scoped ObservabilityPlane references are NOT supported for cluster-scoped resources.
//
// Default behavior:
// - If not specified, the controller defaults to a ClusterObservabilityPlane named "default"
// - If the "default" ClusterObservabilityPlane does not exist, reconciliation fails with an error
//
// The kind field must be "ClusterObservabilityPlane".
// +optional
// +kubebuilder:validation:XValidation:rule="!has(self.kind) || self.kind == 'ClusterObservabilityPlane'",message="ClusterWorkflowPlane can only reference ClusterObservabilityPlane"
ObservabilityPlaneRef *ClusterObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}
ClusterWorkflowPlaneSpec defines the desired state of ClusterWorkflowPlane. This is a cluster-scoped version of WorkflowPlaneSpec, allowing platform admins to define workflow planes that can be referenced across namespaces.
func (*ClusterWorkflowPlaneSpec) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneSpec) DeepCopy() *ClusterWorkflowPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowPlaneSpec.
func (*ClusterWorkflowPlaneSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneSpec) DeepCopyInto(out *ClusterWorkflowPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflowPlaneStatus ¶ added in v1.0.0
type ClusterWorkflowPlaneStatus struct {
// ObservedGeneration reflects the generation of the most recently observed ClusterWorkflowPlane.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the current state of the ClusterWorkflowPlane resource.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this workflow plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
ClusterWorkflowPlaneStatus defines the observed state of ClusterWorkflowPlane.
func (*ClusterWorkflowPlaneStatus) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneStatus) DeepCopy() *ClusterWorkflowPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowPlaneStatus.
func (*ClusterWorkflowPlaneStatus) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowPlaneStatus) DeepCopyInto(out *ClusterWorkflowPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflowRef ¶ added in v1.0.0
type ClusterWorkflowRef struct {
// Kind is the kind of workflow. Must be ClusterWorkflow.
// +required
Kind ClusterWorkflowRefKind `json:"kind"`
// Name is the name of the ClusterWorkflow resource
// +required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
}
ClusterWorkflowRef represents a reference to a ClusterWorkflow resource. Used by cluster-scoped resources (ClusterComponentType) that can only reference cluster-scoped workflows.
func (*ClusterWorkflowRef) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowRef) DeepCopy() *ClusterWorkflowRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowRef.
func (*ClusterWorkflowRef) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowRef) DeepCopyInto(out *ClusterWorkflowRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflowRefKind ¶ added in v1.0.0
type ClusterWorkflowRefKind string
ClusterWorkflowRefKind defines the kind for cluster-scoped workflow references. +kubebuilder:validation:Enum=ClusterWorkflow
const ( // ClusterWorkflowRefKindClusterWorkflow references a cluster-scoped ClusterWorkflow ClusterWorkflowRefKindClusterWorkflow ClusterWorkflowRefKind = "ClusterWorkflow" )
type ClusterWorkflowSpec ¶ added in v1.0.0
type ClusterWorkflowSpec struct {
// WorkflowPlaneRef references the ClusterWorkflowPlane for this workflow's operations.
// Defaults to ClusterWorkflowPlane named "default" when omitted.
// +optional
// +kubebuilder:default={kind: "ClusterWorkflowPlane", name: "default"}
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workflowPlaneRef is immutable"
WorkflowPlaneRef *ClusterWorkflowPlaneRef `json:"workflowPlaneRef,omitempty"`
// Parameters defines the developer-facing parameters that can be configured
// when creating a WorkflowRun instance.
// +optional
Parameters *SchemaSection `json:"parameters,omitempty"`
// RunTemplate is the Kubernetes resource template to be rendered and applied to the cluster.
// Template variables are substituted with context and parameter values.
// Supported template variables:
// - ${metadata.workflowRunName} - WorkflowRun name (the execution instance)
// - ${metadata.namespaceName} - Namespace name
// - ${metadata.namespace} - Enforced workflow execution namespace (e.g., "workflows-<namespaceName>")
// - ${metadata.labels['key']} - WorkflowRun labels
// - ${parameters.*} - Developer-provided parameter values
// - ${workflowplane.secretStore} - ESO ClusterSecretStore name from the WorkflowPlane
// - ${externalRefs['<id>'].spec.*} - Resolved external CR specs (declared via externalRefs)
//
// +required
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
RunTemplate *runtime.RawExtension `json:"runTemplate"`
// Resources are additional templates that generate Kubernetes resources dynamically.
// +optional
Resources []WorkflowResource `json:"resources,omitempty"`
// ExternalRefs declares references to external CRs that are resolved at runtime.
// +optional
// +listType=map
// +listMapKey=id
ExternalRefs []ExternalRef `json:"externalRefs,omitempty"`
// TTLAfterCompletion defines the time-to-live for WorkflowRun instances after completion.
// +optional
// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}
ClusterWorkflowSpec defines the desired state of ClusterWorkflow. ClusterWorkflow is a cluster-scoped version of Workflow that can be referenced by Components across all namespaces via ClusterComponentType.
func (*ClusterWorkflowSpec) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowSpec) DeepCopy() *ClusterWorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowSpec.
func (*ClusterWorkflowSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowSpec) DeepCopyInto(out *ClusterWorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflowStatus ¶ added in v1.0.0
type ClusterWorkflowStatus struct {
// conditions represent the current state of the ClusterWorkflow resource.
// Each condition has a unique type and reflects the status of a specific aspect of the resource.
//
// The status of each condition is one of True, False, or Unknown.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ClusterWorkflowStatus defines the observed state of ClusterWorkflow.
func (*ClusterWorkflowStatus) DeepCopy ¶ added in v1.0.0
func (in *ClusterWorkflowStatus) DeepCopy() *ClusterWorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowStatus.
func (*ClusterWorkflowStatus) DeepCopyInto ¶ added in v1.0.0
func (in *ClusterWorkflowStatus) DeepCopyInto(out *ClusterWorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Component ¶
type Component struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComponentSpec `json:"spec,omitempty"`
Status ComponentStatus `json:"status,omitempty"`
}
Component is the Schema for the components API.
func (*Component) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Component) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Component) GetConditions ¶
func (*Component) SetConditions ¶
type ComponentList ¶
type ComponentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Component `json:"items"`
}
ComponentList contains a list of Component.
func (*ComponentList) DeepCopy ¶
func (in *ComponentList) DeepCopy() *ComponentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentList.
func (*ComponentList) DeepCopyInto ¶
func (in *ComponentList) DeepCopyInto(out *ComponentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentList) DeepCopyObject ¶
func (in *ComponentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentOwner ¶
type ComponentOwner struct {
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
}
func (*ComponentOwner) DeepCopy ¶
func (in *ComponentOwner) DeepCopy() *ComponentOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentOwner.
func (*ComponentOwner) DeepCopyInto ¶
func (in *ComponentOwner) DeepCopyInto(out *ComponentOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentProfile ¶ added in v0.5.0
type ComponentProfile struct {
// Parameters holds the snapshot of parameter values from the Component spec
// The schema for these values is defined in the ComponentType's parameters schema
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
// Traits holds the snapshot of trait instances configured on the component at release time.
// Each entry records the kind, name, and instanceName of the trait, along with any
// user-supplied parameters, using the composite (kind, name) key to unambiguously identify
// the trait spec in ComponentReleaseSpec.Traits.
// +optional
Traits []ComponentProfileTrait `json:"traits,omitempty"`
}
ComponentProfile defines a snapshot of a component's spec
func (*ComponentProfile) DeepCopy ¶ added in v0.5.0
func (in *ComponentProfile) DeepCopy() *ComponentProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentProfile.
func (*ComponentProfile) DeepCopyInto ¶ added in v0.5.0
func (in *ComponentProfile) DeepCopyInto(out *ComponentProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentProfileTrait ¶ added in v1.0.0
type ComponentProfileTrait struct {
// Kind identifies whether this is a namespace-scoped Trait or a cluster-scoped ClusterTrait.
// +kubebuilder:validation:Required
Kind TraitRefKind `json:"kind"`
// Name is the name of the Trait or ClusterTrait resource.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// InstanceName uniquely identifies this trait instance within the component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
InstanceName string `json:"instanceName"`
// Parameters contains the trait parameter values supplied by the user.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}
ComponentProfileTrait is a snapshot of a single trait instance configured on a component. It records the kind and name of the trait (to look up the spec in ComponentReleaseSpec.Traits), the instance name (unique within the component), and any user-supplied parameters.
func (*ComponentProfileTrait) DeepCopy ¶ added in v1.0.0
func (in *ComponentProfileTrait) DeepCopy() *ComponentProfileTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentProfileTrait.
func (*ComponentProfileTrait) DeepCopyInto ¶ added in v1.0.0
func (in *ComponentProfileTrait) DeepCopyInto(out *ComponentProfileTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentRelease ¶ added in v0.5.0
type ComponentRelease struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComponentReleaseSpec `json:"spec,omitempty"`
Status ComponentReleaseStatus `json:"status,omitempty"`
}
ComponentRelease is the Schema for the componentreleases API.
func (*ComponentRelease) DeepCopy ¶ added in v0.5.0
func (in *ComponentRelease) DeepCopy() *ComponentRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentRelease.
func (*ComponentRelease) DeepCopyInto ¶ added in v0.5.0
func (in *ComponentRelease) DeepCopyInto(out *ComponentRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentRelease) DeepCopyObject ¶ added in v0.5.0
func (in *ComponentRelease) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentReleaseComponentType ¶ added in v1.0.0
type ComponentReleaseComponentType struct {
// Kind identifies whether this is a namespace-scoped ComponentType or a cluster-scoped ClusterComponentType.
// +kubebuilder:validation:Required
Kind ComponentTypeRefKind `json:"kind"`
// Name is the component type reference in format: {workloadType}/{componentTypeName}
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Spec is the frozen specification of the component type at the time of this ComponentRelease.
// +kubebuilder:validation:Required
Spec ComponentTypeSpec `json:"spec"`
}
ComponentReleaseComponentType is the frozen snapshot of a ComponentType or ClusterComponentType resource stored on a ComponentRelease. It preserves the Kind and Name of the original resource alongside its full spec so that consumers can distinguish namespace-scoped ComponentTypes from cluster-scoped ClusterComponentTypes.
func (*ComponentReleaseComponentType) DeepCopy ¶ added in v1.0.0
func (in *ComponentReleaseComponentType) DeepCopy() *ComponentReleaseComponentType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentReleaseComponentType.
func (*ComponentReleaseComponentType) DeepCopyInto ¶ added in v1.0.0
func (in *ComponentReleaseComponentType) DeepCopyInto(out *ComponentReleaseComponentType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentReleaseList ¶ added in v0.5.0
type ComponentReleaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComponentRelease `json:"items"`
}
ComponentReleaseList contains a list of ComponentRelease.
func (*ComponentReleaseList) DeepCopy ¶ added in v0.5.0
func (in *ComponentReleaseList) DeepCopy() *ComponentReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentReleaseList.
func (*ComponentReleaseList) DeepCopyInto ¶ added in v0.5.0
func (in *ComponentReleaseList) DeepCopyInto(out *ComponentReleaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentReleaseList) DeepCopyObject ¶ added in v0.5.0
func (in *ComponentReleaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentReleaseOwner ¶ added in v0.5.0
type ComponentReleaseOwner struct {
// ProjectName is the name of the project that owns this component
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
// ComponentName is the name of the component
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ComponentName string `json:"componentName"`
}
ComponentReleaseOwner identifies the component this ComponentRelease belongs to
func (*ComponentReleaseOwner) DeepCopy ¶ added in v0.5.0
func (in *ComponentReleaseOwner) DeepCopy() *ComponentReleaseOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentReleaseOwner.
func (*ComponentReleaseOwner) DeepCopyInto ¶ added in v0.5.0
func (in *ComponentReleaseOwner) DeepCopyInto(out *ComponentReleaseOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentReleaseSpec ¶ added in v0.5.0
type ComponentReleaseSpec struct {
// Owner identifies the component and project this ComponentRelease belongs to
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner ComponentReleaseOwner `json:"owner"`
// ComponentType is a frozen snapshot of the ComponentType resource at the time of component release.
// It records the kind and name of the original resource alongside its full spec, enabling
// the rendering pipeline to distinguish ComponentType from ClusterComponentType.
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentType is immutable"
ComponentType ComponentReleaseComponentType `json:"componentType"`
// Traits holds frozen trait specifications at the time of ComponentRelease, ensuring immutability.
// Each entry carries its kind (Trait or ClusterTrait), name, and spec, preserving the original
// resource identity so that a Trait and ClusterTrait with the same name can coexist.
// +optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.traits is immutable"
Traits []ComponentReleaseTrait `json:"traits,omitempty"`
// ComponentProfile contains the immutable snapshot of parameter values and trait configs
// specified for this component at release time
// +optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentProfile is immutable"
ComponentProfile *ComponentProfile `json:"componentProfile,omitempty"`
// Workload is a full embedded copy of the Workload
// This preserves the workload spec with the built image
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workload is immutable"
Workload WorkloadTemplateSpec `json:"workload"`
}
ComponentReleaseSpec defines the desired state of ComponentRelease.
func (*ComponentReleaseSpec) DeepCopy ¶ added in v0.5.0
func (in *ComponentReleaseSpec) DeepCopy() *ComponentReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentReleaseSpec.
func (*ComponentReleaseSpec) DeepCopyInto ¶ added in v0.5.0
func (in *ComponentReleaseSpec) DeepCopyInto(out *ComponentReleaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentReleaseStatus ¶ added in v0.5.0
type ComponentReleaseStatus struct {
}
ComponentReleaseStatus defines the observed state of ComponentRelease.
func (*ComponentReleaseStatus) DeepCopy ¶ added in v0.5.0
func (in *ComponentReleaseStatus) DeepCopy() *ComponentReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentReleaseStatus.
func (*ComponentReleaseStatus) DeepCopyInto ¶ added in v0.5.0
func (in *ComponentReleaseStatus) DeepCopyInto(out *ComponentReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentReleaseTrait ¶ added in v1.0.0
type ComponentReleaseTrait struct {
// Kind identifies whether this is a namespace-scoped Trait or a cluster-scoped ClusterTrait.
// +kubebuilder:validation:Required
Kind TraitRefKind `json:"kind"`
// Name is the name of the Trait or ClusterTrait resource.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Spec is the frozen specification of the trait at the time of this ComponentRelease.
// +kubebuilder:validation:Required
Spec TraitSpec `json:"spec"`
}
ComponentReleaseTrait is an entry in the frozen traits snapshot stored on a ComponentRelease. It preserves both the Kind and Name of the original trait resource so that a namespace-scoped Trait and a cluster-scoped ClusterTrait with the same name can coexist.
func (*ComponentReleaseTrait) DeepCopy ¶ added in v1.0.0
func (in *ComponentReleaseTrait) DeepCopy() *ComponentReleaseTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentReleaseTrait.
func (*ComponentReleaseTrait) DeepCopyInto ¶ added in v1.0.0
func (in *ComponentReleaseTrait) DeepCopyInto(out *ComponentReleaseTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentSource ¶
type ComponentSource struct {
// GitRepository specifies the configuration for the component source to be a Git repository indicating
// that the component should be built from the source code.
// This field is mutually exclusive with the other source types.
GitRepository *GitRepository `json:"gitRepository,omitempty"`
// ContainerRegistry specifies the configuration for the component source to be a container image indicating
// that the component should be deployed using the provided image.
// This field is mutually exclusive with the other source types.
ContainerRegistry *ContainerRegistry `json:"containerRegistry,omitempty"`
}
ComponentSource defines the source information of the component where the code or image is retrieved.
func (*ComponentSource) DeepCopy ¶
func (in *ComponentSource) DeepCopy() *ComponentSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSource.
func (*ComponentSource) DeepCopyInto ¶
func (in *ComponentSource) DeepCopyInto(out *ComponentSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentSpec ¶
type ComponentSpec struct {
// Owner defines the ownership information for the component
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner ComponentOwner `json:"owner"`
// ComponentType specifies the component type reference with kind and name.
// Name is in the format: {workloadType}/{componentTypeName}
// Example: kind=ComponentType, name="deployment/web-app"
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentType cannot be changed after creation"
ComponentType ComponentTypeRef `json:"componentType"`
// AutoDeploy indicates whether the component should be deployed automatically when created
// When not specified, defaults to false (zero value)
// +optional
AutoDeploy bool `json:"autoDeploy,omitempty"`
// AutoBuild enables automatic builds when code is pushed to the repository
// When enabled, webhook events will trigger builds automatically
// Users must manually configure webhooks in their Git provider
// +optional
AutoBuild *bool `json:"autoBuild,omitempty"`
// Parameters from ComponentType (oneOf schema based on componentType)
// This is the merged schema of parameters + environmentConfigs from the ComponentType
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
// Traits to compose into this component
// Each trait can be instantiated multiple times with different instanceNames
// +optional
Traits []ComponentTrait `json:"traits,omitempty"`
// Workflow defines the workflow configuration for building the component.
// This references a Workflow CR and provides parameter values.
// The Workflow must be in the allowedWorkflows list of the ComponentType.
// +optional
Workflow *ComponentWorkflowConfig `json:"workflow,omitempty"`
}
ComponentSpec defines the desired state of Component.
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentStatus ¶
type ComponentStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
// LatestRelease keeps the information of the latest ComponentRelease created for this component
// This is used to make sure the component's latest ComponentRelease is always
// deployed to the first environment, if the autoDeploy flag is set to true
// +optional
LatestRelease *LatestRelease `json:"latestRelease,omitempty"`
}
ComponentStatus defines the observed state of Component.
func (*ComponentStatus) DeepCopy ¶
func (in *ComponentStatus) DeepCopy() *ComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatus.
func (*ComponentStatus) DeepCopyInto ¶
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentTrait ¶ added in v0.4.0
type ComponentTrait struct {
// Kind is the kind of trait (Trait or ClusterTrait)
// +optional
// +kubebuilder:default=Trait
Kind TraitRefKind `json:"kind,omitempty"`
// Name is the name of the Trait resource to use
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// InstanceName uniquely identifies this trait instance within the component
// Allows the same trait to be used multiple times with different configurations
// Must be unique across all traits in the component
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
InstanceName string `json:"instanceName"`
// Parameters contains the trait parameter values
// The schema for these values is defined in the Trait's parameters schema
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}
ComponentTrait represents an trait instance attached to a component
func (*ComponentTrait) DeepCopy ¶ added in v0.4.0
func (in *ComponentTrait) DeepCopy() *ComponentTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTrait.
func (*ComponentTrait) DeepCopyInto ¶ added in v0.4.0
func (in *ComponentTrait) DeepCopyInto(out *ComponentTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentType ¶
type ComponentType struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComponentTypeSpec `json:"spec,omitempty"`
Status ComponentTypeStatus `json:"status,omitempty"`
}
ComponentType is the Schema for the componenttypes API.
func (*ComponentType) DeepCopy ¶ added in v0.4.0
func (in *ComponentType) DeepCopy() *ComponentType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentType.
func (*ComponentType) DeepCopyInto ¶ added in v0.4.0
func (in *ComponentType) DeepCopyInto(out *ComponentType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentType) DeepCopyObject ¶ added in v0.4.0
func (in *ComponentType) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentTypeList ¶ added in v0.4.0
type ComponentTypeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComponentType `json:"items"`
}
ComponentTypeList contains a list of ComponentType.
func (*ComponentTypeList) DeepCopy ¶ added in v0.4.0
func (in *ComponentTypeList) DeepCopy() *ComponentTypeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTypeList.
func (*ComponentTypeList) DeepCopyInto ¶ added in v0.4.0
func (in *ComponentTypeList) DeepCopyInto(out *ComponentTypeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentTypeList) DeepCopyObject ¶ added in v0.4.0
func (in *ComponentTypeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentTypeRef ¶ added in v0.16.0
type ComponentTypeRef struct {
// Kind is the kind of component type (ComponentType or ClusterComponentType)
// +optional
// +kubebuilder:default=ComponentType
Kind ComponentTypeRefKind `json:"kind,omitempty"`
// Name is the component type reference in format: {workloadType}/{componentTypeName}
// +required
// +kubebuilder:validation:Pattern=`^(deployment|statefulset|cronjob|job|proxy)/[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
Name string `json:"name"`
}
ComponentTypeRef represents a reference to a ComponentType or ClusterComponentType
func (*ComponentTypeRef) DeepCopy ¶ added in v0.16.0
func (in *ComponentTypeRef) DeepCopy() *ComponentTypeRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTypeRef.
func (*ComponentTypeRef) DeepCopyInto ¶ added in v0.16.0
func (in *ComponentTypeRef) DeepCopyInto(out *ComponentTypeRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentTypeRefKind ¶ added in v0.16.0
type ComponentTypeRefKind string
ComponentTypeRefKind defines the kind of component type referenced by a ComponentTypeRef +kubebuilder:validation:Enum=ComponentType;ClusterComponentType
const ( // ComponentTypeRefKindComponentType references a namespace-scoped ComponentType ComponentTypeRefKindComponentType ComponentTypeRefKind = "ComponentType" // ComponentTypeRefKindClusterComponentType references a cluster-scoped ClusterComponentType ComponentTypeRefKindClusterComponentType ComponentTypeRefKind = "ClusterComponentType" )
type ComponentTypeSpec ¶ added in v0.4.0
type ComponentTypeSpec struct {
// WorkloadType must be one of: deployment, statefulset, cronjob, job, proxy
// This determines the primary workload resource type for this component type
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=deployment;statefulset;cronjob;job;proxy
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workloadType cannot be changed after creation"
WorkloadType string `json:"workloadType"`
// AllowedWorkflows restricts which workflow CRs developers can use
// for building components of this type. If empty, no workflows are allowed.
// Each entry is a WorkflowRef whose Kind defaults to ClusterWorkflow and
// may be either Workflow (namespace-scoped) or ClusterWorkflow (cluster-scoped).
// +optional
AllowedWorkflows []WorkflowRef `json:"allowedWorkflows,omitempty"`
// Parameters defines what developers can configure when creating components of this type.
// +optional
Parameters *SchemaSection `json:"parameters,omitempty"`
// EnvironmentConfigs defines per-environment configs developers can set via ReleaseBinding.
// +optional
EnvironmentConfigs *SchemaSection `json:"environmentConfigs,omitempty"`
// Traits are pre-configured trait instances embedded in the ComponentType.
// The PE binds trait parameters using concrete values or CEL expressions
// referencing the ComponentType schema (e.g., "${parameters.storage.mountPath}").
// These traits are automatically applied to all Components of this type.
// +optional
Traits []ComponentTypeTrait `json:"traits,omitempty"`
// AllowedTraits restricts which Trait or ClusterTrait CRs developers can attach to Components of this type.
// When specified, only traits listed here (matched by kind and name) may be attached beyond those already embedded in spec.traits.
// Trait references listed here must not overlap with traits already embedded in spec.traits.
// If empty or omitted, no additional component-level traits are allowed.
// +optional
AllowedTraits []TraitRef `json:"allowedTraits,omitempty"`
// Validations are CEL-based rules evaluated during rendering.
// All rules must evaluate to true for rendering to proceed.
// +optional
Validations []ValidationRule `json:"validations,omitempty"`
// Resources are templates that generate Kubernetes resources dynamically.
// At least one resource template is required. For non-proxy workload types,
// one resource must have an id matching the workloadType. When workloadType
// is "proxy", a matching resource id is not required.
// +kubebuilder:validation:MinItems=1
Resources []ResourceTemplate `json:"resources"`
}
ComponentTypeSpec defines the desired state of ComponentType. +kubebuilder:validation:XValidation:rule="self.workloadType == 'proxy' || self.resources.exists(r, r.id == self.workloadType)",message="resources must contain a primary resource with id matching workloadType (unless workloadType is 'proxy')"
func (*ComponentTypeSpec) DeepCopy ¶ added in v0.4.0
func (in *ComponentTypeSpec) DeepCopy() *ComponentTypeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTypeSpec.
func (*ComponentTypeSpec) DeepCopyInto ¶ added in v0.4.0
func (in *ComponentTypeSpec) DeepCopyInto(out *ComponentTypeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentTypeStatus ¶ added in v0.4.0
type ComponentTypeStatus struct {
}
ComponentTypeStatus defines the observed state of ComponentType.
func (*ComponentTypeStatus) DeepCopy ¶ added in v0.4.0
func (in *ComponentTypeStatus) DeepCopy() *ComponentTypeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTypeStatus.
func (*ComponentTypeStatus) DeepCopyInto ¶ added in v0.4.0
func (in *ComponentTypeStatus) DeepCopyInto(out *ComponentTypeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentTypeTrait ¶ added in v0.14.0
type ComponentTypeTrait struct {
// Kind is the kind of trait (Trait or ClusterTrait)
// +optional
// +kubebuilder:default=Trait
Kind TraitRefKind `json:"kind,omitempty"`
// Name is the name of the Trait resource to use.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// InstanceName uniquely identifies this trait instance.
// Must be unique across all embedded traits in the ComponentType
// and must not collide with any component-level trait instance names.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
InstanceName string `json:"instanceName"`
// Parameters contains trait parameter bindings.
// Values can be concrete (locked by PE) or CEL expressions referencing
// the ComponentType schema using ${...} syntax.
// Example: "${parameters.storage.mountPath}" or "app-data" (locked)
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
// EnvironmentConfigs contains trait environment config bindings.
// Values can be concrete (locked by PE) or CEL expressions referencing
// the ComponentType schema using ${...} syntax.
// Example: "${environmentConfigs.storage.size}" or "local-path" (locked)
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
EnvironmentConfigs *runtime.RawExtension `json:"environmentConfigs,omitempty"`
}
ComponentTypeTrait represents a pre-configured trait instance embedded in a ComponentType. The PE binds trait parameters using concrete values (locked) or CEL expressions referencing the ComponentType schema (wired to developer-configurable fields).
func (*ComponentTypeTrait) DeepCopy ¶ added in v0.14.0
func (in *ComponentTypeTrait) DeepCopy() *ComponentTypeTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTypeTrait.
func (*ComponentTypeTrait) DeepCopyInto ¶ added in v0.14.0
func (in *ComponentTypeTrait) DeepCopyInto(out *ComponentTypeTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentWorkflowConfig ¶ added in v1.0.0
type ComponentWorkflowConfig struct {
// Kind is the kind of workflow (Workflow or ClusterWorkflow).
// +optional
// +kubebuilder:default=ClusterWorkflow
Kind WorkflowRefKind `json:"kind,omitempty"`
// Name references the Workflow or ClusterWorkflow CR to use for building the component.
// The Workflow must be in the allowedWorkflows list of the ComponentType.
// +required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Parameters contains the developer-provided values for the flexible parameter schema
// defined in the referenced Workflow CR.
//
// These values are validated against the Workflow's parameter schema.
//
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}
ComponentWorkflowConfig defines the workflow configuration for a component. Unlike WorkflowRunConfig, this struct does not enforce immutability on kind and name, allowing the component's workflow reference to be changed.
func (*ComponentWorkflowConfig) DeepCopy ¶ added in v1.0.0
func (in *ComponentWorkflowConfig) DeepCopy() *ComponentWorkflowConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentWorkflowConfig.
func (*ComponentWorkflowConfig) DeepCopyInto ¶ added in v1.0.0
func (in *ComponentWorkflowConfig) DeepCopyInto(out *ComponentWorkflowConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionEnvBindings ¶ added in v0.17.0
type ConnectionEnvBindings struct {
// Address is the env var name for the protocol-appropriate connection string.
// For HTTP/HTTPS/WS/WSS: scheme://host:port/basePath
// For gRPC/TCP/UDP: host:port
// +optional
Address string `json:"address,omitempty"`
// Host is the optional env var name for just the hostname.
// +optional
Host string `json:"host,omitempty"`
// Port is the optional env var name for just the port number.
// +optional
Port string `json:"port,omitempty"`
// BasePath is the optional env var name for just the base path.
// +optional
BasePath string `json:"basePath,omitempty"`
}
ConnectionEnvBindings defines env var names for resolved connection address components.
func (*ConnectionEnvBindings) DeepCopy ¶ added in v0.17.0
func (in *ConnectionEnvBindings) DeepCopy() *ConnectionEnvBindings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionEnvBindings.
func (*ConnectionEnvBindings) DeepCopyInto ¶ added in v0.17.0
func (in *ConnectionEnvBindings) DeepCopyInto(out *ConnectionEnvBindings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionTarget ¶ added in v0.17.0
type ConnectionTarget struct {
// Namespace is the control plane namespace of the target component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Namespace string `json:"namespace"`
// Project is the name of the project that owns the target component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Project string `json:"project"`
// Component is the name of the target component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Component string `json:"component"`
// Endpoint is the name of the endpoint on the target component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Endpoint string `json:"endpoint"`
// Visibility is the desired visibility level for resolving the endpoint URL.
// +kubebuilder:validation:Required
Visibility EndpointVisibility `json:"visibility"`
// Environment is the resolved target environment name for this connection.
// This matches the consumer's environment.
// +optional
Environment string `json:"environment,omitempty"`
}
ConnectionTarget identifies a specific endpoint on a target component to resolve.
func (*ConnectionTarget) DeepCopy ¶ added in v0.17.0
func (in *ConnectionTarget) DeepCopy() *ConnectionTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionTarget.
func (*ConnectionTarget) DeepCopyInto ¶ added in v0.17.0
func (in *ConnectionTarget) DeepCopyInto(out *ConnectionTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Container ¶
type Container struct {
// OCI image to run (digest or tag).
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Image string `json:"image"`
// Container entrypoint & args.
// +optional
Command []string `json:"command,omitempty"`
// +optional
Args []string `json:"args,omitempty"`
// Explicit environment variables.
// +optional
Env []EnvVar `json:"env,omitempty"`
// File configurations.
// +optional
Files []FileVar `json:"files,omitempty"`
}
Container represents a single container in the workload.
func (*Container) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerOverride ¶ added in v0.5.0
type ContainerOverride struct {
// Explicit environment variables.
// +optional
Env []EnvVar `json:"env,omitempty"`
// File configurations.
// +optional
Files []FileVar `json:"files,omitempty"`
}
ContainerOverride represents a single container in the workload.
func (*ContainerOverride) DeepCopy ¶ added in v0.5.0
func (in *ContainerOverride) DeepCopy() *ContainerOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerOverride.
func (*ContainerOverride) DeepCopyInto ¶ added in v0.5.0
func (in *ContainerOverride) DeepCopyInto(out *ContainerOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRegistry ¶
type ContainerRegistry struct {
// Image name of the container image. Format: <registry>/<image> without the tag.
// Example: docker.io/library/nginx
ImageName string `json:"imageName,omitempty"`
// Authentication information to access the container registry.
Authentication *RegistryAuthentication `json:"authentication,omitempty"`
}
ContainerRegistry defines the container registry configuration.
func (*ContainerRegistry) DeepCopy ¶
func (in *ContainerRegistry) DeepCopy() *ContainerRegistry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRegistry.
func (*ContainerRegistry) DeepCopyInto ¶
func (in *ContainerRegistry) DeepCopyInto(out *ContainerRegistry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataPlane ¶
type DataPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DataPlaneSpec `json:"spec,omitempty"`
Status DataPlaneStatus `json:"status,omitempty"`
}
DataPlane is the Schema for the dataplanes API.
func (*DataPlane) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlane.
func (*DataPlane) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataPlane) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DataPlane) GetConditions ¶
func (*DataPlane) SetConditions ¶
type DataPlaneList ¶
type DataPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DataPlane `json:"items"`
}
DataPlaneList contains a list of DataPlane.
func (*DataPlaneList) DeepCopy ¶
func (in *DataPlaneList) DeepCopy() *DataPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneList.
func (*DataPlaneList) DeepCopyInto ¶
func (in *DataPlaneList) DeepCopyInto(out *DataPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataPlaneList) DeepCopyObject ¶
func (in *DataPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataPlaneRef ¶ added in v0.15.0
type DataPlaneRef struct {
// Kind is the kind of data plane (DataPlane or ClusterDataPlane)
// +required
Kind DataPlaneRefKind `json:"kind"`
// Name is the name of the data plane resource
// +required
Name string `json:"name"`
}
DataPlaneRef represents a reference to a DataPlane or ClusterDataPlane
func (*DataPlaneRef) DeepCopy ¶ added in v0.15.0
func (in *DataPlaneRef) DeepCopy() *DataPlaneRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneRef.
func (*DataPlaneRef) DeepCopyInto ¶ added in v0.15.0
func (in *DataPlaneRef) DeepCopyInto(out *DataPlaneRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataPlaneRefKind ¶ added in v0.15.0
type DataPlaneRefKind string
DataPlaneRefKind defines the kind of data plane referenced by a DataPlaneRef +kubebuilder:validation:Enum=DataPlane;ClusterDataPlane
const ( // DataPlaneRefKindDataPlane references a namespace-scoped DataPlane DataPlaneRefKindDataPlane DataPlaneRefKind = "DataPlane" // DataPlaneRefKindClusterDataPlane references a cluster-scoped ClusterDataPlane DataPlaneRefKindClusterDataPlane DataPlaneRefKind = "ClusterDataPlane" )
type DataPlaneSpec ¶
type DataPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple DataPlane CRs can share the same planeID to connect to the same physical cluster
// while maintaining separate configurations for multi-tenancy scenarios.
// If not specified, defaults to the CR name for backwards compatibility.
// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
// Examples: "prod-cluster", "shared-dataplane", "us-east-1"
// +optional
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
PlaneID string `json:"planeID,omitempty"`
// ClusterAgent specifies the configuration for cluster agent-based communication
// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
// This field is mandatory - all data planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// Gateway specifies the configuration for the API gateway in this DataPlane.
// +optional
Gateway GatewaySpec `json:"gateway,omitempty"`
// SecretStoreRef specifies the ESO ClusterSecretStore to use in the data plane
// +optional
SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`
// ObservabilityPlaneRef specifies the ObservabilityPlane or ClusterObservabilityPlane for this DataPlane.
// If not specified, defaults to an ObservabilityPlane named "default" in the same namespace.
// +optional
ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}
DataPlaneSpec defines the desired state of a DataPlane.
func (*DataPlaneSpec) DeepCopy ¶
func (in *DataPlaneSpec) DeepCopy() *DataPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneSpec.
func (*DataPlaneSpec) DeepCopyInto ¶
func (in *DataPlaneSpec) DeepCopyInto(out *DataPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataPlaneStatus ¶
type DataPlaneStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this data plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
DataPlaneStatus defines the observed state of DataPlane.
func (*DataPlaneStatus) DeepCopy ¶
func (in *DataPlaneStatus) DeepCopy() *DataPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneStatus.
func (*DataPlaneStatus) DeepCopyInto ¶
func (in *DataPlaneStatus) DeepCopyInto(out *DataPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentPipeline ¶
type DeploymentPipeline struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DeploymentPipelineSpec `json:"spec,omitempty"`
Status DeploymentPipelineStatus `json:"status,omitempty"`
}
DeploymentPipeline is the Schema for the deploymentpipelines API.
func (*DeploymentPipeline) DeepCopy ¶
func (in *DeploymentPipeline) DeepCopy() *DeploymentPipeline
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPipeline.
func (*DeploymentPipeline) DeepCopyInto ¶
func (in *DeploymentPipeline) DeepCopyInto(out *DeploymentPipeline)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentPipeline) DeepCopyObject ¶
func (in *DeploymentPipeline) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeploymentPipelineList ¶
type DeploymentPipelineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DeploymentPipeline `json:"items"`
}
DeploymentPipelineList contains a list of DeploymentPipeline.
func (*DeploymentPipelineList) DeepCopy ¶
func (in *DeploymentPipelineList) DeepCopy() *DeploymentPipelineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPipelineList.
func (*DeploymentPipelineList) DeepCopyInto ¶
func (in *DeploymentPipelineList) DeepCopyInto(out *DeploymentPipelineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentPipelineList) DeepCopyObject ¶
func (in *DeploymentPipelineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeploymentPipelineRef ¶ added in v1.0.0
type DeploymentPipelineRef struct {
// Kind is the kind of deployment pipeline (DeploymentPipeline)
// +optional
// +kubebuilder:default=DeploymentPipeline
Kind DeploymentPipelineRefKind `json:"kind,omitempty"`
// Name is the name of the deployment pipeline resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
DeploymentPipelineRef represents a reference to a DeploymentPipeline
func (*DeploymentPipelineRef) DeepCopy ¶ added in v1.0.0
func (in *DeploymentPipelineRef) DeepCopy() *DeploymentPipelineRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPipelineRef.
func (*DeploymentPipelineRef) DeepCopyInto ¶ added in v1.0.0
func (in *DeploymentPipelineRef) DeepCopyInto(out *DeploymentPipelineRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentPipelineRef) UnmarshalJSON ¶ added in v1.0.0
func (r *DeploymentPipelineRef) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler to support both legacy string format (e.g. "my-pipeline") and the current object format (e.g. {"name":"my-pipeline"}).
type DeploymentPipelineRefKind ¶ added in v1.0.0
type DeploymentPipelineRefKind string
DeploymentPipelineRefKind defines the kind of deployment pipeline referenced by a DeploymentPipelineRef +kubebuilder:validation:Enum=DeploymentPipeline
const ( // DeploymentPipelineRefKindDeploymentPipeline references a namespace-scoped DeploymentPipeline DeploymentPipelineRefKindDeploymentPipeline DeploymentPipelineRefKind = "DeploymentPipeline" )
type DeploymentPipelineSpec ¶
type DeploymentPipelineSpec struct {
// PromotionPaths defines the available paths for promotion between environments
PromotionPaths []PromotionPath `json:"promotionPaths,omitempty"`
}
DeploymentPipelineSpec defines the desired state of DeploymentPipeline.
func (*DeploymentPipelineSpec) DeepCopy ¶
func (in *DeploymentPipelineSpec) DeepCopy() *DeploymentPipelineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPipelineSpec.
func (*DeploymentPipelineSpec) DeepCopyInto ¶
func (in *DeploymentPipelineSpec) DeepCopyInto(out *DeploymentPipelineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentPipelineStatus ¶
type DeploymentPipelineStatus struct {
// ObservedGeneration represents the .metadata.generation that the condition was set based upon
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the latest available observations of an object's state
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
DeploymentPipelineStatus defines the observed state of DeploymentPipeline.
func (*DeploymentPipelineStatus) DeepCopy ¶
func (in *DeploymentPipelineStatus) DeepCopy() *DeploymentPipelineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPipelineStatus.
func (*DeploymentPipelineStatus) DeepCopyInto ¶
func (in *DeploymentPipelineStatus) DeepCopyInto(out *DeploymentPipelineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectType ¶ added in v0.14.0
type EffectType string
EffectType defines whether to allow or deny access Used by AuthzRoleBinding and ClusterAuthzRoleBinding +kubebuilder:validation:Enum=allow;deny
const ( EffectAllow EffectType = "allow" EffectDeny EffectType = "deny" )
type EmailConfig ¶ added in v0.9.0
type EmailConfig struct {
// From is the sender email address
// Required when type is "email"
// +kubebuilder:validation:Required
From string `json:"from"`
// To is the list of recipient email addresses
// Required when type is "email"
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
To []string `json:"to"`
// SMTP configuration for sending emails
// Required when type is "email"
// +kubebuilder:validation:Required
SMTP SMTPConfig `json:"smtp"`
// Template defines the email template using CEL expressions
// +kubebuilder:validation:Required
Template *EmailTemplate `json:"template"`
}
EmailConfig defines the configuration for email notification channels
func (*EmailConfig) DeepCopy ¶ added in v0.9.0
func (in *EmailConfig) DeepCopy() *EmailConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailConfig.
func (*EmailConfig) DeepCopyInto ¶ added in v0.9.0
func (in *EmailConfig) DeepCopyInto(out *EmailConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmailTemplate ¶ added in v0.9.0
type EmailTemplate struct {
// Subject is the email subject line template using CEL expressions
// Example: "[${alert.severity}] - ${alert.name} Triggered"
// +kubebuilder:validation:Required
Subject string `json:"subject"`
// Body is the email body template using CEL expressions
// Example: "Alert: ${alert.name} triggered at ${alert.startsAt}.\nSummary: ${alert.description}"
// +kubebuilder:validation:Required
Body string `json:"body"`
}
EmailTemplate defines the email template with CEL expressions
func (*EmailTemplate) DeepCopy ¶ added in v0.9.0
func (in *EmailTemplate) DeepCopy() *EmailTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailTemplate.
func (*EmailTemplate) DeepCopyInto ¶ added in v0.9.0
func (in *EmailTemplate) DeepCopyInto(out *EmailTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointAccess ¶
type EndpointAccess struct {
// Host is the hostname or service name
Host string `json:"host"`
// Port is the port number
Port int32 `json:"port"`
// Scheme is the connection scheme (http, https, grpc, tcp)
// +optional
Scheme string `json:"scheme,omitempty"`
// BasePath is the base URL path (for HTTP-based endpoints)
// +optional
BasePath string `json:"basePath,omitempty"`
// URI is the computed URI for connecting to the endpoint
// This field is automatically generated from host, port, scheme, and basePath
// Examples: https://api.example.com:8080/v1, grpc://service:5050, tcp://localhost:9000
// +optional
URI string `json:"uri,omitempty"`
}
EndpointAccess contains all the information needed to connect to an endpoint
func (*EndpointAccess) DeepCopy ¶
func (in *EndpointAccess) DeepCopy() *EndpointAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointAccess.
func (*EndpointAccess) DeepCopyInto ¶
func (in *EndpointAccess) DeepCopyInto(out *EndpointAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointGatewayURLs ¶ added in v0.17.0
type EndpointGatewayURLs struct {
// HTTP is the HTTP gateway URL.
// +optional
HTTP *EndpointURL `json:"http,omitempty"`
// HTTPS is the HTTPS gateway URL.
// +optional
HTTPS *EndpointURL `json:"https,omitempty"`
// TLS is the TLS gateway URL.
// +optional
TLS *EndpointURL `json:"tls,omitempty"`
}
EndpointGatewayURLs holds resolved gateway URLs for an endpoint.
func (*EndpointGatewayURLs) DeepCopy ¶ added in v0.17.0
func (in *EndpointGatewayURLs) DeepCopy() *EndpointGatewayURLs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointGatewayURLs.
func (*EndpointGatewayURLs) DeepCopyInto ¶ added in v0.17.0
func (in *EndpointGatewayURLs) DeepCopyInto(out *EndpointGatewayURLs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointStatus ¶
type EndpointStatus struct {
// Name is the endpoint identifier matching spec.endpoints
Name string `json:"name"`
// Type is the endpoint type (uses EndpointType from endpoint_types.go)
Type EndpointType `json:"type"`
// Project contains access info for project-level visibility
// +optional
Project *EndpointAccess `json:"project,omitempty"`
// Organization contains access info for organization-level visibility
// +optional
Organization *EndpointAccess `json:"organization,omitempty"`
// Public contains access info for public visibility
// +optional
Public *EndpointAccess `json:"public,omitempty"`
}
EndpointStatus represents the observed state of an endpoint. Used by ServiceBinding, WebApplicationBinding, and other binding types. TODO: chathurangas: organization endpoint = inter-project endpoint. This is not being used. Refactor later
func (*EndpointStatus) DeepCopy ¶
func (in *EndpointStatus) DeepCopy() *EndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointStatus.
func (*EndpointStatus) DeepCopyInto ¶
func (in *EndpointStatus) DeepCopyInto(out *EndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointType ¶
type EndpointType string
EndpointType defines the different API technologies supported by the endpoint
const ( EndpointTypeHTTP EndpointType = "HTTP" EndpointTypeGraphQL EndpointType = "GraphQL" EndpointTypeWebsocket EndpointType = "Websocket" EndpointTypeGRPC EndpointType = "gRPC" EndpointTypeTCP EndpointType = "TCP" EndpointTypeUDP EndpointType = "UDP" )
func (EndpointType) String ¶
func (e EndpointType) String() string
type EndpointURL ¶ added in v0.17.0
type EndpointURL struct {
// Scheme is the URL scheme (e.g., http, https, tcp, udp, ws, wss, tls).
// +optional
Scheme string `json:"scheme,omitempty"`
// Host is the hostname or IP address.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Host string `json:"host"`
// Port is the port number.
// +optional
Port int32 `json:"port,omitempty"`
// Path is the URL path.
// +optional
Path string `json:"path,omitempty"`
}
EndpointURL represents a structured URL with its components.
func (*EndpointURL) DeepCopy ¶ added in v0.17.0
func (in *EndpointURL) DeepCopy() *EndpointURL
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointURL.
func (*EndpointURL) DeepCopyInto ¶ added in v0.17.0
func (in *EndpointURL) DeepCopyInto(out *EndpointURL)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointURLStatus ¶ added in v0.15.0
type EndpointURLStatus struct {
// Name is the endpoint name as defined in the Workload spec.
Name string `json:"name"`
// Type is the endpoint type (HTTP, gRPC, GraphQL, Websocket, TCP, UDP).
// +optional
Type EndpointType `json:"type,omitempty"`
// ServiceURL is the in-cluster service URL for this endpoint.
// +optional
ServiceURL *EndpointURL `json:"serviceURL,omitempty"`
// InvokeURL is the resolved public URL for this endpoint, derived from the
// rendered HTTPRoute whose backendRef port matches the endpoint port.
// +optional
InvokeURL string `json:"invokeURL,omitempty"`
// InternalURLs holds the resolved internal gateway URLs.
// +optional
InternalURLs *EndpointGatewayURLs `json:"internalURLs,omitempty"`
// ExternalURLs holds the resolved external gateway URLs.
// +optional
ExternalURLs *EndpointGatewayURLs `json:"externalURLs,omitempty"`
}
EndpointURLStatus holds the resolved URLs for a single named workload endpoint.
func (*EndpointURLStatus) DeepCopy ¶ added in v0.15.0
func (in *EndpointURLStatus) DeepCopy() *EndpointURLStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointURLStatus.
func (*EndpointURLStatus) DeepCopyInto ¶ added in v0.15.0
func (in *EndpointURLStatus) DeepCopyInto(out *EndpointURLStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointVisibility ¶ added in v0.15.0
type EndpointVisibility string
EndpointVisibility defines the visibility scope for an endpoint. It determines which components can access the endpoint and how that access is enforced at runtime. +kubebuilder:validation:Enum=project;namespace;internal;external
const ( // EndpointVisibilityProject makes the endpoint accessible only within the same project and environment. EndpointVisibilityProject EndpointVisibility = "project" // EndpointVisibilityNamespace makes the endpoint accessible across all projects in the same namespace and environment. EndpointVisibilityNamespace EndpointVisibility = "namespace" // EndpointVisibilityInternal makes the endpoint accessible across all namespaces in the deployment (intranet). EndpointVisibilityInternal EndpointVisibility = "internal" // EndpointVisibilityExternal makes the endpoint accessible from outside the deployment, including public internet. EndpointVisibilityExternal EndpointVisibility = "external" )
type EntitlementClaim ¶ added in v0.14.0
type EntitlementClaim struct {
// Claim is the JWT claim name (e.g., "groups", "sub", "email")
// +required
Claim string `json:"claim"`
// Value is the entitlement value to match
// +required
Value string `json:"value"`
}
EntitlementClaim represents a claim-value pair for subject identification Used by AuthzRoleBinding and ClusterAuthzRoleBinding
func (*EntitlementClaim) DeepCopy ¶ added in v0.14.0
func (in *EntitlementClaim) DeepCopy() *EntitlementClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntitlementClaim.
func (*EntitlementClaim) DeepCopyInto ¶ added in v0.14.0
func (in *EntitlementClaim) DeepCopyInto(out *EntitlementClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVar ¶
type EnvVar struct {
// The environment variable key.
// +required
Key string `json:"key"`
// The literal value of the environment variable.
// Mutually exclusive with valueFrom.
// +optional
Value string `json:"value,omitempty"`
// Extract the environment variable value from another resource.
// Mutually exclusive with value.
// +optional
ValueFrom *EnvVarValueFrom `json:"valueFrom,omitempty"`
}
EnvVar represents an environment variable present in the container. +kubebuilder:validation:XValidation:rule="has(self.value) != has(self.valueFrom)",message="exactly one of value or valueFrom must be set"
func (*EnvVar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (*EnvVar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVarValueFrom ¶
type EnvVarValueFrom struct {
// Reference to a secret resource.
// +optional
SecretKeyRef *SecretKeyRef `json:"secretKeyRef,omitempty"`
}
EnvVarValueFrom holds references to external sources for environment variables.
func (*EnvVarValueFrom) DeepCopy ¶
func (in *EnvVarValueFrom) DeepCopy() *EnvVarValueFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVarValueFrom.
func (*EnvVarValueFrom) DeepCopyInto ¶
func (in *EnvVarValueFrom) DeepCopyInto(out *EnvVarValueFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Environment ¶
type Environment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EnvironmentSpec `json:"spec,omitempty"`
Status EnvironmentStatus `json:"status,omitempty"`
}
Environment is the Schema for the environments API.
func (*Environment) DeepCopy ¶
func (in *Environment) DeepCopy() *Environment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Environment.
func (*Environment) DeepCopyInto ¶
func (in *Environment) DeepCopyInto(out *Environment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Environment) DeepCopyObject ¶
func (in *Environment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Environment) GetConditions ¶
func (e *Environment) GetConditions() []metav1.Condition
func (*Environment) SetConditions ¶
func (e *Environment) SetConditions(conditions []metav1.Condition)
type EnvironmentList ¶
type EnvironmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Environment `json:"items"`
}
EnvironmentList contains a list of Environment.
func (*EnvironmentList) DeepCopy ¶
func (in *EnvironmentList) DeepCopy() *EnvironmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList.
func (*EnvironmentList) DeepCopyInto ¶
func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentList) DeepCopyObject ¶
func (in *EnvironmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvironmentRef ¶ added in v1.0.0
type EnvironmentRef struct {
// Kind is the kind of environment (Environment)
// +optional
// +kubebuilder:default=Environment
Kind EnvironmentRefKind `json:"kind,omitempty"`
// Name is the name of the environment resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
EnvironmentRef represents a reference to an Environment (or ClusterEnvironment in the future)
func (*EnvironmentRef) DeepCopy ¶ added in v1.0.0
func (in *EnvironmentRef) DeepCopy() *EnvironmentRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentRef.
func (*EnvironmentRef) DeepCopyInto ¶ added in v1.0.0
func (in *EnvironmentRef) DeepCopyInto(out *EnvironmentRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentRefKind ¶ added in v1.0.0
type EnvironmentRefKind string
EnvironmentRefKind defines the kind of environment referenced +kubebuilder:validation:Enum=Environment
const ( // EnvironmentRefKindEnvironment references a namespace-scoped Environment EnvironmentRefKindEnvironment EnvironmentRefKind = "Environment" )
type EnvironmentSpec ¶
type EnvironmentSpec struct {
// DataPlaneRef references the DataPlane or ClusterDataPlane for this environment.
// If not specified, defaults to a DataPlane named "default" in the same namespace.
// Immutable once set.
DataPlaneRef *DataPlaneRef `json:"dataPlaneRef,omitempty"`
IsProduction bool `json:"isProduction,omitempty"`
Gateway GatewaySpec `json:"gateway,omitempty"`
}
EnvironmentSpec defines the desired state of Environment. +kubebuilder:validation:XValidation:rule="!has(oldSelf.dataPlaneRef) || oldSelf.dataPlaneRef == self.dataPlaneRef",message="dataPlaneRef is immutable once set"
func (*EnvironmentSpec) DeepCopy ¶
func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec.
func (*EnvironmentSpec) DeepCopyInto ¶
func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentStatus ¶
type EnvironmentStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
EnvironmentStatus defines the observed state of Environment.
func (*EnvironmentStatus) DeepCopy ¶
func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus.
func (*EnvironmentStatus) DeepCopyInto ¶
func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalRef ¶ added in v0.17.0
type ExternalRef struct {
// ID uniquely identifies this external reference within the workflow.
// The resolved CR's spec is injected into the CEL context under this name.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=2
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=`^[a-z][a-z0-9-]*[a-z0-9]$`
ID string `json:"id"`
// APIVersion is the API version of the referenced resource.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
APIVersion string `json:"apiVersion"`
// Kind is the kind of the referenced resource.
// Currently only SecretReference is supported.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=SecretReference
Kind string `json:"kind"`
// Name is the name of the referenced resource.
// Supports CEL expressions (e.g., ${parameters.repository.secretRef}).
// If the name evaluates to empty, the reference is silently skipped.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
}
ExternalRef declares a reference to an external CR whose spec is resolved and injected into the CEL context under the given id.
func (*ExternalRef) DeepCopy ¶ added in v0.17.0
func (in *ExternalRef) DeepCopy() *ExternalRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalRef.
func (*ExternalRef) DeepCopyInto ¶ added in v0.17.0
func (in *ExternalRef) DeepCopyInto(out *ExternalRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileVar ¶ added in v0.4.0
type FileVar struct {
// The file key/name.
// +kubebuilder:validation:Required
Key string `json:"key"`
// The mount path where the file will be mounted.
// +kubebuilder:validation:Required
MountPath string `json:"mountPath"`
// The literal content of the file.
// Mutually exclusive with valueFrom.
// +optional
Value string `json:"value,omitempty"`
// Extract the environment variable value from another resource.
// Mutually exclusive with value.
// +optional
ValueFrom *EnvVarValueFrom `json:"valueFrom,omitempty"`
}
FileVar represents a file configuration in a container. +kubebuilder:validation:XValidation:rule="has(self.value) != has(self.valueFrom)",message="exactly one of value or valueFrom must be set"
func (*FileVar) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileVar.
func (*FileVar) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayEndpointSpec ¶ added in v0.17.0
type GatewayEndpointSpec struct {
// Name is the name of the Gateway resource.
Name string `json:"name"`
// Namespace is the namespace of the Gateway resource.
Namespace string `json:"namespace"`
// HTTP defines the HTTP listener configuration.
// +optional
HTTP *GatewayListenerSpec `json:"http,omitempty"`
// HTTPS defines the HTTPS listener configuration.
// +optional
HTTPS *GatewayListenerSpec `json:"https,omitempty"`
// TLS defines the TLS listener configuration.
// +optional
TLS *GatewayListenerSpec `json:"tls,omitempty"`
}
GatewayEndpointSpec defines the configuration for a gateway endpoint (name, namespace, and listeners).
func (*GatewayEndpointSpec) DeepCopy ¶ added in v0.17.0
func (in *GatewayEndpointSpec) DeepCopy() *GatewayEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayEndpointSpec.
func (*GatewayEndpointSpec) DeepCopyInto ¶ added in v0.17.0
func (in *GatewayEndpointSpec) DeepCopyInto(out *GatewayEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayListenerSpec ¶ added in v0.17.0
type GatewayListenerSpec struct {
// ListenerName is the name of the listener on the Gateway resource.
// +optional
ListenerName string `json:"listenerName,omitempty"`
// Port is the port number for this listener.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port"`
// Host is the virtual host for this listener.
Host string `json:"host"`
}
GatewayListenerSpec defines the configuration for a single gateway listener.
func (*GatewayListenerSpec) DeepCopy ¶ added in v0.17.0
func (in *GatewayListenerSpec) DeepCopy() *GatewayListenerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayListenerSpec.
func (*GatewayListenerSpec) DeepCopyInto ¶ added in v0.17.0
func (in *GatewayListenerSpec) DeepCopyInto(out *GatewayListenerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayNetworkSpec ¶ added in v0.17.0
type GatewayNetworkSpec struct {
// External defines the externally accessible gateway endpoint.
// +optional
External *GatewayEndpointSpec `json:"external,omitempty"`
// Internal defines the internally accessible gateway endpoint.
// +optional
Internal *GatewayEndpointSpec `json:"internal,omitempty"`
}
GatewayNetworkSpec defines external and internal gateway endpoint configurations.
func (*GatewayNetworkSpec) DeepCopy ¶ added in v0.17.0
func (in *GatewayNetworkSpec) DeepCopy() *GatewayNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayNetworkSpec.
func (*GatewayNetworkSpec) DeepCopyInto ¶ added in v0.17.0
func (in *GatewayNetworkSpec) DeepCopyInto(out *GatewayNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewaySpec ¶
type GatewaySpec struct {
// Ingress defines the ingress gateway configuration.
// +optional
Ingress *GatewayNetworkSpec `json:"ingress,omitempty"`
// Egress defines the egress gateway configuration.
// +optional
Egress *GatewayNetworkSpec `json:"egress,omitempty"`
}
GatewaySpec defines the gateway configuration for the data plane.
func (*GatewaySpec) DeepCopy ¶
func (in *GatewaySpec) DeepCopy() *GatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.
func (*GatewaySpec) DeepCopyInto ¶
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitAuthentication ¶
type GitAuthentication struct {
// SecretRef is a reference to the secret containing Git credentials
SecretRef string `json:"secretRef"`
}
GitAuthentication defines the authentication configuration for Git
func (*GitAuthentication) DeepCopy ¶
func (in *GitAuthentication) DeepCopy() *GitAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitAuthentication.
func (*GitAuthentication) DeepCopyInto ¶
func (in *GitAuthentication) DeepCopyInto(out *GitAuthentication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRepository ¶
type GitRepository struct {
// URL the Git repository URL
// Examples:
// - https://github.com/jhonb2077/customer-service
// - https://gitlab.com/jhonb2077/customer-service
URL string `json:"url"`
// Authentication the authentication information to access the Git repository
// If not provided, the Git repository should be public
Authentication GitAuthentication `json:"authentication,omitempty"`
}
GitRepository defines the Git repository configuration
func (*GitRepository) DeepCopy ¶
func (in *GitRepository) DeepCopy() *GitRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepository.
func (*GitRepository) DeepCopyInto ¶
func (in *GitRepository) DeepCopyInto(out *GitRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthStatus ¶
type HealthStatus string
HealthStatus represents the health of a resource
const ( // HealthStatusUnknown indicates that the health of the resource is not known. HealthStatusUnknown HealthStatus = "Unknown" // HealthStatusProgressing indicates that the resource is in a transitioning state to become healthy. HealthStatusProgressing HealthStatus = "Progressing" // HealthStatusHealthy indicates that the resource is healthy and operating as expected. HealthStatusHealthy HealthStatus = "Healthy" // HealthStatusSuspended indicates that the resource is intentionally paused such as CronJob, Deployment with paused rollout, etc. HealthStatusSuspended HealthStatus = "Suspended" // HealthStatusDegraded indicates that the resource is not healthy and not operating as expected. HealthStatusDegraded HealthStatus = "Degraded" )
type JSONPatchOperation ¶ added in v0.4.0
type JSONPatchOperation struct {
// Op is the operation type
// Standard operations: add, replace, remove (RFC 6902)
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=add;replace;remove
Op string `json:"op"`
// Path is the JSON Pointer to the field to modify (RFC 6901)
// Supports array filters: /spec/containers/[?(@.name=='app')]/volumeMounts/-
// +kubebuilder:validation:Required
Path string `json:"path"`
// Value is the value to set (for add/replace operations)
// Not used for remove operations
// Can be a literal value, a structure with embedded CEL expressions,
// or a standalone CEL expression.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Value *runtime.RawExtension `json:"value,omitempty"`
}
JSONPatchOperation defines a JSONPatch operation Supports standard operations (add, replace, remove) for map overlays
func (*JSONPatchOperation) DeepCopy ¶ added in v0.4.0
func (in *JSONPatchOperation) DeepCopy() *JSONPatchOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatchOperation.
func (*JSONPatchOperation) DeepCopyInto ¶ added in v0.4.0
func (in *JSONPatchOperation) DeepCopyInto(out *JSONPatchOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LatestRelease ¶ added in v0.5.0
type LatestRelease struct {
// Name of the ComponentRelease resource
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:Required
Name string `json:"name"`
// ReleaseHash record the hash value of the spec of ComponentRelease.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:Required
ReleaseHash string `json:"releaseHash,omitempty"`
}
LatestRelease has name and generated hash of the latest ComponentRelease spec
func (*LatestRelease) DeepCopy ¶ added in v0.5.0
func (in *LatestRelease) DeepCopy() *LatestRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LatestRelease.
func (*LatestRelease) DeepCopyInto ¶ added in v0.5.0
func (in *LatestRelease) DeepCopyInto(out *LatestRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationChannelConfig ¶ added in v0.9.0
type NotificationChannelConfig struct {
// EmailConfig is embedded to allow direct access to email fields at the config level
// +optional
EmailConfig `json:",inline"`
// WebhookConfig is embedded to allow direct access to webhook fields at the config level
// +optional
WebhookConfig `json:",inline"`
}
NotificationChannelConfig is deprecated. Use EmailConfig and WebhookConfig directly in the spec instead. This type is kept for backward compatibility but should not be used in new code.
func (*NotificationChannelConfig) DeepCopy ¶ added in v0.9.0
func (in *NotificationChannelConfig) DeepCopy() *NotificationChannelConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelConfig.
func (*NotificationChannelConfig) DeepCopyInto ¶ added in v0.9.0
func (in *NotificationChannelConfig) DeepCopyInto(out *NotificationChannelConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationChannelName ¶ added in v1.0.0
type NotificationChannelName string
NotificationChannelName defines a non-empty notification channel identifier. +kubebuilder:validation:MinLength=1
type NotificationChannelType ¶ added in v0.9.0
type NotificationChannelType string
NotificationChannelType defines the type of notification channel Currently "email" and "webhook" are supported. Other channel types will be added in the future. +kubebuilder:validation:Enum=email;webhook
const ( // NotificationChannelTypeEmail represents an email notification channel NotificationChannelTypeEmail NotificationChannelType = "email" // NotificationChannelTypeWebhook represents a webhook notification channel NotificationChannelTypeWebhook NotificationChannelType = "webhook" )
type ObservabilityAlertActions ¶ added in v1.0.0
type ObservabilityAlertActions struct {
// Notifications defines the notifications to send when the alert rule is triggered.
// +kubebuilder:validation:Required
Notifications ObservabilityAlertNotifications `json:"notifications"`
// Incident defines the incident to trigger when the alert rule is triggered.
// +optional
Incident *ObservabilityAlertIncident `json:"incident,omitempty"`
}
ObservabilityAlertActions defines the actions to take when the alert rule is triggered.
func (*ObservabilityAlertActions) DeepCopy ¶ added in v1.0.0
func (in *ObservabilityAlertActions) DeepCopy() *ObservabilityAlertActions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertActions.
func (*ObservabilityAlertActions) DeepCopyInto ¶ added in v1.0.0
func (in *ObservabilityAlertActions) DeepCopyInto(out *ObservabilityAlertActions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertCondition ¶ added in v0.9.0
type ObservabilityAlertCondition struct {
// Window is the time window that is aggregated before a comparison is made.
// +kubebuilder:validation:Required
Window metav1.Duration `json:"window"`
// Interval dictates how often the alert rule is evaluated.
// +kubebuilder:validation:Required
Interval metav1.Duration `json:"interval"`
// Operator describes the comparison used when evaluating the threshold.
// +kubebuilder:validation:Required
Operator ObservabilityAlertConditionOperator `json:"operator"`
// Threshold is the trigger value for the configured operator.
// +kubebuilder:validation:Required
Threshold int64 `json:"threshold"`
}
ObservabilityAlertCondition represents the evaluation window of the alert.
func (*ObservabilityAlertCondition) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertCondition) DeepCopy() *ObservabilityAlertCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertCondition.
func (*ObservabilityAlertCondition) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertCondition) DeepCopyInto(out *ObservabilityAlertCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertConditionOperator ¶ added in v0.9.0
type ObservabilityAlertConditionOperator string
ObservabilityAlertConditionOperator describes how a computed signal is evaluated. +kubebuilder:validation:Enum=gt;lt;gte;lte;eq
const ( // ObservabilityAlertConditionOperatorGt triggers when value is greater than threshold. ObservabilityAlertConditionOperatorGt ObservabilityAlertConditionOperator = "gt" // ObservabilityAlertConditionOperatorLt triggers when value is less than threshold. ObservabilityAlertConditionOperatorLt ObservabilityAlertConditionOperator = "lt" // ObservabilityAlertConditionOperatorGte triggers when value is greater than or equal to threshold. ObservabilityAlertConditionOperatorGte ObservabilityAlertConditionOperator = "gte" // ObservabilityAlertConditionOperatorLte triggers when value is less than or equal to threshold. ObservabilityAlertConditionOperatorLte ObservabilityAlertConditionOperator = "lte" // ObservabilityAlertConditionOperatorEq triggers when value equals the threshold value. ObservabilityAlertConditionOperatorEq ObservabilityAlertConditionOperator = "eq" )
type ObservabilityAlertIncident ¶ added in v1.0.0
type ObservabilityAlertIncident struct {
// Enabled toggles whether an incident should be triggered when the alert rule is triggered.
// +optional
// +kubebuilder:default:=false
Enabled *bool `json:"enabled,omitempty"`
// TriggerAiRca toggles whether an AI root cause analysis should be triggered when an incident is created.
// To set this to true, Enabled must also be set to true.
// +optional
// +kubebuilder:default:=false
TriggerAiRca *bool `json:"triggerAiRca,omitempty"`
}
ObservabilityAlertIncident defines the incident to trigger when the alert rule is triggered. +kubebuilder:validation:XValidation:rule="self.triggerAiRca == true ? self.enabled == true : true",message="Incident must be enabled to trigger AI RCA"
func (*ObservabilityAlertIncident) DeepCopy ¶ added in v1.0.0
func (in *ObservabilityAlertIncident) DeepCopy() *ObservabilityAlertIncident
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertIncident.
func (*ObservabilityAlertIncident) DeepCopyInto ¶ added in v1.0.0
func (in *ObservabilityAlertIncident) DeepCopyInto(out *ObservabilityAlertIncident)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertNotifications ¶ added in v1.0.0
type ObservabilityAlertNotifications struct {
// Channels defines the channels to send notifications to.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
// +listType=set
Channels []NotificationChannelName `json:"channels"`
}
ObservabilityAlertNotifications defines the notifications to send when the alert rule is triggered.
func (*ObservabilityAlertNotifications) DeepCopy ¶ added in v1.0.0
func (in *ObservabilityAlertNotifications) DeepCopy() *ObservabilityAlertNotifications
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertNotifications.
func (*ObservabilityAlertNotifications) DeepCopyInto ¶ added in v1.0.0
func (in *ObservabilityAlertNotifications) DeepCopyInto(out *ObservabilityAlertNotifications)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertRule ¶ added in v0.9.0
type ObservabilityAlertRule struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ObservabilityAlertRuleSpec `json:"spec,omitempty"`
Status ObservabilityAlertRuleStatus `json:"status,omitempty"`
}
ObservabilityAlertRule is the Schema for the observabilityalertrules API.
func (*ObservabilityAlertRule) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertRule) DeepCopy() *ObservabilityAlertRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertRule.
func (*ObservabilityAlertRule) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertRule) DeepCopyInto(out *ObservabilityAlertRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObservabilityAlertRule) DeepCopyObject ¶ added in v0.9.0
func (in *ObservabilityAlertRule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObservabilityAlertRuleList ¶ added in v0.9.0
type ObservabilityAlertRuleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ObservabilityAlertRule `json:"items"`
}
ObservabilityAlertRuleList contains a list of ObservabilityAlertRule.
func (*ObservabilityAlertRuleList) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertRuleList) DeepCopy() *ObservabilityAlertRuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertRuleList.
func (*ObservabilityAlertRuleList) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertRuleList) DeepCopyInto(out *ObservabilityAlertRuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObservabilityAlertRuleList) DeepCopyObject ¶ added in v0.9.0
func (in *ObservabilityAlertRuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObservabilityAlertRulePhase ¶ added in v0.9.0
type ObservabilityAlertRulePhase string
ObservabilityAlertRulePhase represents the current phase of the rule.
const ( // ObservabilityAlertRulePhasePending means the rule is being reconciled. ObservabilityAlertRulePhasePending ObservabilityAlertRulePhase = "Pending" // ObservabilityAlertRulePhaseReady means the rule is active and ready. ObservabilityAlertRulePhaseReady ObservabilityAlertRulePhase = "Ready" // ObservabilityAlertRulePhaseError means the rule encountered an error. ObservabilityAlertRulePhaseError ObservabilityAlertRulePhase = "Error" )
type ObservabilityAlertRuleSpec ¶ added in v0.9.0
type ObservabilityAlertRuleSpec struct {
// Name identifies the alert rule when defined as a Trait.
// +kubebuilder:validation:Required
Name string `json:"name"`
// Description is a human-friendly summary of the alert rule.
// +optional
Description string `json:"description,omitempty"`
// Severity describes how urgent the alert is.
// +optional
Severity ObservabilityAlertSeverity `json:"severity,omitempty"`
// Enabled toggles whether this alert rule should be evaluated.
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Source specifies the origin and query that drives the rule.
// +kubebuilder:validation:Required
Source ObservabilityAlertSource `json:"source"`
// Condition controls how the rule should be evaluated against the source.
// +kubebuilder:validation:Required
Condition ObservabilityAlertCondition `json:"condition"`
// Actions defines the actions to take when the alert rule is triggered.
// +kubebuilder:validation:Required
Actions ObservabilityAlertActions `json:"actions"`
}
ObservabilityAlertRuleSpec defines the desired state of ObservabilityAlertRule.
func (*ObservabilityAlertRuleSpec) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertRuleSpec) DeepCopy() *ObservabilityAlertRuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertRuleSpec.
func (*ObservabilityAlertRuleSpec) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertRuleSpec) DeepCopyInto(out *ObservabilityAlertRuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertRuleStatus ¶ added in v0.9.0
type ObservabilityAlertRuleStatus struct {
// ObservedGeneration represents the .metadata.generation that the controller last handled.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Phase indicates the current lifecycle phase.
// +optional
Phase ObservabilityAlertRulePhase `json:"phase,omitempty"`
// LastReconcileTime records the last time the controller reconciled this object.
// +optional
LastReconcileTime *metav1.Time `json:"lastReconcileTime,omitempty"`
// LastSyncTime records when the rule was pushed to the backend observability tool.
// +optional
LastSyncTime *metav1.Time `json:"lastSyncTime,omitempty"`
// BackendMonitorID is the identifier assigned by the backend observability tool.
// +optional
BackendMonitorID string `json:"backendMonitorId,omitempty"`
// Conditions describe the latest observations of the rule's state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ObservabilityAlertRuleStatus defines the observed state of ObservabilityAlertRule.
func (*ObservabilityAlertRuleStatus) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertRuleStatus) DeepCopy() *ObservabilityAlertRuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertRuleStatus.
func (*ObservabilityAlertRuleStatus) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertRuleStatus) DeepCopyInto(out *ObservabilityAlertRuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertSeverity ¶ added in v0.9.0
type ObservabilityAlertSeverity string
ObservabilityAlertSeverity describes the seriousness of an alert.
const ( // ObservabilityAlertSeverityInfo indicates informational alerts. ObservabilityAlertSeverityInfo ObservabilityAlertSeverity = "info" // ObservabilityAlertSeverityWarning indicates warning-level alerts. ObservabilityAlertSeverityWarning ObservabilityAlertSeverity = "warning" // ObservabilityAlertSeverityCritical indicates critical alerts. ObservabilityAlertSeverityCritical ObservabilityAlertSeverity = "critical" )
type ObservabilityAlertSource ¶ added in v0.9.0
type ObservabilityAlertSource struct {
// Type specifies the telemetry source type (log, metric).
// +kubebuilder:validation:Required
Type ObservabilityAlertSourceType `json:"type"`
// Query defines the query or filter to locate relevant events.
// This is required for log-based alerting.
// +optional
Query string `json:"query,omitempty"`
// Metric specifies the metric to alert on.
// This is required for metric-based alerting.
// +optional
Metric string `json:"metric,omitempty"`
}
ObservabilityAlertSource describes where and how events are pulled for evaluation.
func (*ObservabilityAlertSource) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertSource) DeepCopy() *ObservabilityAlertSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertSource.
func (*ObservabilityAlertSource) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertSource) DeepCopyInto(out *ObservabilityAlertSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertSourceType ¶ added in v0.9.0
type ObservabilityAlertSourceType string
ObservabilityAlertSourceType identifies the origin of the telemetry data. +kubebuilder:validation:Enum=log;metric
const ( // ObservabilityAlertSourceTypeLog represents log-based alerting. ObservabilityAlertSourceTypeLog ObservabilityAlertSourceType = "log" // ObservabilityAlertSourceTypeMetric represents metric-based alerting. ObservabilityAlertSourceTypeMetric ObservabilityAlertSourceType = "metric" )
type ObservabilityAlertsNotificationChannel ¶ added in v0.9.0
type ObservabilityAlertsNotificationChannel struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ObservabilityAlertsNotificationChannelSpec `json:"spec,omitempty"`
Status ObservabilityAlertsNotificationChannelStatus `json:"status,omitempty"`
}
ObservabilityAlertsNotificationChannel is the Schema for the observabilityalertsnotificationchannels API. It defines a channel for sending alert notifications. Currently email and webhook notifications are supported.
func (*ObservabilityAlertsNotificationChannel) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannel) DeepCopy() *ObservabilityAlertsNotificationChannel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertsNotificationChannel.
func (*ObservabilityAlertsNotificationChannel) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannel) DeepCopyInto(out *ObservabilityAlertsNotificationChannel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObservabilityAlertsNotificationChannel) DeepCopyObject ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObservabilityAlertsNotificationChannelList ¶ added in v0.9.0
type ObservabilityAlertsNotificationChannelList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ObservabilityAlertsNotificationChannel `json:"items"`
}
ObservabilityAlertsNotificationChannelList contains a list of ObservabilityAlertsNotificationChannel.
func (*ObservabilityAlertsNotificationChannelList) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelList) DeepCopy() *ObservabilityAlertsNotificationChannelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertsNotificationChannelList.
func (*ObservabilityAlertsNotificationChannelList) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelList) DeepCopyInto(out *ObservabilityAlertsNotificationChannelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObservabilityAlertsNotificationChannelList) DeepCopyObject ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObservabilityAlertsNotificationChannelSpec ¶ added in v0.9.0
type ObservabilityAlertsNotificationChannelSpec struct {
// Environment is the name of the openchoreo environment this notification channel belongs to
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.environment is immutable"
Environment string `json:"environment"`
// IsEnvDefault indicates if this is the default notification channel for the environment
// There can be only one default notification channel for an environment
// First notification channel created for an environment will be the default unless otherwise specified
// +kubebuilder:default=false
IsEnvDefault bool `json:"isEnvDefault,omitempty"`
// Type specifies the type of notification channel
// Currently "email" and "webhook" are supported
// +kubebuilder:validation:Required
Type NotificationChannelType `json:"type"`
// EmailConfig contains the email notification channel configuration
// Required when type is "email"
// +optional
EmailConfig *EmailConfig `json:"emailConfig,omitempty"`
// WebhookConfig contains the webhook notification channel configuration
// Required when type is "webhook"
// +optional
WebhookConfig *WebhookConfig `json:"webhookConfig,omitempty"`
}
ObservabilityAlertsNotificationChannelSpec defines the desired state of ObservabilityAlertsNotificationChannel. +kubebuilder:validation:XValidation:rule="self.type == 'email' ? has(self.emailConfig) : true",message="emailConfig is required when type is email" +kubebuilder:validation:XValidation:rule="self.type == 'webhook' ? has(self.webhookConfig) : true",message="webhookConfig is required when type is webhook"
func (*ObservabilityAlertsNotificationChannelSpec) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelSpec) DeepCopy() *ObservabilityAlertsNotificationChannelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertsNotificationChannelSpec.
func (*ObservabilityAlertsNotificationChannelSpec) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelSpec) DeepCopyInto(out *ObservabilityAlertsNotificationChannelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityAlertsNotificationChannelStatus ¶ added in v0.9.0
type ObservabilityAlertsNotificationChannelStatus struct {
}
ObservabilityAlertsNotificationChannelStatus defines the observed state of ObservabilityAlertsNotificationChannel.
func (*ObservabilityAlertsNotificationChannelStatus) DeepCopy ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelStatus) DeepCopy() *ObservabilityAlertsNotificationChannelStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityAlertsNotificationChannelStatus.
func (*ObservabilityAlertsNotificationChannelStatus) DeepCopyInto ¶ added in v0.9.0
func (in *ObservabilityAlertsNotificationChannelStatus) DeepCopyInto(out *ObservabilityAlertsNotificationChannelStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityPlane ¶ added in v0.8.0
type ObservabilityPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ObservabilityPlaneSpec `json:"spec,omitempty"`
Status ObservabilityPlaneStatus `json:"status,omitempty"`
}
ObservabilityPlane is the Schema for the observabilityplanes API.
func (*ObservabilityPlane) DeepCopy ¶ added in v0.8.0
func (in *ObservabilityPlane) DeepCopy() *ObservabilityPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityPlane.
func (*ObservabilityPlane) DeepCopyInto ¶ added in v0.8.0
func (in *ObservabilityPlane) DeepCopyInto(out *ObservabilityPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObservabilityPlane) DeepCopyObject ¶ added in v0.8.0
func (in *ObservabilityPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObservabilityPlaneList ¶ added in v0.8.0
type ObservabilityPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ObservabilityPlane `json:"items"`
}
ObservabilityPlaneList contains a list of ObservabilityPlane.
func (*ObservabilityPlaneList) DeepCopy ¶ added in v0.8.0
func (in *ObservabilityPlaneList) DeepCopy() *ObservabilityPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityPlaneList.
func (*ObservabilityPlaneList) DeepCopyInto ¶ added in v0.8.0
func (in *ObservabilityPlaneList) DeepCopyInto(out *ObservabilityPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObservabilityPlaneList) DeepCopyObject ¶ added in v0.8.0
func (in *ObservabilityPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObservabilityPlaneRef ¶ added in v0.15.0
type ObservabilityPlaneRef struct {
// Kind is the kind of observability plane (ObservabilityPlane or ClusterObservabilityPlane)
// +required
Kind ObservabilityPlaneRefKind `json:"kind"`
// Name is the name of the observability plane resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
Name string `json:"name"`
}
ObservabilityPlaneRef represents a reference to an ObservabilityPlane or ClusterObservabilityPlane
func (*ObservabilityPlaneRef) DeepCopy ¶ added in v0.15.0
func (in *ObservabilityPlaneRef) DeepCopy() *ObservabilityPlaneRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityPlaneRef.
func (*ObservabilityPlaneRef) DeepCopyInto ¶ added in v0.15.0
func (in *ObservabilityPlaneRef) DeepCopyInto(out *ObservabilityPlaneRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityPlaneRefKind ¶ added in v0.15.0
type ObservabilityPlaneRefKind string
ObservabilityPlaneRefKind defines the kind of observability plane referenced +kubebuilder:validation:Enum=ObservabilityPlane;ClusterObservabilityPlane
const ( // ObservabilityPlaneRefKindObservabilityPlane references a namespace-scoped ObservabilityPlane ObservabilityPlaneRefKindObservabilityPlane ObservabilityPlaneRefKind = "ObservabilityPlane" // ObservabilityPlaneRefKindClusterObservabilityPlane references a cluster-scoped ClusterObservabilityPlane ObservabilityPlaneRefKindClusterObservabilityPlane ObservabilityPlaneRefKind = "ClusterObservabilityPlane" )
type ObservabilityPlaneSpec ¶ added in v0.8.0
type ObservabilityPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple ObservabilityPlane CRs can share the same planeID to connect to the same physical cluster
// while maintaining separate configurations for multi-tenancy scenarios.
// If not specified, defaults to the CR name for backwards compatibility.
// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
// Examples: "shared-obs", "monitoring-cluster", "eu-central-1"
// +optional
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
PlaneID string `json:"planeID,omitempty"`
// ClusterAgent specifies the configuration for cluster agent-based communication
// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
// This field is mandatory - all observability planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// ObserverURL is the base URL of the Observer API in the observability plane cluster
// +required
ObserverURL string `json:"observerURL"`
// RCAAgentURL is the base URL of the RCA Agent API in the observability plane cluster
// +optional
RCAAgentURL string `json:"rcaAgentURL,omitempty"`
}
ObservabilityPlaneSpec defines the desired state of ObservabilityPlane.
func (*ObservabilityPlaneSpec) DeepCopy ¶ added in v0.8.0
func (in *ObservabilityPlaneSpec) DeepCopy() *ObservabilityPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityPlaneSpec.
func (*ObservabilityPlaneSpec) DeepCopyInto ¶ added in v0.8.0
func (in *ObservabilityPlaneSpec) DeepCopyInto(out *ObservabilityPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityPlaneStatus ¶ added in v0.8.0
type ObservabilityPlaneStatus struct {
// ObservedGeneration is the generation observed by the controller
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the latest available observations of the ObservabilityPlane's state
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this observability plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
ObservabilityPlaneStatus defines the observed state of ObservabilityPlane.
func (*ObservabilityPlaneStatus) DeepCopy ¶ added in v0.8.0
func (in *ObservabilityPlaneStatus) DeepCopy() *ObservabilityPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityPlaneStatus.
func (*ObservabilityPlaneStatus) DeepCopyInto ¶ added in v0.8.0
func (in *ObservabilityPlaneStatus) DeepCopyInto(out *ObservabilityPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchTarget ¶ added in v0.4.0
type PatchTarget struct {
// Group is the API group of the resource (e.g., "apps", "batch")
// Must be explicitly set. Use empty string "" for core API resources (v1 Service, ConfigMap, etc.)
// +kubebuilder:validation:Required
Group string `json:"group"`
// Version is the API version of the resource (e.g., "v1", "v1beta1")
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Version string `json:"version"`
// Kind is the resource type to patch (e.g., "Deployment", "StatefulSet")
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Kind string `json:"kind"`
// Where is an optional CEL expression to filter which resources to patch
// Example: ${resource.metadata.name.endsWith("-secret-envs")}
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
Where string `json:"where,omitempty"`
}
PatchTarget specifies which resource to modify
func (*PatchTarget) DeepCopy ¶ added in v0.4.0
func (in *PatchTarget) DeepCopy() *PatchTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchTarget.
func (*PatchTarget) DeepCopyInto ¶ added in v0.4.0
func (in *PatchTarget) DeepCopyInto(out *PatchTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingConnection ¶ added in v0.17.0
type PendingConnection struct {
// Namespace is the control plane namespace of the target component.
// +kubebuilder:validation:MinLength=1
Namespace string `json:"namespace"`
// Project is the name of the project that owns the target component.
// +kubebuilder:validation:MinLength=1
Project string `json:"project"`
// Component is the name of the target component.
// +kubebuilder:validation:MinLength=1
Component string `json:"component"`
// Endpoint is the name of the endpoint on the target component.
// +kubebuilder:validation:MinLength=1
Endpoint string `json:"endpoint"`
// Reason describes why the connection could not be resolved.
Reason string `json:"reason"`
}
PendingConnection represents a connection that could not be resolved.
func (*PendingConnection) DeepCopy ¶ added in v0.17.0
func (in *PendingConnection) DeepCopy() *PendingConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingConnection.
func (*PendingConnection) DeepCopyInto ¶ added in v0.17.0
func (in *PendingConnection) DeepCopyInto(out *PendingConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Project ¶
type Project struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProjectSpec `json:"spec,omitempty"`
Status ProjectStatus `json:"status,omitempty"`
}
Project is the Schema for the projects API.
func (*Project) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (*Project) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Project) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Project) GetConditions ¶
func (*Project) SetConditions ¶
type ProjectList ¶
type ProjectList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Project `json:"items"`
}
ProjectList contains a list of Project.
func (*ProjectList) DeepCopy ¶
func (in *ProjectList) DeepCopy() *ProjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.
func (*ProjectList) DeepCopyInto ¶
func (in *ProjectList) DeepCopyInto(out *ProjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProjectList) DeepCopyObject ¶
func (in *ProjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProjectSpec ¶
type ProjectSpec struct {
// DeploymentPipelineRef references the DeploymentPipeline that defines the environments
// and deployment progression for components in this project.
DeploymentPipelineRef DeploymentPipelineRef `json:"deploymentPipelineRef"`
}
ProjectSpec defines the desired state of Project.
func (*ProjectSpec) DeepCopy ¶
func (in *ProjectSpec) DeepCopy() *ProjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec.
func (*ProjectSpec) DeepCopyInto ¶
func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectStatus ¶
type ProjectStatus struct {
// ObservedGeneration reflects the generation of the most recently observed Project.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the current state of the Project resource.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ProjectStatus defines the observed state of Project.
func (*ProjectStatus) DeepCopy ¶
func (in *ProjectStatus) DeepCopy() *ProjectStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.
func (*ProjectStatus) DeepCopyInto ¶
func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PromotionPath ¶
type PromotionPath struct {
// SourceEnvironmentRef is the reference to the source environment
SourceEnvironmentRef EnvironmentRef `json:"sourceEnvironmentRef"`
// TargetEnvironmentRefs is the list of target environments
TargetEnvironmentRefs []TargetEnvironmentRef `json:"targetEnvironmentRefs"`
}
PromotionPath defines a path for promoting between environments
func (*PromotionPath) DeepCopy ¶
func (in *PromotionPath) DeepCopy() *PromotionPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionPath.
func (*PromotionPath) DeepCopyInto ¶
func (in *PromotionPath) DeepCopyInto(out *PromotionPath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryAuthentication ¶
type RegistryAuthentication struct {
// Reference to the secret that contains the container registry authentication info.
SecretRef string `json:"secretRef,omitempty"`
}
RegistryAuthentication defines the authentication configuration for container registry
func (*RegistryAuthentication) DeepCopy ¶
func (in *RegistryAuthentication) DeepCopy() *RegistryAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAuthentication.
func (*RegistryAuthentication) DeepCopyInto ¶
func (in *RegistryAuthentication) DeepCopyInto(out *RegistryAuthentication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseBinding ¶ added in v0.5.0
type ReleaseBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ReleaseBindingSpec `json:"spec,omitempty"`
Status ReleaseBindingStatus `json:"status,omitempty"`
}
ReleaseBinding is the Schema for the releasebindings API.
func (*ReleaseBinding) DeepCopy ¶ added in v0.5.0
func (in *ReleaseBinding) DeepCopy() *ReleaseBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseBinding.
func (*ReleaseBinding) DeepCopyInto ¶ added in v0.5.0
func (in *ReleaseBinding) DeepCopyInto(out *ReleaseBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReleaseBinding) DeepCopyObject ¶ added in v0.5.0
func (in *ReleaseBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ReleaseBinding) GetConditions ¶ added in v0.5.0
func (r *ReleaseBinding) GetConditions() []metav1.Condition
GetConditions returns the conditions from the status
func (*ReleaseBinding) SetConditions ¶ added in v0.5.0
func (r *ReleaseBinding) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions in the status
type ReleaseBindingList ¶ added in v0.5.0
type ReleaseBindingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ReleaseBinding `json:"items"`
}
ReleaseBindingList contains a list of ReleaseBinding.
func (*ReleaseBindingList) DeepCopy ¶ added in v0.5.0
func (in *ReleaseBindingList) DeepCopy() *ReleaseBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseBindingList.
func (*ReleaseBindingList) DeepCopyInto ¶ added in v0.5.0
func (in *ReleaseBindingList) DeepCopyInto(out *ReleaseBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReleaseBindingList) DeepCopyObject ¶ added in v0.5.0
func (in *ReleaseBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReleaseBindingOwner ¶ added in v0.5.0
type ReleaseBindingOwner struct {
// ProjectName is the name of the project that owns this component
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
// ComponentName is the name of the component
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ComponentName string `json:"componentName"`
}
ReleaseBindingOwner identifies the component this ReleaseBinding belongs to
func (*ReleaseBindingOwner) DeepCopy ¶ added in v0.5.0
func (in *ReleaseBindingOwner) DeepCopy() *ReleaseBindingOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseBindingOwner.
func (*ReleaseBindingOwner) DeepCopyInto ¶ added in v0.5.0
func (in *ReleaseBindingOwner) DeepCopyInto(out *ReleaseBindingOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseBindingSpec ¶ added in v0.5.0
type ReleaseBindingSpec struct {
// Owner identifies the component and project this ReleaseBinding belongs to
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner ReleaseBindingOwner `json:"owner"`
// EnvironmentName is the name of the environment this binds the ComponentRelease to
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.environment is immutable"
Environment string `json:"environment"`
// ReleaseName is the name of the ComponentRelease to bind
// When ComponentSpec.AutoDeploy is enabled, this field will be handled by the controller
// +optional
ReleaseName string `json:"releaseName,omitempty"`
// ComponentTypeEnvironmentConfigs for ComponentType environmentConfigs parameters
// These values override the defaults defined in the Component for this specific environment
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
ComponentTypeEnvironmentConfigs *runtime.RawExtension `json:"componentTypeEnvironmentConfigs,omitempty"`
// TraitEnvironmentConfigs provides environment-specific overrides for trait configurations
// Keyed by instanceName (which must be unique across all traits in the component)
// Structure: map[instanceName]overrideValues
// +optional
TraitEnvironmentConfigs map[string]runtime.RawExtension `json:"traitEnvironmentConfigs,omitempty"`
// WorkloadOverrides provides environment-specific overrides for the entire workload spec
// These values override the workload specification for this specific environment
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
WorkloadOverrides *WorkloadOverrideTemplateSpec `json:"workloadOverrides,omitempty"`
// State controls the state of the Release created by this binding.
// Active: Resources are deployed normally
// Undeploy: Resources are removed from the data plane
// +kubebuilder:default=Active
// +kubebuilder:validation:Enum=Active;Undeploy
// +optional
State ReleaseState `json:"state,omitempty"`
}
ReleaseBindingSpec defines the desired state of ReleaseBinding.
func (*ReleaseBindingSpec) DeepCopy ¶ added in v0.5.0
func (in *ReleaseBindingSpec) DeepCopy() *ReleaseBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseBindingSpec.
func (*ReleaseBindingSpec) DeepCopyInto ¶ added in v0.5.0
func (in *ReleaseBindingSpec) DeepCopyInto(out *ReleaseBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseBindingStatus ¶ added in v0.5.0
type ReleaseBindingStatus struct {
// ObservedGeneration is the most recent generation observed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// LastSpecUpdateTime is the timestamp of the last spec change observed by the controller.
// Updated when the controller detects a new generation (i.e., spec was modified).
// +optional
LastSpecUpdateTime *metav1.Time `json:"lastSpecUpdateTime,omitempty"`
// Conditions represent the latest available observations of the ReleaseBinding's current state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Endpoints contains the resolved invoke URLs for each named workload endpoint,
// keyed by endpoint name. Populated once the component is deployed and the
// corresponding HTTPRoutes are available.
// +optional
Endpoints []EndpointURLStatus `json:"endpoints,omitempty"`
// ConnectionTargets lists the connection targets derived from the workload connections.
// Used as an index source for finding consumer ReleaseBindings when a provider's endpoints change.
// +optional
ConnectionTargets []ConnectionTarget `json:"connectionTargets,omitempty"`
// ResolvedConnections contains the connections that have been successfully resolved.
// +optional
ResolvedConnections []ResolvedConnection `json:"resolvedConnections,omitempty"`
// PendingConnections contains the connections that could not be resolved.
// +optional
PendingConnections []PendingConnection `json:"pendingConnections,omitempty"`
// SecretReferenceNames lists the names of SecretReferences used by this ReleaseBinding's workload.
// Used as an index source for finding affected ReleaseBindings when a SecretReference changes.
// +optional
SecretReferenceNames []string `json:"secretReferenceNames,omitempty"`
}
ReleaseBindingStatus defines the observed state of ReleaseBinding.
func (*ReleaseBindingStatus) DeepCopy ¶ added in v0.5.0
func (in *ReleaseBindingStatus) DeepCopy() *ReleaseBindingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseBindingStatus.
func (*ReleaseBindingStatus) DeepCopyInto ¶ added in v0.5.0
func (in *ReleaseBindingStatus) DeepCopyInto(out *ReleaseBindingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseState ¶
type ReleaseState string
ReleaseState defines the desired state of the Release created by a binding
const ( // ReleaseStateActive indicates the Release should be actively deployed. // Resources are deployed normally to the data plane. ReleaseStateActive ReleaseState = "Active" // ReleaseStateUndeploy indicates the Release should be removed from the data plane. // The Release resource is deleted, triggering cleanup of all data plane resources. ReleaseStateUndeploy ReleaseState = "Undeploy" )
type RemoteReference ¶ added in v0.4.0
type RemoteReference struct {
// Key is the path in the external secret store (e.g., "secret/data/github/pat")
// +kubebuilder:validation:MinLength=1
Key string `json:"key"`
// Property is the specific field within the secret (e.g., "token")
// +optional
Property string `json:"property,omitempty"`
// Version of the secret to fetch (provider-specific)
// +optional
Version string `json:"version,omitempty"`
}
RemoteReference points to a secret in an external secret store.
func (*RemoteReference) DeepCopy ¶ added in v0.4.0
func (in *RemoteReference) DeepCopy() *RemoteReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteReference.
func (*RemoteReference) DeepCopyInto ¶ added in v0.4.0
func (in *RemoteReference) DeepCopyInto(out *RemoteReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RenderedRelease ¶ added in v1.0.0
type RenderedRelease struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RenderedReleaseSpec `json:"spec,omitempty"`
Status RenderedReleaseStatus `json:"status,omitempty"`
}
RenderedRelease is the Schema for the renderedreleases API.
func (*RenderedRelease) DeepCopy ¶ added in v1.0.0
func (in *RenderedRelease) DeepCopy() *RenderedRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderedRelease.
func (*RenderedRelease) DeepCopyInto ¶ added in v1.0.0
func (in *RenderedRelease) DeepCopyInto(out *RenderedRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RenderedRelease) DeepCopyObject ¶ added in v1.0.0
func (in *RenderedRelease) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RenderedRelease) GetConditions ¶ added in v1.0.0
func (in *RenderedRelease) GetConditions() []metav1.Condition
GetConditions returns the conditions from the status
func (*RenderedRelease) SetConditions ¶ added in v1.0.0
func (in *RenderedRelease) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions in the status
type RenderedReleaseList ¶ added in v1.0.0
type RenderedReleaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RenderedRelease `json:"items"`
}
RenderedReleaseList contains a list of RenderedRelease.
func (*RenderedReleaseList) DeepCopy ¶ added in v1.0.0
func (in *RenderedReleaseList) DeepCopy() *RenderedReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderedReleaseList.
func (*RenderedReleaseList) DeepCopyInto ¶ added in v1.0.0
func (in *RenderedReleaseList) DeepCopyInto(out *RenderedReleaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RenderedReleaseList) DeepCopyObject ¶ added in v1.0.0
func (in *RenderedReleaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RenderedReleaseOwner ¶ added in v1.0.0
type RenderedReleaseOwner struct {
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
// +kubebuilder:validation:MinLength=1
ComponentName string `json:"componentName"`
}
RenderedReleaseOwner defines the owner of a RenderedRelease.
func (*RenderedReleaseOwner) DeepCopy ¶ added in v1.0.0
func (in *RenderedReleaseOwner) DeepCopy() *RenderedReleaseOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderedReleaseOwner.
func (*RenderedReleaseOwner) DeepCopyInto ¶ added in v1.0.0
func (in *RenderedReleaseOwner) DeepCopyInto(out *RenderedReleaseOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RenderedReleaseSpec ¶ added in v1.0.0
type RenderedReleaseSpec struct {
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner RenderedReleaseOwner `json:"owner"`
// +kubebuilder:validation:MinLength=1
EnvironmentName string `json:"environmentName"`
// Scalable resource template approach (KRO-inspired)
// Supports any Kubernetes resource type including HPA, PDB, NetworkPolicy, CRDs, etc. that can
// be applied to the data plane.
// +kubebuilder:validation:Optional
Resources []Resource `json:"resources,omitempty"`
// Interval watch interval for the release resources when stable.
// Defaults to 5m if not specified.
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
// +optional
Interval *metav1.Duration `json:"interval,omitempty"`
// ProgressingInterval watch interval for the release resources when transitioning.
// Defaults to 10s if not specified.
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
// +optional
ProgressingInterval *metav1.Duration `json:"progressingInterval,omitempty"`
// TargetPlane specifies which plane this release should be deployed to.
// Defaults to "dataplane" if not specified.
// +kubebuilder:validation:Enum=dataplane;observabilityplane
// +kubebuilder:default=dataplane
TargetPlane string `json:"targetPlane,omitempty"`
}
RenderedReleaseSpec defines the desired state of RenderedRelease.
func (*RenderedReleaseSpec) DeepCopy ¶ added in v1.0.0
func (in *RenderedReleaseSpec) DeepCopy() *RenderedReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderedReleaseSpec.
func (*RenderedReleaseSpec) DeepCopyInto ¶ added in v1.0.0
func (in *RenderedReleaseSpec) DeepCopyInto(out *RenderedReleaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RenderedReleaseStatus ¶ added in v1.0.0
type RenderedReleaseStatus struct {
// Resources contain the list of resources that have been successfully applied to the data plane
// +optional
Resources []ResourceStatus `json:"resources,omitempty"`
// Conditions represent the latest available observations of the RenderedRelease's current state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
RenderedReleaseStatus defines the observed state of RenderedRelease.
func (*RenderedReleaseStatus) DeepCopy ¶ added in v1.0.0
func (in *RenderedReleaseStatus) DeepCopy() *RenderedReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderedReleaseStatus.
func (*RenderedReleaseStatus) DeepCopyInto ¶ added in v1.0.0
func (in *RenderedReleaseStatus) DeepCopyInto(out *RenderedReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResolvedConnection ¶ added in v0.17.0
type ResolvedConnection struct {
// Namespace is the control plane namespace of the target component.
// +kubebuilder:validation:MinLength=1
Namespace string `json:"namespace"`
// Project is the name of the project that owns the target component.
// +kubebuilder:validation:MinLength=1
Project string `json:"project"`
// Component is the name of the target component.
// +kubebuilder:validation:MinLength=1
Component string `json:"component"`
// Endpoint is the name of the endpoint on the target component.
// +kubebuilder:validation:MinLength=1
Endpoint string `json:"endpoint"`
// Visibility is the visibility level at which the endpoint was resolved.
Visibility EndpointVisibility `json:"visibility"`
// URL is the resolved endpoint URL.
URL EndpointURL `json:"url"`
}
ResolvedConnection holds the resolved URL for a single connection.
func (*ResolvedConnection) DeepCopy ¶ added in v0.17.0
func (in *ResolvedConnection) DeepCopy() *ResolvedConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResolvedConnection.
func (*ResolvedConnection) DeepCopyInto ¶ added in v0.17.0
func (in *ResolvedConnection) DeepCopyInto(out *ResolvedConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct {
// Unique identifier for the resource
// +kubebuilder:validation:MinLength=1
ID string `json:"id"`
// Object contains the complete Kubernetes resource definition
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Object *runtime.RawExtension `json:"object"`
}
Resource defines a Kubernetes resource template that can be applied to the data plane.
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceReference ¶ added in v0.9.0
type ResourceReference struct {
// APIVersion is the API version of the resource (e.g., "v1", "apps/v1").
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
APIVersion string `json:"apiVersion"`
// Kind is the type of the resource (e.g., "Secret", "ConfigMap").
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Kind string `json:"kind"`
// Name is the name of the resource in the workflow plane cluster.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Namespace is the namespace of the resource in the workflow plane cluster.
// Empty for cluster-scoped resources.
// +optional
Namespace string `json:"namespace,omitempty"`
}
ResourceReference tracks a resource applied to the workflow plane cluster for cleanup purposes.
func (*ResourceReference) DeepCopy ¶ added in v0.9.0
func (in *ResourceReference) DeepCopy() *ResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.
func (*ResourceReference) DeepCopyInto ¶ added in v0.9.0
func (in *ResourceReference) DeepCopyInto(out *ResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceStatus ¶
type ResourceStatus struct {
// ID corresponds to the resource ID in spec.resources
// +kubebuilder:validation:MinLength=1
ID string `json:"id"`
// Group is the API group of the resource (e.g., "apps", "batch")
// Empty string for core resources
// +optional
Group string `json:"group,omitempty"`
// Version is the API version of the resource (e.g., "v1", "v1beta1")
// +kubebuilder:validation:MinLength=1
Version string `json:"version"`
// Kind is the type of the resource (e.g., "Deployment", "Service")
// +kubebuilder:validation:MinLength=1
Kind string `json:"kind"`
// Name is the name of the resource in the data plane
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Namespace is the namespace of the resource in the data plane
// Empty for cluster-scoped resources
// +optional
Namespace string `json:"namespace,omitempty"`
// Status captures the entire .status field of the resource applied to the data plane.
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
// +optional
Status *runtime.RawExtension `json:"status,omitempty"`
// HealthStatus indicates the health of the resource in the data plane.
// +optional
HealthStatus HealthStatus `json:"healthStatus,omitempty"`
// LastObservedTime stores the last time the status was observed
// +optional
LastObservedTime *metav1.Time `json:"lastObservedTime,omitempty"`
}
ResourceStatus tracks a resource that was applied to the data plane.
func (*ResourceStatus) DeepCopy ¶
func (in *ResourceStatus) DeepCopy() *ResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
func (*ResourceStatus) DeepCopyInto ¶
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceTemplate ¶ added in v0.4.0
type ResourceTemplate struct {
// ID uniquely identifies this resource within the component type
// For the primary workload resource, this must match the workloadType
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ID string `json:"id"`
// TargetPlane specifies which plane this resource should be deployed to
// Defaults to "dataplane" if not specified
// +optional
// +kubebuilder:validation:Enum=dataplane;observabilityplane
// +kubebuilder:default=dataplane
TargetPlane string `json:"targetPlane,omitempty"`
// IncludeWhen is a CEL expression that determines if this resource should be created
// If not specified, the resource is always created
// Example: "${spec.autoscaling.enabled}"
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
IncludeWhen string `json:"includeWhen,omitempty"`
// ForEach enables generating multiple resources from a list using CEL expression
// Example: "${spec.configurations}" to iterate over a list
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
ForEach string `json:"forEach,omitempty"`
// Var is the loop variable name when using forEach
// Example: "config" will make each item available as ${config} in templates
// +optional
// +kubebuilder:validation:Pattern=`^[a-zA-Z_][a-zA-Z0-9_]*$`
Var string `json:"var,omitempty"`
// Template contains the Kubernetes resource with CEL expressions
// CEL expressions are enclosed in ${...} and will be evaluated at runtime
// +kubebuilder:validation:Required
// +kubebuilder:pruning:PreserveUnknownFields
Template *runtime.RawExtension `json:"template"`
}
ResourceTemplate defines a template for generating Kubernetes resources +kubebuilder:validation:XValidation:rule="!has(self.forEach) || has(self.var)",message="var is required when forEach is specified"
func (*ResourceTemplate) DeepCopy ¶ added in v0.4.0
func (in *ResourceTemplate) DeepCopy() *ResourceTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTemplate.
func (*ResourceTemplate) DeepCopyInto ¶ added in v0.4.0
func (in *ResourceTemplate) DeepCopyInto(out *ResourceTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleMapping ¶ added in v1.0.0
type RoleMapping struct {
// RoleRef references the role to bind
RoleRef RoleRef `json:"roleRef"`
// Scope defines the target scope within the ownership hierarchy
// +optional
Scope TargetScope `json:"scope,omitempty"`
}
RoleMapping pairs a role reference with an optional scope +kubebuilder:validation:XValidation:rule="!has(self.scope) || !has(self.scope.component) || has(self.scope.project)",message="scope.component requires scope.project"
func (*RoleMapping) DeepCopy ¶ added in v1.0.0
func (in *RoleMapping) DeepCopy() *RoleMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleMapping.
func (*RoleMapping) DeepCopyInto ¶ added in v1.0.0
func (in *RoleMapping) DeepCopyInto(out *RoleMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleRef ¶ added in v0.14.0
type RoleRef struct {
// Kind is the kind of role (AuthzRole or ClusterAuthzRole)
// For AuthzRoleBinding: AuthzRole must be in the same namespace
// +required
Kind RoleRefKind `json:"kind"`
// Name is the name of the role
// +required
Name string `json:"name"`
}
RoleRef represents a reference to an AuthzRole or ClusterAuthzRole Used by AuthzRoleBinding and ClusterAuthzRoleBinding
func (*RoleRef) DeepCopy ¶ added in v0.14.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRef.
func (*RoleRef) DeepCopyInto ¶ added in v0.14.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleRefKind ¶ added in v0.14.0
type RoleRefKind string
RoleRefKind defines the kind of role referenced by a RoleRef +kubebuilder:validation:Enum=AuthzRole;ClusterAuthzRole
const ( // RoleRefKindAuthzRole references a namespaced AuthzRole RoleRefKindAuthzRole RoleRefKind = "AuthzRole" // RoleRefKindClusterAuthzRole references a cluster-scoped ClusterAuthzRole RoleRefKindClusterAuthzRole RoleRefKind = "ClusterAuthzRole" )
type SMTPAuth ¶ added in v0.9.0
type SMTPAuth struct {
// Username for SMTP authentication
// Provided via secret reference (TODO: Support inline username)
// +kubebuilder:validation:Required
Username *SecretValueFrom `json:"username"`
// Password for SMTP authentication
// Provided via secret reference (TODO: Support inline password)
// +kubebuilder:validation:Required
Password *SecretValueFrom `json:"password"`
}
SMTPAuth defines SMTP authentication configuration
func (*SMTPAuth) DeepCopy ¶ added in v0.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMTPAuth.
func (*SMTPAuth) DeepCopyInto ¶ added in v0.9.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SMTPConfig ¶ added in v0.9.0
type SMTPConfig struct {
// Host is the SMTP server hostname
// Required when type is "email"
// +kubebuilder:validation:Required
Host string `json:"host"`
// Port is the SMTP server port
// Required when type is "email"
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port"`
// Auth defines SMTP authentication credentials
// +kubebuilder:validation:Required
Auth *SMTPAuth `json:"auth"`
// TLS configuration
// +kubebuilder:validation:Required
TLS *SMTPTLSConfig `json:"tls"`
}
SMTPConfig defines SMTP server configuration
func (*SMTPConfig) DeepCopy ¶ added in v0.9.0
func (in *SMTPConfig) DeepCopy() *SMTPConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMTPConfig.
func (*SMTPConfig) DeepCopyInto ¶ added in v0.9.0
func (in *SMTPConfig) DeepCopyInto(out *SMTPConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SMTPTLSConfig ¶ added in v0.9.0
type SMTPTLSConfig struct {
// InsecureSkipVerify skips TLS certificate verification (not recommended for production)
// +kubebuilder:default=false
InsecureSkipVerify bool `json:"insecureSkipVerify"`
}
SMTPTLSConfig defines TLS configuration for SMTP
func (*SMTPTLSConfig) DeepCopy ¶ added in v0.9.0
func (in *SMTPTLSConfig) DeepCopy() *SMTPTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMTPTLSConfig.
func (*SMTPTLSConfig) DeepCopyInto ¶ added in v0.9.0
func (in *SMTPTLSConfig) DeepCopyInto(out *SMTPTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Schema ¶
type Schema struct {
Type string `json:"type,omitempty"`
Content string `json:"content,omitempty"`
}
Schema defines the API definition for an endpoint.
func (*Schema) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schema.
func (*Schema) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchemaSection ¶ added in v1.0.0
type SchemaSection struct {
// OpenAPIV3Schema defines the schema using standard OpenAPI V3 / JSON Schema format.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
OpenAPIV3Schema *runtime.RawExtension `json:"openAPIV3Schema,omitempty"`
}
SchemaSection holds a schema in openAPIV3Schema format.
func (*SchemaSection) DeepCopy ¶ added in v1.0.0
func (in *SchemaSection) DeepCopy() *SchemaSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaSection.
func (*SchemaSection) DeepCopyInto ¶ added in v1.0.0
func (in *SchemaSection) DeepCopyInto(out *SchemaSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchemaSection) GetRaw ¶ added in v1.0.0
func (s *SchemaSection) GetRaw() *runtime.RawExtension
GetRaw returns the raw extension for the schema.
func (*SchemaSection) IsOpenAPIV3 ¶ added in v1.0.0
func (s *SchemaSection) IsOpenAPIV3() bool
IsOpenAPIV3 returns true if OpenAPIV3Schema is set.
type SecretDataSource ¶ added in v0.4.0
type SecretDataSource struct {
// SecretKey is the key name in the Kubernetes Secret
// +kubebuilder:validation:MinLength=1
SecretKey string `json:"secretKey"`
// RemoteRef points to the external secret location
RemoteRef RemoteReference `json:"remoteRef"`
}
SecretDataSource maps a secret key to an external secret reference.
func (*SecretDataSource) DeepCopy ¶ added in v0.4.0
func (in *SecretDataSource) DeepCopy() *SecretDataSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretDataSource.
func (*SecretDataSource) DeepCopyInto ¶ added in v0.4.0
func (in *SecretDataSource) DeepCopyInto(out *SecretDataSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeyRef ¶
type SecretKeyRef struct {
// +required
Name string `json:"name"`
// +required
Key string `json:"key"`
}
SecretKeyRef references a specific key in a K8s secret.
func (*SecretKeyRef) DeepCopy ¶
func (in *SecretKeyRef) DeepCopy() *SecretKeyRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyRef.
func (*SecretKeyRef) DeepCopyInto ¶
func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeyReference ¶ added in v0.6.0
type SecretKeyReference struct {
// Name of the secret
Name string `json:"name"`
// Namespace of the secret (optional, defaults to same namespace as parent resource)
// +optional
Namespace string `json:"namespace,omitempty"`
// Key is the key within the secret
Key string `json:"key"`
}
SecretKeyReference defines a reference to a specific key in a Kubernetes secret
func (*SecretKeyReference) DeepCopy ¶ added in v0.6.0
func (in *SecretKeyReference) DeepCopy() *SecretKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyReference.
func (*SecretKeyReference) DeepCopyInto ¶ added in v0.6.0
func (in *SecretKeyReference) DeepCopyInto(out *SecretKeyReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretMetadata ¶ added in v0.4.0
type SecretMetadata struct {
// Annotations to add to the secret
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Labels to add to the secret
// +optional
Labels map[string]string `json:"labels,omitempty"`
}
SecretMetadata defines additional metadata for the generated secret.
func (*SecretMetadata) DeepCopy ¶ added in v0.4.0
func (in *SecretMetadata) DeepCopy() *SecretMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretMetadata.
func (*SecretMetadata) DeepCopyInto ¶ added in v0.4.0
func (in *SecretMetadata) DeepCopyInto(out *SecretMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶ added in v0.4.0
type SecretReference struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SecretReferenceSpec `json:"spec,omitempty"`
Status SecretReferenceStatus `json:"status,omitempty"`
}
SecretReference is the Schema for the secretreferences API.
func (*SecretReference) DeepCopy ¶ added in v0.4.0
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶ added in v0.4.0
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecretReference) DeepCopyObject ¶ added in v0.4.0
func (in *SecretReference) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecretReferenceList ¶ added in v0.4.0
type SecretReferenceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SecretReference `json:"items"`
}
SecretReferenceList contains a list of SecretReference.
func (*SecretReferenceList) DeepCopy ¶ added in v0.4.0
func (in *SecretReferenceList) DeepCopy() *SecretReferenceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReferenceList.
func (*SecretReferenceList) DeepCopyInto ¶ added in v0.4.0
func (in *SecretReferenceList) DeepCopyInto(out *SecretReferenceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecretReferenceList) DeepCopyObject ¶ added in v0.4.0
func (in *SecretReferenceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecretReferenceSpec ¶ added in v0.4.0
type SecretReferenceSpec struct {
// Template defines the structure of the resulting Kubernetes Secret
Template SecretTemplate `json:"template"`
// Data contains the mapping of secret keys to external secret references
// +kubebuilder:validation:MinItems=1
Data []SecretDataSource `json:"data"`
// RefreshInterval specifies how often to reconcile/refresh the secret
// +optional
// +kubebuilder:default="1h"
RefreshInterval *metav1.Duration `json:"refreshInterval,omitempty"`
}
SecretReferenceSpec defines the desired state of SecretReference.
func (*SecretReferenceSpec) DeepCopy ¶ added in v0.4.0
func (in *SecretReferenceSpec) DeepCopy() *SecretReferenceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReferenceSpec.
func (*SecretReferenceSpec) DeepCopyInto ¶ added in v0.4.0
func (in *SecretReferenceSpec) DeepCopyInto(out *SecretReferenceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReferenceStatus ¶ added in v0.4.0
type SecretReferenceStatus struct {
// Conditions represent the latest available observations
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// LastRefreshTime indicates when the secret reference was last processed
// +optional
LastRefreshTime *metav1.Time `json:"lastRefreshTime,omitempty"`
// SecretStores tracks which secret stores are using this reference
// +optional
SecretStores []SecretStoreReference `json:"secretStores,omitempty"`
}
SecretReferenceStatus defines the observed state of SecretReference.
func (*SecretReferenceStatus) DeepCopy ¶ added in v0.4.0
func (in *SecretReferenceStatus) DeepCopy() *SecretReferenceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReferenceStatus.
func (*SecretReferenceStatus) DeepCopyInto ¶ added in v0.4.0
func (in *SecretReferenceStatus) DeepCopyInto(out *SecretReferenceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStoreRef ¶ added in v0.4.0
type SecretStoreRef struct {
// Name of the ClusterSecretStore resource in the data plane cluster
Name string `json:"name"`
}
SecretStoreRef defines a reference to an External Secrets Operator ClusterSecretStore
func (*SecretStoreRef) DeepCopy ¶ added in v0.4.0
func (in *SecretStoreRef) DeepCopy() *SecretStoreRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStoreRef.
func (*SecretStoreRef) DeepCopyInto ¶ added in v0.4.0
func (in *SecretStoreRef) DeepCopyInto(out *SecretStoreRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStoreReference ¶ added in v0.4.0
type SecretStoreReference struct {
// Name of the secret store
Name string `json:"name"`
// Namespace where the ExternalSecret was created
Namespace string `json:"namespace"`
// Kind of resource (ExternalSecret, ClusterExternalSecret)
Kind string `json:"kind"`
}
SecretStoreReference tracks where this SecretReference is being used.
func (*SecretStoreReference) DeepCopy ¶ added in v0.4.0
func (in *SecretStoreReference) DeepCopy() *SecretStoreReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStoreReference.
func (*SecretStoreReference) DeepCopyInto ¶ added in v0.4.0
func (in *SecretStoreReference) DeepCopyInto(out *SecretStoreReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretTemplate ¶ added in v0.4.0
type SecretTemplate struct {
// Type of the Kubernetes Secret (Opaque, kubernetes.io/dockerconfigjson, etc.)
// +kubebuilder:validation:Enum=Opaque;kubernetes.io/dockerconfigjson;kubernetes.io/dockercfg;kubernetes.io/basic-auth;kubernetes.io/ssh-auth;kubernetes.io/tls;bootstrap.kubernetes.io/token
// +kubebuilder:default="Opaque"
// +optional
Type corev1.SecretType `json:"type,omitempty"`
// Metadata to add to the generated secret
// +optional
Metadata *SecretMetadata `json:"metadata,omitempty"`
}
SecretTemplate defines the structure of the resulting Kubernetes Secret.
func (*SecretTemplate) DeepCopy ¶ added in v0.4.0
func (in *SecretTemplate) DeepCopy() *SecretTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretTemplate.
func (*SecretTemplate) DeepCopyInto ¶ added in v0.4.0
func (in *SecretTemplate) DeepCopyInto(out *SecretTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretValueFrom ¶ added in v0.9.0
type SecretValueFrom struct {
// SecretKeyRef references a specific key in a Kubernetes secret
// +optional
SecretKeyRef *SecretKeyRef `json:"secretKeyRef,omitempty"`
}
SecretValueFrom defines how to obtain a secret value
func (*SecretValueFrom) DeepCopy ¶ added in v0.9.0
func (in *SecretValueFrom) DeepCopy() *SecretValueFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretValueFrom.
func (*SecretValueFrom) DeepCopyInto ¶ added in v0.9.0
func (in *SecretValueFrom) DeepCopyInto(out *SecretValueFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetEnvironmentRef ¶
type TargetEnvironmentRef struct {
// Kind is the kind of environment (Environment)
// +optional
// +kubebuilder:default=Environment
Kind EnvironmentRefKind `json:"kind,omitempty"`
// Name is the name of the target environment resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
TargetEnvironmentRef defines a reference to a target environment
func (*TargetEnvironmentRef) DeepCopy ¶
func (in *TargetEnvironmentRef) DeepCopy() *TargetEnvironmentRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetEnvironmentRef.
func (*TargetEnvironmentRef) DeepCopyInto ¶
func (in *TargetEnvironmentRef) DeepCopyInto(out *TargetEnvironmentRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetScope ¶ added in v1.0.0
type TargetScope struct {
// Project scopes to a specific project (optional)
// +optional
Project string `json:"project,omitempty"`
// Component scopes to a specific component (optional)
// +optional
Component string `json:"component,omitempty"`
}
TargetScope defines which resources this binding applies to within the ownership hierarchy All fields are optional - omitted fields mean "all" at that level
func (*TargetScope) DeepCopy ¶ added in v1.0.0
func (in *TargetScope) DeepCopy() *TargetScope
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetScope.
func (*TargetScope) DeepCopyInto ¶ added in v1.0.0
func (in *TargetScope) DeepCopyInto(out *TargetScope)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Trait ¶ added in v0.4.0
type Trait struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TraitSpec `json:"spec,omitempty"`
Status TraitStatus `json:"status,omitempty"`
}
Trait is the Schema for the traits API.
func (*Trait) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Trait.
func (*Trait) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Trait) DeepCopyObject ¶ added in v0.4.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TraitCreate ¶ added in v0.4.0
type TraitCreate struct {
// TargetPlane specifies which plane this resource should be deployed to
// Defaults to "dataplane" if not specified
// +optional
// +kubebuilder:validation:Enum=dataplane;observabilityplane
// +kubebuilder:default=dataplane
TargetPlane string `json:"targetPlane,omitempty"`
// IncludeWhen is a CEL expression that determines if this resource should be created
// If not specified, the resource is always created
// Example: "${parameters.enableMetrics}"
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
IncludeWhen string `json:"includeWhen,omitempty"`
// ForEach enables generating multiple resources from a list using CEL expression
// Example: "${parameters.volumes}" to iterate over a list
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
ForEach string `json:"forEach,omitempty"`
// Var is the loop variable name when using forEach
// Example: "volume" will make each item available as ${volume} in templates
// +optional
// +kubebuilder:validation:Pattern=`^[a-zA-Z_][a-zA-Z0-9_]*$`
Var string `json:"var,omitempty"`
// Template contains the Kubernetes resource with CEL expressions
// CEL expressions are enclosed in ${...} and will be evaluated at runtime
// +kubebuilder:validation:Required
// +kubebuilder:pruning:PreserveUnknownFields
Template *runtime.RawExtension `json:"template"`
}
TraitCreate defines a resource template to be created by the trait +kubebuilder:validation:XValidation:rule="!has(self.forEach) || has(self.var)",message="var is required when forEach is specified"
func (*TraitCreate) DeepCopy ¶ added in v0.4.0
func (in *TraitCreate) DeepCopy() *TraitCreate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitCreate.
func (*TraitCreate) DeepCopyInto ¶ added in v0.4.0
func (in *TraitCreate) DeepCopyInto(out *TraitCreate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TraitList ¶ added in v0.4.0
type TraitList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Trait `json:"items"`
}
TraitList contains a list of Trait.
func (*TraitList) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitList.
func (*TraitList) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TraitList) DeepCopyObject ¶ added in v0.4.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TraitPatch ¶ added in v0.4.0
type TraitPatch struct {
// ForEach repeats this patch for every item in a CEL-evaluated list
// Requires 'var' to be set to name the binding used in operations
// Example: forEach: ${spec.mounts}
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
ForEach string `json:"forEach,omitempty"`
// Var names the binding for forEach iterations
// Required when forEach is specified
// Example: var: mount
// +optional
// +kubebuilder:validation:Pattern=`^[a-zA-Z_][a-zA-Z0-9_]*$`
Var string `json:"var,omitempty"`
// Target specifies which resource to patch
// +kubebuilder:validation:Required
Target PatchTarget `json:"target"`
// TargetPlane specifies which plane's resources this patch targets
// Defaults to "dataplane" if not specified
// +optional
// +kubebuilder:validation:Enum=dataplane;observabilityplane
// +kubebuilder:default=dataplane
TargetPlane string `json:"targetPlane,omitempty"`
// Operations is the list of JSONPatch operations to apply to the target resource
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
Operations []JSONPatchOperation `json:"operations"`
}
TraitPatch defines a modification to an existing resource +kubebuilder:validation:XValidation:rule="!has(self.forEach) || has(self.var)",message="var is required when forEach is specified"
func (*TraitPatch) DeepCopy ¶ added in v0.4.0
func (in *TraitPatch) DeepCopy() *TraitPatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitPatch.
func (*TraitPatch) DeepCopyInto ¶ added in v0.4.0
func (in *TraitPatch) DeepCopyInto(out *TraitPatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TraitRef ¶ added in v0.16.0
type TraitRef struct {
// Kind is the kind of trait (Trait or ClusterTrait)
// +optional
// +kubebuilder:default=Trait
Kind TraitRefKind `json:"kind,omitempty"`
// Name is the name of the trait resource
// +required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
}
TraitRef represents a reference to a Trait or ClusterTrait
func (*TraitRef) DeepCopy ¶ added in v0.16.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitRef.
func (*TraitRef) DeepCopyInto ¶ added in v0.16.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TraitRefKind ¶ added in v0.16.0
type TraitRefKind string
TraitRefKind defines the kind of trait referenced by a TraitRef +kubebuilder:validation:Enum=Trait;ClusterTrait
const ( // TraitRefKindTrait references a namespace-scoped Trait TraitRefKindTrait TraitRefKind = "Trait" // TraitRefKindClusterTrait references a cluster-scoped ClusterTrait TraitRefKindClusterTrait TraitRefKind = "ClusterTrait" )
type TraitSpec ¶ added in v0.4.0
type TraitSpec struct {
// Parameters defines developer-facing configuration options for this trait.
// +optional
Parameters *SchemaSection `json:"parameters,omitempty"`
// EnvironmentConfigs defines per-environment configurations for this trait via ReleaseBinding.
// +optional
EnvironmentConfigs *SchemaSection `json:"environmentConfigs,omitempty"`
// Validations are CEL-based rules evaluated during rendering.
// All rules must evaluate to true for rendering to proceed.
// +optional
Validations []ValidationRule `json:"validations,omitempty"`
// Creates defines new Kubernetes resources to create when this trait is applied
// +optional
Creates []TraitCreate `json:"creates,omitempty"`
// Patches defines modifications to existing resources generated by the ComponentType
// +optional
Patches []TraitPatch `json:"patches,omitempty"`
}
TraitSpec defines the desired state of Trait.
func (*TraitSpec) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitSpec.
func (*TraitSpec) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TraitStatus ¶ added in v0.4.0
type TraitStatus struct {
}
TraitStatus defines the observed state of Trait.
func (*TraitStatus) DeepCopy ¶ added in v0.4.0
func (in *TraitStatus) DeepCopy() *TraitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitStatus.
func (*TraitStatus) DeepCopyInto ¶ added in v0.4.0
func (in *TraitStatus) DeepCopyInto(out *TraitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValidationRule ¶ added in v0.15.0
type ValidationRule struct {
// Rule is a CEL expression wrapped in ${...} that must evaluate to true.
// Uses the same syntax as includeWhen and where fields.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
Rule string `json:"rule"`
// Message is the error message shown when the rule evaluates to false.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Message string `json:"message"`
}
ValidationRule defines a CEL-based validation rule evaluated during rendering.
func (*ValidationRule) DeepCopy ¶ added in v0.15.0
func (in *ValidationRule) DeepCopy() *ValidationRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationRule.
func (*ValidationRule) DeepCopyInto ¶ added in v0.15.0
func (in *ValidationRule) DeepCopyInto(out *ValidationRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueFrom ¶ added in v0.4.0
type ValueFrom struct {
// SecretKeyRef is a reference to a secret containing the value
// +optional
SecretKeyRef *SecretKeyReference `json:"secretKeyRef,omitempty"`
// Value is the inline value (optional fallback)
// +optional
Value string `json:"value,omitempty"`
}
ValueFrom defines a common pattern for referencing secrets or providing inline values
func (*ValueFrom) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueFrom.
func (*ValueFrom) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookConfig ¶ added in v0.12.0
type WebhookConfig struct {
// URL is the webhook endpoint URL where alerts will be sent
// Required when type is "webhook"
// +kubebuilder:validation:Required
// +kubebuilder:validation:Format=uri
URL string `json:"url"`
// Headers are optional HTTP headers to include in the webhook request
// Headers can be provided inline or via secret references
// +optional
Headers map[string]WebhookHeaderValue `json:"headers,omitempty"`
// PayloadTemplate is an optional JSON payload template using CEL expressions
// If not provided, the raw alertDetails object will be sent as JSON
// CEL expressions use ${...} syntax and have access to alert fields:
// - ${alertName}, ${alertDescription}, ${alertSeverity}, ${alertValue}, etc.
// Example for Slack: {"text": "Alert: ${alertName}", "blocks": [...]}
// +optional
PayloadTemplate string `json:"payloadTemplate,omitempty"`
}
WebhookConfig defines the configuration for webhook notification channels
func (*WebhookConfig) DeepCopy ¶ added in v0.12.0
func (in *WebhookConfig) DeepCopy() *WebhookConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfig.
func (*WebhookConfig) DeepCopyInto ¶ added in v0.12.0
func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookHeaderValue ¶ added in v0.12.0
type WebhookHeaderValue struct {
// Value is the inline header value
// Mutually exclusive with valueFrom
// +optional
Value *string `json:"value,omitempty"`
// ValueFrom references a secret containing the header value
// Mutually exclusive with value
// +optional
ValueFrom *SecretValueFrom `json:"valueFrom,omitempty"`
}
WebhookHeaderValue defines a header value that can be provided inline or via secret reference +kubebuilder:validation:XValidation:rule="has(self.value) != has(self.valueFrom)",message="exactly one of value or valueFrom must be set"
func (*WebhookHeaderValue) DeepCopy ¶ added in v0.12.0
func (in *WebhookHeaderValue) DeepCopy() *WebhookHeaderValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookHeaderValue.
func (*WebhookHeaderValue) DeepCopyInto ¶ added in v0.12.0
func (in *WebhookHeaderValue) DeepCopyInto(out *WebhookHeaderValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workflow ¶ added in v0.4.0
type Workflow struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of Workflow
// +required
Spec WorkflowSpec `json:"spec"`
// status defines the observed state of Workflow
// +optional
Status WorkflowStatus `json:"status,omitempty,omitzero"`
}
Workflow is the Schema for the workflows API Workflow provides a template definition for workflow execution with schema and resource templates.
func (*Workflow) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.
func (*Workflow) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workflow) DeepCopyObject ¶ added in v0.4.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowList ¶ added in v0.4.0
type WorkflowList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Workflow `json:"items"`
}
WorkflowList contains a list of Workflow
func (*WorkflowList) DeepCopy ¶ added in v0.4.0
func (in *WorkflowList) DeepCopy() *WorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.
func (*WorkflowList) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowList) DeepCopyInto(out *WorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowList) DeepCopyObject ¶ added in v0.4.0
func (in *WorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowPlane ¶ added in v1.0.0
type WorkflowPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WorkflowPlaneSpec `json:"spec,omitempty"`
Status WorkflowPlaneStatus `json:"status,omitempty"`
}
WorkflowPlane is the Schema for the workflowplanes API.
func (*WorkflowPlane) DeepCopy ¶ added in v1.0.0
func (in *WorkflowPlane) DeepCopy() *WorkflowPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowPlane.
func (*WorkflowPlane) DeepCopyInto ¶ added in v1.0.0
func (in *WorkflowPlane) DeepCopyInto(out *WorkflowPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowPlane) DeepCopyObject ¶ added in v1.0.0
func (in *WorkflowPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowPlaneList ¶ added in v1.0.0
type WorkflowPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WorkflowPlane `json:"items"`
}
WorkflowPlaneList contains a list of WorkflowPlane.
func (*WorkflowPlaneList) DeepCopy ¶ added in v1.0.0
func (in *WorkflowPlaneList) DeepCopy() *WorkflowPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowPlaneList.
func (*WorkflowPlaneList) DeepCopyInto ¶ added in v1.0.0
func (in *WorkflowPlaneList) DeepCopyInto(out *WorkflowPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowPlaneList) DeepCopyObject ¶ added in v1.0.0
func (in *WorkflowPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowPlaneRef ¶ added in v1.0.0
type WorkflowPlaneRef struct {
// Kind is the kind of workflow plane (WorkflowPlane or ClusterWorkflowPlane)
// +required
Kind WorkflowPlaneRefKind `json:"kind"`
// Name is the name of the workflow plane resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
WorkflowPlaneRef represents a reference to a WorkflowPlane or ClusterWorkflowPlane
func (*WorkflowPlaneRef) DeepCopy ¶ added in v1.0.0
func (in *WorkflowPlaneRef) DeepCopy() *WorkflowPlaneRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowPlaneRef.
func (*WorkflowPlaneRef) DeepCopyInto ¶ added in v1.0.0
func (in *WorkflowPlaneRef) DeepCopyInto(out *WorkflowPlaneRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowPlaneRefKind ¶ added in v1.0.0
type WorkflowPlaneRefKind string
WorkflowPlaneRefKind defines the kind of workflow plane referenced by a WorkflowPlaneRef +kubebuilder:validation:Enum=WorkflowPlane;ClusterWorkflowPlane
const ( // WorkflowPlaneRefKindWorkflowPlane references a namespace-scoped WorkflowPlane WorkflowPlaneRefKindWorkflowPlane WorkflowPlaneRefKind = "WorkflowPlane" // WorkflowPlaneRefKindClusterWorkflowPlane references a cluster-scoped ClusterWorkflowPlane WorkflowPlaneRefKindClusterWorkflowPlane WorkflowPlaneRefKind = "ClusterWorkflowPlane" )
type WorkflowPlaneSpec ¶ added in v1.0.0
type WorkflowPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple WorkflowPlane CRs can share the same planeID to connect to the same physical cluster
// while maintaining separate configurations for multi-tenancy scenarios.
// If not specified, defaults to the CR name for backwards compatibility.
// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
// Examples: "shared-builder", "ci-cluster", "us-west-2"
// +optional
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
PlaneID string `json:"planeID,omitempty"`
// ClusterAgent specifies the configuration for cluster agent-based communication
// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
// This field is mandatory - all workflow planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// SecretStoreRef specifies the ESO ClusterSecretStore to use in the data plane
// +optional
SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`
// ObservabilityPlaneRef specifies the ObservabilityPlane or ClusterObservabilityPlane for this WorkflowPlane.
// If not specified, defaults to an ObservabilityPlane named "default" in the same namespace.
// +optional
ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}
WorkflowPlaneSpec defines the desired state of WorkflowPlane.
func (*WorkflowPlaneSpec) DeepCopy ¶ added in v1.0.0
func (in *WorkflowPlaneSpec) DeepCopy() *WorkflowPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowPlaneSpec.
func (*WorkflowPlaneSpec) DeepCopyInto ¶ added in v1.0.0
func (in *WorkflowPlaneSpec) DeepCopyInto(out *WorkflowPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowPlaneStatus ¶ added in v1.0.0
type WorkflowPlaneStatus struct {
// ObservedGeneration is the generation observed by the controller
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the latest available observations of the WorkflowPlane's state
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this workflow plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
WorkflowPlaneStatus defines the observed state of WorkflowPlane.
func (*WorkflowPlaneStatus) DeepCopy ¶ added in v1.0.0
func (in *WorkflowPlaneStatus) DeepCopy() *WorkflowPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowPlaneStatus.
func (*WorkflowPlaneStatus) DeepCopyInto ¶ added in v1.0.0
func (in *WorkflowPlaneStatus) DeepCopyInto(out *WorkflowPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowRef ¶ added in v0.17.0
type WorkflowRef struct {
// Kind is the kind of workflow (Workflow or ClusterWorkflow).
// +optional
// +kubebuilder:default=ClusterWorkflow
Kind WorkflowRefKind `json:"kind,omitempty"`
// Name is the name of the workflow resource
// +required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
}
WorkflowRef represents a reference to a Workflow resource.
func (*WorkflowRef) DeepCopy ¶ added in v0.17.0
func (in *WorkflowRef) DeepCopy() *WorkflowRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRef.
func (*WorkflowRef) DeepCopyInto ¶ added in v0.17.0
func (in *WorkflowRef) DeepCopyInto(out *WorkflowRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowRefKind ¶ added in v0.17.0
type WorkflowRefKind string
WorkflowRefKind defines the kind for workflow references. +kubebuilder:validation:Enum=Workflow;ClusterWorkflow
const ( // WorkflowRefKindWorkflow references a namespace-scoped Workflow WorkflowRefKindWorkflow WorkflowRefKind = "Workflow" // WorkflowRefKindClusterWorkflow references a cluster-scoped ClusterWorkflow WorkflowRefKindClusterWorkflow WorkflowRefKind = "ClusterWorkflow" )
type WorkflowResource ¶ added in v0.11.0
type WorkflowResource struct {
// ID uniquely identifies this resource within the workflow.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ID string `json:"id"`
// IncludeWhen is a CEL expression that determines whether this resource should be rendered.
// If the expression evaluates to false, the resource is skipped.
// If empty, the resource is always included.
// Example: ${parameters.enableMetrics}
// +optional
// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
IncludeWhen string `json:"includeWhen,omitempty"`
// Template contains the Kubernetes resource with CEL expressions.
// CEL expressions are enclosed in ${...} and will be evaluated at runtime.
// +kubebuilder:validation:Required
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Template *runtime.RawExtension `json:"template"`
}
WorkflowResource defines a template for generating Kubernetes resources to be deployed alongside the workflow run.
func (*WorkflowResource) DeepCopy ¶ added in v0.11.0
func (in *WorkflowResource) DeepCopy() *WorkflowResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowResource.
func (*WorkflowResource) DeepCopyInto ¶ added in v0.11.0
func (in *WorkflowResource) DeepCopyInto(out *WorkflowResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowRun ¶ added in v0.4.0
type WorkflowRun struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of WorkflowRun
// +required
Spec WorkflowRunSpec `json:"spec"`
// status defines the observed state of WorkflowRun
// +optional
Status WorkflowRunStatus `json:"status,omitempty,omitzero"`
}
WorkflowRun is the Schema for the workflowruns API WorkflowRun represents a runtime execution instance of a Workflow.
func (*WorkflowRun) DeepCopy ¶ added in v0.4.0
func (in *WorkflowRun) DeepCopy() *WorkflowRun
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRun.
func (*WorkflowRun) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowRun) DeepCopyInto(out *WorkflowRun)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowRun) DeepCopyObject ¶ added in v0.4.0
func (in *WorkflowRun) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WorkflowRun) GetConditions ¶ added in v0.4.0
func (w *WorkflowRun) GetConditions() []metav1.Condition
GetConditions returns the conditions from the workflowrun status
func (*WorkflowRun) SetConditions ¶ added in v0.4.0
func (w *WorkflowRun) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions in the workflowrun status
type WorkflowRunConfig ¶ added in v0.11.0
type WorkflowRunConfig struct {
// Kind is the kind of workflow (Workflow or ClusterWorkflow).
// +optional
// +kubebuilder:default=ClusterWorkflow
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="kind is immutable"
Kind WorkflowRefKind `json:"kind,omitempty"`
// Name references the Workflow or ClusterWorkflow CR to use for this execution.
// The Workflow CR contains the schema definition and resource template.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
Name string `json:"name"`
// Parameters contains the developer-provided values for the flexible parameter schema
// defined in the referenced Workflow CR.
//
// These values are validated against the Workflow's parameter schema.
//
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}
WorkflowRunConfig defines the workflow configuration for execution.
func (*WorkflowRunConfig) DeepCopy ¶ added in v0.11.0
func (in *WorkflowRunConfig) DeepCopy() *WorkflowRunConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRunConfig.
func (*WorkflowRunConfig) DeepCopyInto ¶ added in v0.11.0
func (in *WorkflowRunConfig) DeepCopyInto(out *WorkflowRunConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowRunList ¶ added in v0.4.0
type WorkflowRunList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WorkflowRun `json:"items"`
}
WorkflowRunList contains a list of WorkflowRun
func (*WorkflowRunList) DeepCopy ¶ added in v0.4.0
func (in *WorkflowRunList) DeepCopy() *WorkflowRunList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRunList.
func (*WorkflowRunList) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowRunList) DeepCopyInto(out *WorkflowRunList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowRunList) DeepCopyObject ¶ added in v0.4.0
func (in *WorkflowRunList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowRunSpec ¶ added in v0.4.0
type WorkflowRunSpec struct {
// Workflow configuration referencing the Workflow CR and providing schema values.
// +required
Workflow WorkflowRunConfig `json:"workflow"`
// TTLAfterCompletion defines the time-to-live for this workflow run after completion.
// This value is copied from the Workflow template.
// Once the workflow completes, the run will be automatically deleted after this duration.
// Format: duration string supporting days, hours, minutes, seconds without spaces (e.g., "90d", "10d1h30m", "1h30m")
// Examples: "90d", "10d", "1h30m", "30m", "1d12h30m15s"
// +optional
// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}
WorkflowRunSpec defines the desired state of WorkflowRun. WorkflowRun represents a runtime execution instance of a Workflow.
func (*WorkflowRunSpec) DeepCopy ¶ added in v0.4.0
func (in *WorkflowRunSpec) DeepCopy() *WorkflowRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRunSpec.
func (*WorkflowRunSpec) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowRunSpec) DeepCopyInto(out *WorkflowRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowRunStatus ¶ added in v0.4.0
type WorkflowRunStatus struct {
// Conditions represent the current state of the WorkflowRun resource.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// RunReference contains a reference to the workflow run resource that was applied to the cluster.
// This tracks the actual workflow execution instance (e.g., Argo Workflow) in the target cluster.
// +optional
RunReference *ResourceReference `json:"runReference,omitempty"`
// Resources contains references to additional resources applied to the cluster.
// These are tracked for cleanup when the WorkflowRun is deleted.
// +optional
Resources *[]ResourceReference `json:"resources,omitempty"`
// Tasks contains the list of workflow tasks with their execution status.
// This provides a vendor-neutral view of the workflow steps regardless of the underlying
// workflow engine (e.g., Argo Workflows, Tekton).
// Tasks are ordered by their execution sequence.
// +optional
Tasks []WorkflowTask `json:"tasks,omitempty"`
// StartedAt is the timestamp when this workflow run started execution.
// +optional
StartedAt *metav1.Time `json:"startedAt,omitempty"`
// CompletedAt is the timestamp when this workflow run finished execution (succeeded or failed).
// This is used together with TTLAfterCompletion to determine when to delete the workflow run.
// +optional
CompletedAt *metav1.Time `json:"completedAt,omitempty"`
}
WorkflowRunStatus defines the observed state of WorkflowRun.
func (*WorkflowRunStatus) DeepCopy ¶ added in v0.4.0
func (in *WorkflowRunStatus) DeepCopy() *WorkflowRunStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowRunStatus.
func (*WorkflowRunStatus) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowRunStatus) DeepCopyInto(out *WorkflowRunStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowSpec ¶ added in v0.4.0
type WorkflowSpec struct {
// WorkflowPlaneRef references the WorkflowPlane or ClusterWorkflowPlane for this workflow's operations.
// Defaults to ClusterWorkflowPlane named "default" when omitted.
// +optional
// +kubebuilder:default={kind: "ClusterWorkflowPlane", name: "default"}
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workflowPlaneRef is immutable"
WorkflowPlaneRef *WorkflowPlaneRef `json:"workflowPlaneRef,omitempty"`
// Parameters defines the developer-facing parameters that can be configured
// when creating a WorkflowRun instance.
// +optional
Parameters *SchemaSection `json:"parameters,omitempty"`
// RunTemplate is the Kubernetes resource template to be rendered and applied to the cluster.
// Template variables are substituted with context and parameter values.
// Supported template variables:
// - ${metadata.workflowRunName} - WorkflowRun name (the execution instance)
// - ${metadata.namespaceName} - Namespace name
// - ${metadata.namespace} - Enforced workflow execution namespace (e.g., "workflows-<namespaceName>")
// - ${metadata.labels['key']} - WorkflowRun labels
// - ${parameters.*} - Developer-provided parameter values
// - ${workflowplane.secretStore} - ESO ClusterSecretStore name from the WorkflowPlane
// - ${externalRefs['<id>'].spec.*} - Resolved external CR specs (declared via externalRefs)
//
// Note: PE-controlled parameters should be hardcoded directly in the template.
//
// +required
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
RunTemplate *runtime.RawExtension `json:"runTemplate"`
// Resources are additional templates that generate Kubernetes resources dynamically
// to be deployed alongside the workflow run (e.g., secrets, configmaps).
// Template variables are substituted with context and parameter values using CEL expressions.
// +optional
Resources []WorkflowResource `json:"resources,omitempty"`
// ExternalRefs declares references to external CRs that are resolved at runtime
// and injected into the CEL context under their id.
// If a reference's name evaluates to empty, it is silently skipped.
// +optional
// +listType=map
// +listMapKey=id
ExternalRefs []ExternalRef `json:"externalRefs,omitempty"`
// TTLAfterCompletion defines the time-to-live for WorkflowRun instances after completion.
// Once a WorkflowRun completes, it will be automatically deleted after this duration.
// Format: duration string supporting days, hours, minutes, seconds without spaces (e.g., "90d", "10d1h30m", "1h30m")
// Examples: "90d", "10d", "1h30m", "30m", "1d12h30m15s"
// If empty, workflow runs are not automatically deleted.
// +optional
// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}
WorkflowSpec defines the desired state of Workflow. Workflow provides a schema-driven template for workflow execution with developer-facing schemas and CEL-based resource rendering. PE-controlled parameters should be hardcoded directly in the template.
func (*WorkflowSpec) DeepCopy ¶ added in v0.4.0
func (in *WorkflowSpec) DeepCopy() *WorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.
func (*WorkflowSpec) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowStatus ¶ added in v0.4.0
type WorkflowStatus struct {
// conditions represent the current state of the Workflow resource.
// Each condition has a unique type and reflects the status of a specific aspect of the resource.
//
// Standard condition types include:
// - "Available": the resource is fully functional
// - "Progressing": the resource is being created or updated
// - "Degraded": the resource failed to reach or maintain its desired state
//
// The status of each condition is one of True, False, or Unknown.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
WorkflowStatus defines the observed state of Workflow.
func (*WorkflowStatus) DeepCopy ¶ added in v0.4.0
func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.
func (*WorkflowStatus) DeepCopyInto ¶ added in v0.4.0
func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowTask ¶ added in v0.13.0
type WorkflowTask struct {
// Name is the name of the task/step.
// For Argo Workflows, this corresponds to the node's displayName (or parsed node name from the
// node name pattern "workflow-name[N].step-name"), not the templateName, since workflows now use
// ClusterWorkflowTemplates with templateRef instead of inline templates.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Phase represents the current execution phase of the task.
// +kubebuilder:validation:Enum=Pending;Running;Succeeded;Failed;Skipped;Error
// +optional
Phase string `json:"phase,omitempty"`
// StartedAt is the timestamp when the task started execution.
// +optional
StartedAt *metav1.Time `json:"startedAt,omitempty"`
// CompletedAt is the timestamp when the task finished execution.
// +optional
CompletedAt *metav1.Time `json:"completedAt,omitempty"`
// Message provides additional details about the task status.
// This is typically populated when the task fails or errors.
// +optional
Message string `json:"message,omitempty"`
}
WorkflowTask represents a single task/step in a workflow execution. This provides a vendor-neutral abstraction over workflow engine-specific steps (e.g., Argo Workflow nodes, Tekton TaskRuns).
func (*WorkflowTask) DeepCopy ¶ added in v0.13.0
func (in *WorkflowTask) DeepCopy() *WorkflowTask
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTask.
func (*WorkflowTask) DeepCopyInto ¶ added in v0.13.0
func (in *WorkflowTask) DeepCopyInto(out *WorkflowTask)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workload ¶
type Workload struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WorkloadSpec `json:"spec,omitempty"`
Status WorkloadStatus `json:"status,omitempty"`
}
Workload is the Schema for the workloads API.
func (*Workload) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workload.
func (*Workload) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workload) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadConnection ¶
type WorkloadConnection struct {
// Project is the target component's project name.
// If empty, defaults to the same project as the consumer.
// Required when namespace is specified.
// +optional
Project string `json:"project,omitempty"`
// Component is the target component name.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Component string `json:"component"`
// Name is the target endpoint name on the target component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Visibility is the visibility level at which this connection consumes the endpoint.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=project;namespace
Visibility EndpointVisibility `json:"visibility"`
// EnvBindings maps semantic URL components to environment variable names.
// +kubebuilder:validation:Required
EnvBindings ConnectionEnvBindings `json:"envBindings"`
}
WorkloadConnection represents a connection to another component's endpoint.
func (*WorkloadConnection) DeepCopy ¶
func (in *WorkloadConnection) DeepCopy() *WorkloadConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadConnection.
func (*WorkloadConnection) DeepCopyInto ¶
func (in *WorkloadConnection) DeepCopyInto(out *WorkloadConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadDependencies ¶ added in v1.0.0
type WorkloadDependencies struct {
// Endpoints define how this workload consumes endpoints from other components.
// +optional
// +kubebuilder:validation:MaxItems=50
Endpoints []WorkloadConnection `json:"endpoints,omitempty"`
}
WorkloadDependencies defines the dependencies of a workload on other components' endpoints.
func (*WorkloadDependencies) DeepCopy ¶ added in v1.0.0
func (in *WorkloadDependencies) DeepCopy() *WorkloadDependencies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDependencies.
func (*WorkloadDependencies) DeepCopyInto ¶ added in v1.0.0
func (in *WorkloadDependencies) DeepCopyInto(out *WorkloadDependencies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadEndpoint ¶
type WorkloadEndpoint struct {
// Visibility is an array of additional endpoint visibilities beyond the implicit project visibility.
// Every endpoint always gets project visibility. This array adds extra scopes.
// +optional
// +listType=set
Visibility []EndpointVisibility `json:"visibility,omitempty"`
// Type indicates the protocol/technology of the endpoint.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=HTTP;gRPC;GraphQL;Websocket;TCP;UDP
Type EndpointType `json:"type"`
// Port exposed by the endpoint. If targetPort is not set, platform defaults to port for both.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port"`
// TargetPort maps to the container listening port. Optional — defaults to port.
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
TargetPort int32 `json:"targetPort,omitempty"`
// DisplayName is an optional human-readable name for the endpoint.
// +optional
DisplayName string `json:"displayName,omitempty"`
// BasePath is the base path of the API exposed via the endpoint.
// +optional
BasePath string `json:"basePath,omitempty"`
// Schema for the endpoint API definition.
// +optional
Schema *Schema `json:"schema,omitempty"`
}
WorkloadEndpoint represents a simple network endpoint for basic exposure.
func (*WorkloadEndpoint) DeepCopy ¶
func (in *WorkloadEndpoint) DeepCopy() *WorkloadEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadEndpoint.
func (*WorkloadEndpoint) DeepCopyInto ¶
func (in *WorkloadEndpoint) DeepCopyInto(out *WorkloadEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadList ¶
type WorkloadList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Workload `json:"items"`
}
WorkloadList contains a list of Workload.
func (*WorkloadList) DeepCopy ¶
func (in *WorkloadList) DeepCopy() *WorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadList.
func (*WorkloadList) DeepCopyInto ¶
func (in *WorkloadList) DeepCopyInto(out *WorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadList) DeepCopyObject ¶
func (in *WorkloadList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadOverrideTemplateSpec ¶ added in v0.5.0
type WorkloadOverrideTemplateSpec struct {
// Container override for env and file configurations.
// +optional
Container *ContainerOverride `json:"container,omitempty"`
}
WorkloadOverrideTemplateSpec defines overrides for workload configuration.
func (*WorkloadOverrideTemplateSpec) DeepCopy ¶ added in v0.5.0
func (in *WorkloadOverrideTemplateSpec) DeepCopy() *WorkloadOverrideTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadOverrideTemplateSpec.
func (*WorkloadOverrideTemplateSpec) DeepCopyInto ¶ added in v0.5.0
func (in *WorkloadOverrideTemplateSpec) DeepCopyInto(out *WorkloadOverrideTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadOwner ¶
type WorkloadOwner struct {
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
// +kubebuilder:validation:MinLength=1
ComponentName string `json:"componentName"`
}
func (*WorkloadOwner) DeepCopy ¶
func (in *WorkloadOwner) DeepCopy() *WorkloadOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadOwner.
func (*WorkloadOwner) DeepCopyInto ¶
func (in *WorkloadOwner) DeepCopyInto(out *WorkloadOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadSpec ¶
type WorkloadSpec struct {
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner WorkloadOwner `json:"owner"`
// Inline *all* the template fields so they appear at top level.
WorkloadTemplateSpec `json:",inline"`
}
func (*WorkloadSpec) DeepCopy ¶
func (in *WorkloadSpec) DeepCopy() *WorkloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSpec.
func (*WorkloadSpec) DeepCopyInto ¶
func (in *WorkloadSpec) DeepCopyInto(out *WorkloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadStatus ¶
type WorkloadStatus struct {
}
WorkloadStatus defines the observed state of Workload.
func (*WorkloadStatus) DeepCopy ¶
func (in *WorkloadStatus) DeepCopy() *WorkloadStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadStatus.
func (*WorkloadStatus) DeepCopyInto ¶
func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadTemplateSpec ¶
type WorkloadTemplateSpec struct {
// Container defines the container specification for this workload.
// +kubebuilder:validation:Required
Container Container `json:"container"`
// Endpoints define simple network endpoints for basic port exposure.
// The key is the endpoint name, and the value is the endpoint specification.
// +optional
Endpoints map[string]WorkloadEndpoint `json:"endpoints,omitempty"`
// Dependencies define the dependencies of this workload on other components.
// +optional
Dependencies *WorkloadDependencies `json:"dependencies,omitempty"`
}
WorkloadTemplateSpec defines the desired state of Workload.
func (*WorkloadTemplateSpec) DeepCopy ¶
func (in *WorkloadTemplateSpec) DeepCopy() *WorkloadTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadTemplateSpec.
func (*WorkloadTemplateSpec) DeepCopyInto ¶
func (in *WorkloadTemplateSpec) DeepCopyInto(out *WorkloadTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadTemplateSpec) GetDependencyEndpoints ¶ added in v1.0.0
func (w *WorkloadTemplateSpec) GetDependencyEndpoints() []WorkloadConnection
GetDependencyEndpoints returns the endpoint connections from dependencies, or nil if none.
type WorkloadType ¶
type WorkloadType string
WorkloadType defines how the workload is deployed.
const ( WorkloadTypeService WorkloadType = "Service" WorkloadTypeManualTask WorkloadType = "ManualTask" WorkloadTypeScheduledTask WorkloadType = "ScheduledTask" WorkloadTypeWebApplication WorkloadType = "WebApplication" )
Source Files
¶
- authzrole_types.go
- authzrolebinding_types.go
- clusterauthzrole_types.go
- clusterauthzrolebinding_types.go
- clustercomponenttype_types.go
- clusterdataplane_types.go
- clusterobservabilityplane_types.go
- clustertrait_types.go
- clusterworkflow_types.go
- clusterworkflowplane_types.go
- component_types.go
- componentrelease_types.go
- componenttype_types.go
- dataplane_types.go
- deploymentpipeline_types.go
- environment_types.go
- groupversion_info.go
- observabilityalertrule_types.go
- observabilityalertsnotificationchannel_types.go
- observabilityplane_types.go
- project_types.go
- releasebinding_types.go
- renderedrelease_types.go
- secretreference_types.go
- trait_types.go
- types.go
- workflow_types.go
- workflowplane_types.go
- workflowrun_types.go
- workload_types.go
- zz_generated.deepcopy.go