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 AuthzClusterRole
- type AuthzClusterRoleBinding
- type AuthzClusterRoleBindingList
- type AuthzClusterRoleBindingSpec
- type AuthzClusterRoleList
- type AuthzClusterRoleSpec
- type AuthzRole
- type AuthzRoleBinding
- type AuthzRoleBindingList
- type AuthzRoleBindingSpec
- type AuthzRoleList
- type AuthzRoleSpec
- type Build
- type BuildConfiguration
- type BuildList
- type BuildOwner
- type BuildPlane
- type BuildPlaneList
- type BuildPlaneRef
- type BuildPlaneRefKind
- type BuildPlaneSpec
- type BuildPlaneStatus
- type BuildSpec
- type BuildStatus
- type BuildTemplateSpec
- type BuildpackConfiguration
- type BuildpackName
- type ClusterAgentConfig
- type ClusterBuildPlane
- func (in *ClusterBuildPlane) DeepCopy() *ClusterBuildPlane
- func (in *ClusterBuildPlane) DeepCopyInto(out *ClusterBuildPlane)
- func (in *ClusterBuildPlane) DeepCopyObject() runtime.Object
- func (c *ClusterBuildPlane) GetConditions() []metav1.Condition
- func (c *ClusterBuildPlane) SetConditions(conditions []metav1.Condition)
- type ClusterBuildPlaneList
- type ClusterBuildPlaneSpec
- type ClusterBuildPlaneStatus
- 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 ClusterTrait
- type ClusterTraitList
- type ClusterTraitRef
- type ClusterTraitRefKind
- type ClusterTraitSpec
- type ClusterTraitStatus
- type Component
- type ComponentList
- type ComponentOwner
- type ComponentProfile
- type ComponentRelease
- type ComponentReleaseList
- type ComponentReleaseOwner
- type ComponentReleaseSpec
- type ComponentReleaseStatus
- type ComponentSource
- type ComponentSpec
- type ComponentStatus
- type ComponentTrait
- type ComponentType
- type ComponentTypeList
- type ComponentTypeRef
- type ComponentTypeRefKind
- type ComponentTypeSchema
- func (in *ComponentTypeSchema) DeepCopy() *ComponentTypeSchema
- func (in *ComponentTypeSchema) DeepCopyInto(out *ComponentTypeSchema)
- func (s *ComponentTypeSchema) GetEnvOverrides() *runtime.RawExtension
- func (s *ComponentTypeSchema) GetParameters() *runtime.RawExtension
- func (s *ComponentTypeSchema) GetTypes() *runtime.RawExtension
- type ComponentTypeSpec
- type ComponentTypeStatus
- type ComponentTypeTrait
- type ConfigurationGroup
- type ConfigurationGroupConfiguration
- type ConfigurationGroupKeyRef
- type ConfigurationGroupList
- type ConfigurationGroupSpec
- type ConfigurationGroupStatus
- type ConfigurationValue
- 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 DeploymentPipelineSpec
- type DeploymentPipelineStatus
- type DeploymentTrack
- func (in *DeploymentTrack) DeepCopy() *DeploymentTrack
- func (in *DeploymentTrack) DeepCopyInto(out *DeploymentTrack)
- func (in *DeploymentTrack) DeepCopyObject() runtime.Object
- func (p *DeploymentTrack) GetConditions() []metav1.Condition
- func (p *DeploymentTrack) SetConditions(conditions []metav1.Condition)
- type DeploymentTrackList
- type DeploymentTrackSpec
- type DeploymentTrackStatus
- type DockerConfiguration
- 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 EnvironmentGroup
- type EnvironmentList
- type EnvironmentMapping
- type EnvironmentSpec
- type EnvironmentStatus
- type ExternalRef
- type FileEdit
- type FileVar
- type GatewayEndpointSpec
- type GatewayListenerSpec
- type GatewayNetworkSpec
- type GatewaySpec
- type GitAuthentication
- type GitCommitAuthor
- type GitCommitRequest
- type GitCommitRequestList
- type GitCommitRequestSpec
- type GitCommitRequestStatus
- type GitRepository
- type HealthStatus
- type Image
- type JSONPatchOperation
- type LatestRelease
- type NotificationChannelConfig
- type NotificationChannelType
- type ObservabilityAlertCondition
- type ObservabilityAlertConditionOperator
- 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 Parameter
- type PatchTarget
- type PendingConnection
- type Project
- type ProjectList
- type ProjectSpec
- type ProjectStatus
- type PromotionPath
- type RegistryAuthentication
- type Release
- 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 ReleaseList
- type ReleaseOwner
- type ReleaseSpec
- type ReleaseState
- type ReleaseStatus
- type RemoteReference
- type Repository
- type ResolvedConnection
- type Resource
- type ResourceReference
- type ResourceStatus
- type ResourceTemplate
- type Revision
- type RoleRef
- type RoleRefKind
- type SMTPAuth
- type SMTPConfig
- type SMTPTLSConfig
- type Schema
- 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 TargetPath
- type TemplateRef
- type Trait
- type TraitCreate
- type TraitList
- type TraitPatch
- type TraitRef
- type TraitRefKind
- type TraitSchema
- type TraitSpec
- type TraitStatus
- type ValidationRule
- type ValueFrom
- type WebhookConfig
- type WebhookHeaderValue
- type Workflow
- type WorkflowList
- type WorkflowRef
- type WorkflowRefKind
- type WorkflowResource
- type WorkflowRun
- type WorkflowRunConfig
- type WorkflowRunList
- type WorkflowRunSpec
- type WorkflowRunStatus
- type WorkflowSchema
- type WorkflowSpec
- type WorkflowStatus
- type WorkflowTask
- type Workload
- type WorkloadConnection
- 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 )
var SupportedVersions = map[BuildpackName][]string{ BuildpackReact: {"18.20.6", "19.9.0", "20.18.3", "21.7.3", "22.14.0", "23.7.0"}, BuildpackGo: {"1.x"}, BuildpackBallerina: {"2201.7.5", "2201.8.9", "2201.9.6", "2201.10.4", "2201.11.0"}, BuildpackNodeJS: {"12.x.x", "14.x.x", "16.x.x", "18.x.x", "20.x.x", "22.x.x"}, BuildpackPython: {"3.10.x", "3.11.x", "3.12.x"}, BuildpackRuby: {"3.1.x", "3.2.x", "3.3.x"}, BuildpackPHP: {"8.1.x", "8.2.x", "8.3.x"}, }
SupportedVersions maps each buildpack to its supported versions. Refer (builder:google-22): https://cloud.google.com/docs/buildpacks/builders
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 AuthzClusterRole ¶ added in v0.14.0
type AuthzClusterRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AuthzClusterRoleSpec `json:"spec,omitempty"`
}
AuthzClusterRole is the Schema for the authzclusterroles API
func (*AuthzClusterRole) DeepCopy ¶ added in v0.14.0
func (in *AuthzClusterRole) DeepCopy() *AuthzClusterRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzClusterRole.
func (*AuthzClusterRole) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzClusterRole) DeepCopyInto(out *AuthzClusterRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzClusterRole) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzClusterRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzClusterRoleBinding ¶ added in v0.14.0
type AuthzClusterRoleBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AuthzClusterRoleBindingSpec `json:"spec,omitempty"`
}
AuthzClusterRoleBinding is the Schema for the authzclusterrolebindings API
func (*AuthzClusterRoleBinding) DeepCopy ¶ added in v0.14.0
func (in *AuthzClusterRoleBinding) DeepCopy() *AuthzClusterRoleBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzClusterRoleBinding.
func (*AuthzClusterRoleBinding) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzClusterRoleBinding) DeepCopyInto(out *AuthzClusterRoleBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzClusterRoleBinding) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzClusterRoleBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzClusterRoleBindingList ¶ added in v0.14.0
type AuthzClusterRoleBindingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []AuthzClusterRoleBinding `json:"items"`
}
AuthzClusterRoleBindingList contains a list of AuthzClusterRoleBinding
func (*AuthzClusterRoleBindingList) DeepCopy ¶ added in v0.14.0
func (in *AuthzClusterRoleBindingList) DeepCopy() *AuthzClusterRoleBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzClusterRoleBindingList.
func (*AuthzClusterRoleBindingList) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzClusterRoleBindingList) DeepCopyInto(out *AuthzClusterRoleBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzClusterRoleBindingList) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzClusterRoleBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzClusterRoleBindingSpec ¶ added in v0.14.0
type AuthzClusterRoleBindingSpec struct {
// Entitlement defines the subject (from JWT claims) to grant the role to
// +required
Entitlement EntitlementClaim `json:"entitlement"`
// RoleRef references the AuthzClusterRole to bind
// NOTE: AuthzClusterRoleBinding can ONLY reference AuthzClusterRole
// +required
RoleRef RoleRef `json:"roleRef"`
// Effect indicates whether this binding allows or denies access (default: allow)
// +kubebuilder:default=allow
// +optional
Effect EffectType `json:"effect,omitempty"`
}
AuthzClusterRoleBindingSpec defines the desired state of AuthzClusterRoleBinding +kubebuilder:validation:XValidation:rule="self.roleRef.kind == 'AuthzClusterRole'",message="AuthzClusterRoleBinding can only reference AuthzClusterRole"
func (*AuthzClusterRoleBindingSpec) DeepCopy ¶ added in v0.14.0
func (in *AuthzClusterRoleBindingSpec) DeepCopy() *AuthzClusterRoleBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzClusterRoleBindingSpec.
func (*AuthzClusterRoleBindingSpec) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzClusterRoleBindingSpec) DeepCopyInto(out *AuthzClusterRoleBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthzClusterRoleList ¶ added in v0.14.0
type AuthzClusterRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []AuthzClusterRole `json:"items"`
}
AuthzClusterRoleList contains a list of AuthzClusterRole
func (*AuthzClusterRoleList) DeepCopy ¶ added in v0.14.0
func (in *AuthzClusterRoleList) DeepCopy() *AuthzClusterRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzClusterRoleList.
func (*AuthzClusterRoleList) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzClusterRoleList) DeepCopyInto(out *AuthzClusterRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthzClusterRoleList) DeepCopyObject ¶ added in v0.14.0
func (in *AuthzClusterRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AuthzClusterRoleSpec ¶ added in v0.14.0
type AuthzClusterRoleSpec 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"`
}
AuthzClusterRoleSpec defines the desired state of AuthzClusterRole
func (*AuthzClusterRoleSpec) DeepCopy ¶ added in v0.14.0
func (in *AuthzClusterRoleSpec) DeepCopy() *AuthzClusterRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzClusterRoleSpec.
func (*AuthzClusterRoleSpec) DeepCopyInto ¶ added in v0.14.0
func (in *AuthzClusterRoleSpec) DeepCopyInto(out *AuthzClusterRoleSpec)
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"`
// RoleRef references the role to bind
// Can reference AuthzClusterRole (platform-wide) or AuthzRole (same namespace only)
// +required
RoleRef RoleRef `json:"roleRef"`
// TargetPath defines which resources this binding applies to within the ownership hierarchy
// All fields are optional - omitted fields mean "all" at that level
// +optional
TargetPath TargetPath `json:"targetPath,omitempty"`
// 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 Build ¶
type Build struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BuildSpec `json:"spec,omitempty"`
Status BuildStatus `json:"status,omitempty"`
}
Build is the Schema for the builds API.
func (*Build) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Build.
func (*Build) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Build) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Build) GetConditions ¶
GetConditions returns the conditions slice
func (*Build) SetConditions ¶
SetConditions sets the conditions slice
type BuildConfiguration ¶
type BuildConfiguration struct {
// Docker specifies the Docker-specific build configuration
Docker *DockerConfiguration `json:"docker,omitempty"`
// Buildpack specifies the buildpack to use
Buildpack *BuildpackConfiguration `json:"buildpack,omitempty"`
}
BuildConfiguration specifies the build configuration details
func (*BuildConfiguration) DeepCopy ¶
func (in *BuildConfiguration) DeepCopy() *BuildConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildConfiguration.
func (*BuildConfiguration) DeepCopyInto ¶
func (in *BuildConfiguration) DeepCopyInto(out *BuildConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildList ¶
type BuildList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Build `json:"items"`
}
BuildList contains a list of Build.
func (*BuildList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildList.
func (*BuildList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BuildList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BuildOwner ¶
type BuildOwner struct {
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
// +kubebuilder:validation:MinLength=1
ComponentName string `json:"componentName"`
}
func (*BuildOwner) DeepCopy ¶
func (in *BuildOwner) DeepCopy() *BuildOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildOwner.
func (*BuildOwner) DeepCopyInto ¶
func (in *BuildOwner) DeepCopyInto(out *BuildOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildPlane ¶
type BuildPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BuildPlaneSpec `json:"spec,omitempty"`
Status BuildPlaneStatus `json:"status,omitempty"`
}
BuildPlane is the Schema for the buildplanes API.
func (*BuildPlane) DeepCopy ¶
func (in *BuildPlane) DeepCopy() *BuildPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildPlane.
func (*BuildPlane) DeepCopyInto ¶
func (in *BuildPlane) DeepCopyInto(out *BuildPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BuildPlane) DeepCopyObject ¶
func (in *BuildPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BuildPlaneList ¶
type BuildPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BuildPlane `json:"items"`
}
BuildPlaneList contains a list of BuildPlane.
func (*BuildPlaneList) DeepCopy ¶
func (in *BuildPlaneList) DeepCopy() *BuildPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildPlaneList.
func (*BuildPlaneList) DeepCopyInto ¶
func (in *BuildPlaneList) DeepCopyInto(out *BuildPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BuildPlaneList) DeepCopyObject ¶
func (in *BuildPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BuildPlaneRef ¶ added in v0.15.0
type BuildPlaneRef struct {
// Kind is the kind of build plane (BuildPlane or ClusterBuildPlane)
// +required
Kind BuildPlaneRefKind `json:"kind"`
// Name is the name of the build plane resource
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
BuildPlaneRef represents a reference to a BuildPlane or ClusterBuildPlane
func (*BuildPlaneRef) DeepCopy ¶ added in v0.15.0
func (in *BuildPlaneRef) DeepCopy() *BuildPlaneRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildPlaneRef.
func (*BuildPlaneRef) DeepCopyInto ¶ added in v0.15.0
func (in *BuildPlaneRef) DeepCopyInto(out *BuildPlaneRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildPlaneRefKind ¶ added in v0.15.0
type BuildPlaneRefKind string
BuildPlaneRefKind defines the kind of build plane referenced by a BuildPlaneRef +kubebuilder:validation:Enum=BuildPlane;ClusterBuildPlane
const ( // BuildPlaneRefKindBuildPlane references a namespace-scoped BuildPlane BuildPlaneRefKindBuildPlane BuildPlaneRefKind = "BuildPlane" // BuildPlaneRefKindClusterBuildPlane references a cluster-scoped ClusterBuildPlane BuildPlaneRefKindClusterBuildPlane BuildPlaneRefKind = "ClusterBuildPlane" )
type BuildPlaneSpec ¶
type BuildPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple BuildPlane 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 build 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 BuildPlane.
// If not specified, defaults to an ObservabilityPlane named "default" in the same namespace.
// +optional
ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}
BuildPlaneSpec defines the desired state of BuildPlane.
func (*BuildPlaneSpec) DeepCopy ¶
func (in *BuildPlaneSpec) DeepCopy() *BuildPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildPlaneSpec.
func (*BuildPlaneSpec) DeepCopyInto ¶
func (in *BuildPlaneSpec) DeepCopyInto(out *BuildPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildPlaneStatus ¶
type BuildPlaneStatus struct {
// ObservedGeneration is the generation observed by the controller
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the latest available observations of the BuildPlane's state
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this build plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
BuildPlaneStatus defines the observed state of BuildPlane.
func (*BuildPlaneStatus) DeepCopy ¶
func (in *BuildPlaneStatus) DeepCopy() *BuildPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildPlaneStatus.
func (*BuildPlaneStatus) DeepCopyInto ¶
func (in *BuildPlaneStatus) DeepCopyInto(out *BuildPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildSpec ¶
type BuildSpec struct {
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner BuildOwner `json:"owner"`
// Repository contains the source repository configuration
Repository Repository `json:"repository"`
// TemplateRef contains the build template reference and parameters
TemplateRef TemplateRef `json:"templateRef"`
}
BuildSpec defines the desired state of Build.
func (*BuildSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildSpec.
func (*BuildSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildStatus ¶
type BuildStatus struct {
// Conditions represent the latest available observations of the build's current state
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ImageStatus contains information about the built image
ImageStatus Image `json:"imageStatus,omitempty"`
}
BuildStatus defines the observed state of Build.
func (*BuildStatus) DeepCopy ¶
func (in *BuildStatus) DeepCopy() *BuildStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildStatus.
func (*BuildStatus) DeepCopyInto ¶
func (in *BuildStatus) DeepCopyInto(out *BuildStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildTemplateSpec ¶
type BuildTemplateSpec struct {
// Branch specifies the Git branch to use
Branch string `json:"branch"`
// Path specifies the repository path to use
Path string `json:"path"`
// BuildConfiguration specifies the build settings
BuildConfiguration *BuildConfiguration `json:"buildConfiguration,omitempty"`
}
BuildTemplateSpec defines the build template configuration
func (*BuildTemplateSpec) DeepCopy ¶
func (in *BuildTemplateSpec) DeepCopy() *BuildTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildTemplateSpec.
func (*BuildTemplateSpec) DeepCopyInto ¶
func (in *BuildTemplateSpec) DeepCopyInto(out *BuildTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildpackConfiguration ¶
type BuildpackConfiguration struct {
Name BuildpackName `json:"name"`
Version string `json:"version,omitempty"`
}
func (*BuildpackConfiguration) DeepCopy ¶
func (in *BuildpackConfiguration) DeepCopy() *BuildpackConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildpackConfiguration.
func (*BuildpackConfiguration) DeepCopyInto ¶
func (in *BuildpackConfiguration) DeepCopyInto(out *BuildpackConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildpackName ¶
type BuildpackName string
const ( BuildpackReact BuildpackName = "React" BuildpackGo BuildpackName = "Go" BuildpackBallerina BuildpackName = "Ballerina" BuildpackNodeJS BuildpackName = "Node.js" BuildpackPython BuildpackName = "Python" BuildpackRuby BuildpackName = "Ruby" BuildpackPHP BuildpackName = "PHP" )
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 ClusterBuildPlane ¶ added in v0.14.0
type ClusterBuildPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterBuildPlaneSpec `json:"spec,omitempty"`
Status ClusterBuildPlaneStatus `json:"status,omitempty"`
}
ClusterBuildPlane is the Schema for the clusterbuildplanes API. It is a cluster-scoped version of BuildPlane, allowing platform administrators to define build plane configurations that can be referenced across multiple namespaces.
func (*ClusterBuildPlane) DeepCopy ¶ added in v0.14.0
func (in *ClusterBuildPlane) DeepCopy() *ClusterBuildPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBuildPlane.
func (*ClusterBuildPlane) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterBuildPlane) DeepCopyInto(out *ClusterBuildPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterBuildPlane) DeepCopyObject ¶ added in v0.14.0
func (in *ClusterBuildPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterBuildPlane) GetConditions ¶ added in v0.14.0
func (c *ClusterBuildPlane) GetConditions() []metav1.Condition
GetConditions returns the conditions of the ClusterBuildPlane.
func (*ClusterBuildPlane) SetConditions ¶ added in v0.14.0
func (c *ClusterBuildPlane) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the ClusterBuildPlane.
type ClusterBuildPlaneList ¶ added in v0.14.0
type ClusterBuildPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterBuildPlane `json:"items"`
}
ClusterBuildPlaneList contains a list of ClusterBuildPlane.
func (*ClusterBuildPlaneList) DeepCopy ¶ added in v0.14.0
func (in *ClusterBuildPlaneList) DeepCopy() *ClusterBuildPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBuildPlaneList.
func (*ClusterBuildPlaneList) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterBuildPlaneList) DeepCopyInto(out *ClusterBuildPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterBuildPlaneList) DeepCopyObject ¶ added in v0.14.0
func (in *ClusterBuildPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterBuildPlaneSpec ¶ added in v0.14.0
type ClusterBuildPlaneSpec struct {
// PlaneID identifies the logical plane this CR connects to.
// Multiple ClusterBuildPlane 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 build planes must use cluster agent communication
ClusterAgent ClusterAgentConfig `json:"clusterAgent"`
// SecretStoreRef specifies the ESO ClusterSecretStore to use in the build plane
// +optional
SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`
// ObservabilityPlaneRef specifies the ClusterObservabilityPlane for this ClusterBuildPlane.
// 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="ClusterBuildPlane can only reference ClusterObservabilityPlane"
ObservabilityPlaneRef *ClusterObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}
ClusterBuildPlaneSpec defines the desired state of ClusterBuildPlane. This is a cluster-scoped version of BuildPlaneSpec, allowing platform admins to define build planes that can be referenced across namespaces.
func (*ClusterBuildPlaneSpec) DeepCopy ¶ added in v0.14.0
func (in *ClusterBuildPlaneSpec) DeepCopy() *ClusterBuildPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBuildPlaneSpec.
func (*ClusterBuildPlaneSpec) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterBuildPlaneSpec) DeepCopyInto(out *ClusterBuildPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterBuildPlaneStatus ¶ added in v0.14.0
type ClusterBuildPlaneStatus struct {
// ObservedGeneration reflects the generation of the most recently observed ClusterBuildPlane.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represent the current state of the ClusterBuildPlane resource.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// AgentConnection tracks the status of cluster agent connections to this build plane
// +optional
AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}
ClusterBuildPlaneStatus defines the observed state of ClusterBuildPlane.
func (*ClusterBuildPlaneStatus) DeepCopy ¶ added in v0.14.0
func (in *ClusterBuildPlaneStatus) DeepCopy() *ClusterBuildPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBuildPlaneStatus.
func (*ClusterBuildPlaneStatus) DeepCopyInto ¶ added in v0.14.0
func (in *ClusterBuildPlaneStatus) DeepCopyInto(out *ClusterBuildPlaneStatus)
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 Workflow CRs developers can use
// for building components of this type. If empty, no Workflows are allowed.
// References must point to Workflow resources.
// +optional
AllowedWorkflows []WorkflowRef `json:"allowedWorkflows,omitempty"`
// Schema defines what developers can configure when creating components of this type
// +optional
Schema ComponentTypeSchema `json:"schema,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"`
// EnvOverrides contains trait environment override bindings.
// Values can be concrete (locked by PE) or CEL expressions referencing
// the ComponentType schema using ${...} syntax.
// Example: "${envOverrides.storage.size}" or "local-path" (locked)
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
EnvOverrides *runtime.RawExtension `json:"envOverrides,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"`
// ImagePullSecretRefs contains references to SecretReference resources
// These will be converted to ExternalSecrets and added as imagePullSecrets to all deployments
// +optional
ImagePullSecretRefs []string `json:"imagePullSecretRefs,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, ClusterBuildPlane) 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 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 {
// Schema defines trait parameters
// +optional
Schema TraitSchema `json:"schema,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 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 from ComponentType (oneOf schema based on componentType)
// This is the merged schema of parameters + envOverrides 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"`
}
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 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 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 full embedded copy of the ComponentType
// This ensures the ComponentRelease has an immutable snapshot of the ComponentType at the time of component release
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentType is immutable"
ComponentType ComponentTypeSpec `json:"componentType"`
// Traits maps trait names to their frozen specifications
// at the time of ComponentRelease, ensuring immutability
// +optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.traits is immutable"
Traits map[string]TraitSpec `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 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 + envOverrides 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 *WorkflowRunConfig `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 this config is defined in the Trait's schema.parameters and schema.envOverrides
// +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 ComponentTypeSchema ¶ added in v0.4.0
type ComponentTypeSchema struct {
// Types defines reusable type definitions that can be referenced in schema fields
// This is a nested map structure where keys are type names and values are type definitions
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Types *runtime.RawExtension `json:"types,omitempty"`
// Parameters are static across environments and exposed as inputs to developers
// when creating a Component of this type. This is a nested map structure where
// keys are field names and values are either nested maps or type definition strings.
// Type definition format: "type | default=value | enum=val1,val2"
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
// EnvOverrides can be overridden per environment via ReleaseBinding by platform engineers.
// Same nested map structure and type definition format as Parameters.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
EnvOverrides *runtime.RawExtension `json:"envOverrides,omitempty"`
}
ComponentTypeSchema defines the configurable parameters for a component type Parameters and EnvOverrides are nested map structures where keys are field names and values define the type and validation rules using inline schema syntax.
Example:
parameters:
runtime:
command: "array<string> | default=[]"
args: "array<string> | default=[]"
lifecycle:
terminationGracePeriodSeconds: "integer | default=30"
imagePullPolicy: "string | default=IfNotPresent | enum=Always,IfNotPresent,Never"
func (*ComponentTypeSchema) DeepCopy ¶ added in v0.4.0
func (in *ComponentTypeSchema) DeepCopy() *ComponentTypeSchema
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentTypeSchema.
func (*ComponentTypeSchema) DeepCopyInto ¶ added in v0.4.0
func (in *ComponentTypeSchema) DeepCopyInto(out *ComponentTypeSchema)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentTypeSchema) GetEnvOverrides ¶ added in v0.9.0
func (s *ComponentTypeSchema) GetEnvOverrides() *runtime.RawExtension
GetEnvOverrides returns the envOverrides raw extension.
func (*ComponentTypeSchema) GetParameters ¶ added in v0.9.0
func (s *ComponentTypeSchema) GetParameters() *runtime.RawExtension
GetParameters returns the parameters raw extension.
func (*ComponentTypeSchema) GetTypes ¶ added in v0.9.0
func (s *ComponentTypeSchema) GetTypes() *runtime.RawExtension
GetTypes returns the types raw extension.
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.
// References must point to Workflow resources.
// +optional
AllowedWorkflows []WorkflowRef `json:"allowedWorkflows,omitempty"`
// Schema defines what developers can configure when creating components of this type
// +optional
Schema ComponentTypeSchema `json:"schema,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"`
// EnvOverrides contains trait environment override bindings.
// Values can be concrete (locked by PE) or CEL expressions referencing
// the ComponentType schema using ${...} syntax.
// Example: "${envOverrides.storage.size}" or "local-path" (locked)
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
EnvOverrides *runtime.RawExtension `json:"envOverrides,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 ConfigurationGroup ¶
type ConfigurationGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConfigurationGroupSpec `json:"spec,omitempty"`
Status ConfigurationGroupStatus `json:"status,omitempty"`
}
ConfigurationGroup is the Schema for the configurationgroups API
func (*ConfigurationGroup) DeepCopy ¶
func (in *ConfigurationGroup) DeepCopy() *ConfigurationGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroup.
func (*ConfigurationGroup) DeepCopyInto ¶
func (in *ConfigurationGroup) DeepCopyInto(out *ConfigurationGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationGroup) DeepCopyObject ¶
func (in *ConfigurationGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationGroupConfiguration ¶
type ConfigurationGroupConfiguration struct {
// Key of the configuration parameter.
//
// +required
// +immutable
// +kubebuilder:validation:Required
Key string `json:"key"`
// List of values for the configuration parameter.
// These values can be applicable either to a specific environment or an environment group.
// The value for each specified key may be either a config or a secret. These can be mixed across environments.
// e.g. use a config value for dev and a secret for prod.
//
// +required
Values []ConfigurationValue `json:"values"`
}
ConfigurationGroupConfiguration defines a configuration parameter
func (*ConfigurationGroupConfiguration) DeepCopy ¶
func (in *ConfigurationGroupConfiguration) DeepCopy() *ConfigurationGroupConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupConfiguration.
func (*ConfigurationGroupConfiguration) DeepCopyInto ¶
func (in *ConfigurationGroupConfiguration) DeepCopyInto(out *ConfigurationGroupConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationGroupKeyRef ¶
type ConfigurationGroupKeyRef struct {
// +required
Name string `json:"name"`
// +required
Key string `json:"key"`
}
ConfigurationGroupKeyRef references a specific key in a configuration group.
func (*ConfigurationGroupKeyRef) DeepCopy ¶
func (in *ConfigurationGroupKeyRef) DeepCopy() *ConfigurationGroupKeyRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupKeyRef.
func (*ConfigurationGroupKeyRef) DeepCopyInto ¶
func (in *ConfigurationGroupKeyRef) DeepCopyInto(out *ConfigurationGroupKeyRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationGroupList ¶
type ConfigurationGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ConfigurationGroup `json:"items"`
}
ConfigurationGroupList contains a list of ConfigurationGroup
func (*ConfigurationGroupList) DeepCopy ¶
func (in *ConfigurationGroupList) DeepCopy() *ConfigurationGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupList.
func (*ConfigurationGroupList) DeepCopyInto ¶
func (in *ConfigurationGroupList) DeepCopyInto(out *ConfigurationGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationGroupList) DeepCopyObject ¶
func (in *ConfigurationGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationGroupSpec ¶
type ConfigurationGroupSpec struct {
// Scope of the configuration group.
// TODO need to define hierarchy when scope is specific
//
// +optional
// +kubebuilder:default={}
Scope map[string]string `json:"scope,omitempty"`
// Environment groups that the configuration group is applicable.
// This will be used when there are multiple similar environments to avoid repetition.
//
// +optional
EnvironmentGroups []EnvironmentGroup `json:"environmentGroups,omitempty"`
// Configuration parameters of the configuration group.
//
// +required
Configurations []ConfigurationGroupConfiguration `json:"configurations"`
}
ConfigurationGroupSpec defines the desired state of ConfigurationGroup
func (*ConfigurationGroupSpec) DeepCopy ¶
func (in *ConfigurationGroupSpec) DeepCopy() *ConfigurationGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupSpec.
func (*ConfigurationGroupSpec) DeepCopyInto ¶
func (in *ConfigurationGroupSpec) DeepCopyInto(out *ConfigurationGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationGroupStatus ¶
type ConfigurationGroupStatus struct {
// Conditions represent the latest available observations of the ConfigurationGroup's state
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ConfigurationGroupStatus defines the observed state of ConfigurationGroup
func (*ConfigurationGroupStatus) DeepCopy ¶
func (in *ConfigurationGroupStatus) DeepCopy() *ConfigurationGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupStatus.
func (*ConfigurationGroupStatus) DeepCopyInto ¶
func (in *ConfigurationGroupStatus) DeepCopyInto(out *ConfigurationGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationValue ¶
type ConfigurationValue struct {
// Reference to the environment group to which this configuration parameter is applicable.
//
// This field is mutually exclusive with environment field.
//
// +optional
EnvironmentGroupRef string `json:"environmentGroupRef,omitempty"`
// Reference to the environment to which this configuration parameter is applicable.
//
// This field is mutually exclusive with environmentGroupRef field.
//
// +optional
Environment string `json:"environment,omitempty"`
// Value of the configuration parameter.
//
// This field is mutually exclusive with vaultKey.
//
// +optional
Value string `json:"value,omitempty"`
// Reference to the secret vault key that contains the value for this configuration parameter.
//
// This field is mutually exclusive with value.
//
// +optional
VaultKey string `json:"vaultKey,omitempty"`
}
ConfigurationValue defines the value of a configuration parameter
func (*ConfigurationValue) DeepCopy ¶
func (in *ConfigurationValue) DeepCopy() *ConfigurationValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationValue.
func (*ConfigurationValue) DeepCopyInto ¶
func (in *ConfigurationValue) DeepCopyInto(out *ConfigurationValue)
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.
// For project/namespace visibility, this matches the consumer's environment.
// For internal visibility, this may differ based on environmentMapping.
// +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"`
// ImagePullSecretRefs contains references to SecretReference resources
// These will be converted to ExternalSecrets and added as imagePullSecrets to all deployments
// +optional
ImagePullSecretRefs []string `json:"imagePullSecretRefs,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 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 DeploymentTrack ¶
type DeploymentTrack struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DeploymentTrackSpec `json:"spec,omitempty"`
Status DeploymentTrackStatus `json:"status,omitempty"`
}
DeploymentTrack is the Schema for the deploymenttracks API.
func (*DeploymentTrack) DeepCopy ¶
func (in *DeploymentTrack) DeepCopy() *DeploymentTrack
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTrack.
func (*DeploymentTrack) DeepCopyInto ¶
func (in *DeploymentTrack) DeepCopyInto(out *DeploymentTrack)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentTrack) DeepCopyObject ¶
func (in *DeploymentTrack) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DeploymentTrack) GetConditions ¶
func (p *DeploymentTrack) GetConditions() []metav1.Condition
func (*DeploymentTrack) SetConditions ¶
func (p *DeploymentTrack) SetConditions(conditions []metav1.Condition)
type DeploymentTrackList ¶
type DeploymentTrackList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DeploymentTrack `json:"items"`
}
DeploymentTrackList contains a list of DeploymentTrack.
func (*DeploymentTrackList) DeepCopy ¶
func (in *DeploymentTrackList) DeepCopy() *DeploymentTrackList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTrackList.
func (*DeploymentTrackList) DeepCopyInto ¶
func (in *DeploymentTrackList) DeepCopyInto(out *DeploymentTrackList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentTrackList) DeepCopyObject ¶
func (in *DeploymentTrackList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeploymentTrackSpec ¶
type DeploymentTrackSpec struct {
// AutoDeploy defines whether deployment should be triggered automatically
AutoDeploy bool `json:"autoDeploy,omitempty"`
// BuildTemplateSpec defines the build template configuration
BuildTemplateSpec *BuildTemplateSpec `json:"buildTemplateSpec,omitempty"`
}
DeploymentTrackSpec defines the desired state of DeploymentTrack.
func (*DeploymentTrackSpec) DeepCopy ¶
func (in *DeploymentTrackSpec) DeepCopy() *DeploymentTrackSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTrackSpec.
func (*DeploymentTrackSpec) DeepCopyInto ¶
func (in *DeploymentTrackSpec) DeepCopyInto(out *DeploymentTrackSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentTrackStatus ¶
type DeploymentTrackStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
DeploymentTrackStatus defines the observed state of DeploymentTrack.
func (*DeploymentTrackStatus) DeepCopy ¶
func (in *DeploymentTrackStatus) DeepCopy() *DeploymentTrackStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTrackStatus.
func (*DeploymentTrackStatus) DeepCopyInto ¶
func (in *DeploymentTrackStatus) DeepCopyInto(out *DeploymentTrackStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DockerConfiguration ¶
type DockerConfiguration struct {
// Context specifies the build context path
Context string `json:"context"`
// DockerfilePath specifies the path to the Dockerfile
DockerfilePath string `json:"dockerfilePath"`
}
func (*DockerConfiguration) DeepCopy ¶
func (in *DockerConfiguration) DeepCopy() *DockerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerConfiguration.
func (*DockerConfiguration) DeepCopyInto ¶
func (in *DockerConfiguration) DeepCopyInto(out *DockerConfiguration)
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 AuthzClusterRoleBinding +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" EndpointTypeREST EndpointType = "REST" 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, REST, 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 AuthzClusterRoleBinding
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 configuration group.
// +optional
ConfigurationGroupRef *ConfigurationGroupKeyRef `json:"configurationGroupRef,omitempty"`
// Reference to a secret resource.
// +optional
SecretRef *SecretKeyRef `json:"secretRef,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 EnvironmentGroup ¶
type EnvironmentGroup struct {
// Name of the environment group.
//
// +required
Name string `json:"name"`
// List of environments that are part of the environment group.
//
// +required
Environments []string `json:"environments"`
}
EnvironmentGroup defines a group of environments
func (*EnvironmentGroup) DeepCopy ¶
func (in *EnvironmentGroup) DeepCopy() *EnvironmentGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentGroup.
func (*EnvironmentGroup) DeepCopyInto ¶
func (in *EnvironmentGroup) DeepCopyInto(out *EnvironmentGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 EnvironmentMapping ¶ added in v0.17.0
EnvironmentMapping maps consumer environment names (keys) to provider environment names (values). Used for internal visibility connections where the consumer and provider may have different environment names.
func (EnvironmentMapping) DeepCopy ¶ added in v0.17.0
func (in EnvironmentMapping) DeepCopy() EnvironmentMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentMapping.
func (EnvironmentMapping) DeepCopyInto ¶ added in v0.17.0
func (in EnvironmentMapping) DeepCopyInto(out *EnvironmentMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 FileEdit ¶
type FileEdit struct {
Path string `json:"path"` // path inside repo
Content string `json:"content,omitempty"` // full replacement
Patch string `json:"patch,omitempty"` // optional RFC-6902 JSON patch
}
func (*FileEdit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileEdit.
func (*FileEdit) DeepCopyInto ¶
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 GitCommitAuthor ¶
type GitCommitAuthor struct {
Name string `json:"name,omitempty"` // Author name
Email string `json:"email,omitempty"` // Author email
}
func (*GitCommitAuthor) DeepCopy ¶
func (in *GitCommitAuthor) DeepCopy() *GitCommitAuthor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommitAuthor.
func (*GitCommitAuthor) DeepCopyInto ¶
func (in *GitCommitAuthor) DeepCopyInto(out *GitCommitAuthor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitCommitRequest ¶
type GitCommitRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GitCommitRequestSpec `json:"spec,omitempty"`
Status GitCommitRequestStatus `json:"status,omitempty"`
}
GitCommitRequest is the Schema for the gitcommitrequests API.
func (*GitCommitRequest) DeepCopy ¶
func (in *GitCommitRequest) DeepCopy() *GitCommitRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommitRequest.
func (*GitCommitRequest) DeepCopyInto ¶
func (in *GitCommitRequest) DeepCopyInto(out *GitCommitRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitCommitRequest) DeepCopyObject ¶
func (in *GitCommitRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitCommitRequestList ¶
type GitCommitRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GitCommitRequest `json:"items"`
}
GitCommitRequestList contains a list of GitCommitRequest.
func (*GitCommitRequestList) DeepCopy ¶
func (in *GitCommitRequestList) DeepCopy() *GitCommitRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommitRequestList.
func (*GitCommitRequestList) DeepCopyInto ¶
func (in *GitCommitRequestList) DeepCopyInto(out *GitCommitRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitCommitRequestList) DeepCopyObject ¶
func (in *GitCommitRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitCommitRequestSpec ¶
type GitCommitRequestSpec struct {
// HTTPS or SSH URL of the repo, e.g. https://github.com/org/repo.git
RepoURL string `json:"repoURL"`
// Branch to commit into
Branch string `json:"branch,omitempty"`
// The commit message
Message string `json:"message"`
// Author information for the commit
Author GitCommitAuthor `json:"author,omitempty"`
// Reference to a Secret that contains write credentials
// data["username"], data["password"] for HTTPS **or**
// data["ssh-privatekey"] for SSH
AuthSecretRef string `json:"authSecretRef,omitempty"`
// Files to create or patch
Files []FileEdit `json:"files"`
}
GitCommitRequestSpec defines the desired state of GitCommitRequest.
func (*GitCommitRequestSpec) DeepCopy ¶
func (in *GitCommitRequestSpec) DeepCopy() *GitCommitRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommitRequestSpec.
func (*GitCommitRequestSpec) DeepCopyInto ¶
func (in *GitCommitRequestSpec) DeepCopyInto(out *GitCommitRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitCommitRequestStatus ¶
type GitCommitRequestStatus struct {
Phase string `json:"phase,omitempty"` // Pending|Succeeded|Failed
ObservedSHA string `json:"observedSHA,omitempty"` // last commit SHA
ObservedBranch string `json:"observedBranch,omitempty"` // branch we pushed
Message string `json:"message,omitempty"`
}
GitCommitRequestStatus defines the observed state of GitCommitRequest.
func (*GitCommitRequestStatus) DeepCopy ¶
func (in *GitCommitRequestStatus) DeepCopy() *GitCommitRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommitRequestStatus.
func (*GitCommitRequestStatus) DeepCopyInto ¶
func (in *GitCommitRequestStatus) DeepCopyInto(out *GitCommitRequestStatus)
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 Image ¶
type Image struct {
Image string `json:"image"`
}
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 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 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 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"`
// EnableAiRootCauseAnalysis allows an attached AI engine to attempt root cause analysis when the rule fires.
// +optional
EnableAiRootCauseAnalysis bool `json:"enableAiRootCauseAnalysis,omitempty"`
// NotificationChannel references the alerts notification channel that should receive the alert.
// +kubebuilder:validation:Required
NotificationChannel string `json:"notificationChannel,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"`
}
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 Parameter ¶
type Parameter struct {
// Name is the parameter name
Name string `json:"name"`
// Value is the parameter value
Value string `json:"value"`
}
Parameter defines a template parameter
func (*Parameter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter.
func (*Parameter) DeepCopyInto ¶
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 string `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 string `json:"sourceEnvironmentRef"`
// TargetEnvironmentRefs is the list of target environments and their approval requirements
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 Release ¶
type Release struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ReleaseSpec `json:"spec,omitempty"`
Status ReleaseStatus `json:"status,omitempty"`
}
Release is the Schema for the releases API.
func (*Release) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.
func (*Release) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Release) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Release) GetConditions ¶
GetConditions returns the conditions from the status
func (*Release) SetConditions ¶
SetConditions sets the conditions in the status
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"`
// ComponentTypeEnvOverrides for ComponentType envOverrides parameters
// These values override the defaults defined in the Component for this specific environment
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
ComponentTypeEnvOverrides *runtime.RawExtension `json:"componentTypeEnvOverrides,omitempty"`
// TraitOverrides 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
TraitOverrides map[string]runtime.RawExtension `json:"traitOverrides,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 ReleaseList ¶
type ReleaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Release `json:"items"`
}
ReleaseList contains a list of Release.
func (*ReleaseList) DeepCopy ¶
func (in *ReleaseList) DeepCopy() *ReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseList.
func (*ReleaseList) DeepCopyInto ¶
func (in *ReleaseList) DeepCopyInto(out *ReleaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReleaseList) DeepCopyObject ¶
func (in *ReleaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReleaseOwner ¶
type ReleaseOwner struct {
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName"`
// +kubebuilder:validation:MinLength=1
ComponentName string `json:"componentName"`
}
ReleaseOwner defines the owner of a Release.
func (*ReleaseOwner) DeepCopy ¶
func (in *ReleaseOwner) DeepCopy() *ReleaseOwner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseOwner.
func (*ReleaseOwner) DeepCopyInto ¶
func (in *ReleaseOwner) DeepCopyInto(out *ReleaseOwner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseSpec ¶
type ReleaseSpec struct {
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
Owner ReleaseOwner `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"`
}
ReleaseSpec defines the desired state of Release.
func (*ReleaseSpec) DeepCopy ¶
func (in *ReleaseSpec) DeepCopy() *ReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpec.
func (*ReleaseSpec) DeepCopyInto ¶
func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)
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" // ReleaseStateSuspend indicates the Release should be suspended. // Resources are scaled to zero or paused but not deleted. // - Deployments/StatefulSets: replicas set to 0 // - Jobs: spec.suspend set to true // - CronJobs: spec.suspend set to true // - HPA: minReplicas and maxReplicas set to 0 ReleaseStateSuspend ReleaseState = "Suspend" // 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 ReleaseStatus ¶
type ReleaseStatus 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 Release's current state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ReleaseStatus defines the observed state of Release.
func (*ReleaseStatus) DeepCopy ¶
func (in *ReleaseStatus) DeepCopy() *ReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseStatus.
func (*ReleaseStatus) DeepCopyInto ¶
func (in *ReleaseStatus) DeepCopyInto(out *ReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 Repository ¶
type Repository struct {
// URL is the repository URL
URL string `json:"url"`
// Revision specifies the revision to build from
Revision Revision `json:"revision"`
// AppPath is the path to the application within the repository
AppPath string `json:"appPath"`
}
Repository defines the source repository configuration
func (*Repository) DeepCopy ¶
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶
func (in *Repository) DeepCopyInto(out *Repository)
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 build plane cluster.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Namespace is the namespace of the resource in the build plane cluster.
// Empty for cluster-scoped resources.
// +optional
Namespace string `json:"namespace,omitempty"`
}
ResourceReference tracks a resource applied to the build 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 Revision ¶
type Revision struct {
// Branch specifies the branch to build from
Branch string `json:"branch,omitempty"`
// Commit specifies the commit hash to build from
Commit string `json:"commit,omitempty"`
}
Revision defines the revision specification
func (*Revision) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Revision.
func (*Revision) DeepCopyInto ¶
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 AuthzClusterRole)
// 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 AuthzClusterRole Used by AuthzRoleBinding and AuthzClusterRoleBinding
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;AuthzClusterRole
const ( // RoleRefKindAuthzRole references a namespaced AuthzRole RoleRefKindAuthzRole RoleRefKind = "AuthzRole" // RoleRefKindAuthzClusterRole references a cluster-scoped AuthzClusterRole RoleRefKindAuthzClusterRole RoleRefKind = "AuthzClusterRole" )
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 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 {
// Name of the target environment
Name string `json:"name"`
// RequiresApproval indicates if promotion to this environment requires approval
// +optional
RequiresApproval bool `json:"requiresApproval,omitempty"`
// IsManualApprovalRequired indicates if manual approval is needed for promotion
// +optional
IsManualApprovalRequired bool `json:"isManualApprovalRequired,omitempty"`
}
TargetEnvironmentRef defines a reference to a target environment with approval settings
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 TargetPath ¶ added in v0.14.0
type TargetPath 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"`
}
TargetPath defines which resources this binding applies to within the ownership hierarchy All fields are optional - omitted fields mean "all" at that level
func (*TargetPath) DeepCopy ¶ added in v0.14.0
func (in *TargetPath) DeepCopy() *TargetPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetPath.
func (*TargetPath) DeepCopyInto ¶ added in v0.14.0
func (in *TargetPath) DeepCopyInto(out *TargetPath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateRef ¶
type TemplateRef struct {
// Engine specifies the build engine
Engine string `json:"engine,omitempty"`
// Name is the template name
Name string `json:"name"`
// Parameters contains the template parameters
Parameters []Parameter `json:"parameters,omitempty"`
}
TemplateRef defines the build template reference
func (*TemplateRef) DeepCopy ¶
func (in *TemplateRef) DeepCopy() *TemplateRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateRef.
func (*TemplateRef) DeepCopyInto ¶
func (in *TemplateRef) DeepCopyInto(out *TemplateRef)
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 TraitSchema ¶ added in v0.4.0
type TraitSchema struct {
// Types defines reusable type definitions that can be referenced in schema fields
// This is a nested map structure where keys are type names and values are type definitions
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Types *runtime.RawExtension `json:"types,omitempty"`
// Parameters are developer-facing configuration options.
// This is a nested map structure where keys are field names and values
// are either nested maps or type definition strings.
// Type definition format: "type | default=value | enum=val1,val2"
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
// EnvOverrides can be overridden per environment via ReleaseBinding.
// Same nested map structure and type definition format as Parameters.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
EnvOverrides *runtime.RawExtension `json:"envOverrides,omitempty"`
}
TraitSchema defines the configurable parameters for a trait Uses the same nested map structure and inline schema syntax as ComponentTypeSchema
Example:
parameters: volumeName: "string" mountPath: "string" containerName: "string | default=app" envOverrides: size: "string | default=10Gi" storageClass: "string | default=standard"
func (*TraitSchema) DeepCopy ¶ added in v0.4.0
func (in *TraitSchema) DeepCopy() *TraitSchema
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitSchema.
func (*TraitSchema) DeepCopyInto ¶ added in v0.4.0
func (in *TraitSchema) DeepCopyInto(out *TraitSchema)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TraitSchema) GetEnvOverrides ¶ added in v0.9.0
func (s *TraitSchema) GetEnvOverrides() *runtime.RawExtension
GetEnvOverrides returns the envOverrides raw extension.
func (*TraitSchema) GetParameters ¶ added in v0.9.0
func (s *TraitSchema) GetParameters() *runtime.RawExtension
GetParameters returns the parameters raw extension.
func (*TraitSchema) GetTypes ¶ added in v0.9.0
func (s *TraitSchema) GetTypes() *runtime.RawExtension
GetTypes returns the types raw extension.
type TraitSpec ¶ added in v0.4.0
type TraitSpec struct {
// Schema defines trait parameters
// +optional
Schema TraitSchema `json:"schema,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 {
// SecretRef is a reference to a secret containing the value
// +optional
SecretRef *SecretKeyReference `json:"secretRef,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 WorkflowRef ¶ added in v0.17.0
type WorkflowRef struct {
// Kind is the kind of workflow. Currently only "Workflow" is supported.
// +optional
// +kubebuilder:default=Workflow
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. Currently only "Workflow" is supported. +kubebuilder:validation:Enum=Workflow
const ( // WorkflowRefKindWorkflow references a namespace-scoped Workflow WorkflowRefKindWorkflow WorkflowRefKind = "Workflow" )
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
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 {
// Name references the Workflow CR to use for this execution.
// The Workflow CR contains the schema definition and resource template.
// +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"`
}
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 WorkflowSchema ¶ added in v0.11.0
type WorkflowSchema struct {
// Types defines reusable type definitions that can be referenced in schema fields.
// This is a nested map structure where keys are type names and values are type definitions.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Types *runtime.RawExtension `json:"types,omitempty"`
// Parameters defines the flexible PE-defined schema for additional build configuration.
// Platform Engineers have complete freedom to define any structure, types, and validation rules.
//
// This is a nested map structure where keys are field names and values are type definitions.
// Type definition format: "type | default=value enum=val1,val2 minimum=N maximum=N"
//
// Supported types: string, integer, boolean, array<type>, object
//
// Example:
// parameters:
// version: 'integer | default=1 description="Build version"'
// testMode: "string | enum=unit,integration,none default=unit"
// resources:
// cpuCores: "integer | default=1 minimum=1 maximum=8"
// memoryGb: "integer | default=2 minimum=1 maximum=32"
// cache:
// enabled: "boolean | default=true"
// paths: "array<string> | default=["/root/.cache"]"
//
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}
WorkflowSchema defines the parameter schemas for workflows.
func (*WorkflowSchema) DeepCopy ¶ added in v0.11.0
func (in *WorkflowSchema) DeepCopy() *WorkflowSchema
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSchema.
func (*WorkflowSchema) DeepCopyInto ¶ added in v0.11.0
func (in *WorkflowSchema) DeepCopyInto(out *WorkflowSchema)
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 {
// BuildPlaneRef references the BuildPlane or ClusterBuildPlane for this workflow's build operations.
// If not specified, the controller resolves the build plane in the following order:
// 1. BuildPlane named "default" in the same namespace
// 2. ClusterBuildPlane named "default" (cluster-scoped fallback)
// +optional
BuildPlaneRef *BuildPlaneRef `json:"buildPlaneRef,omitempty"`
// Schema defines the developer-facing parameters that can be configured
// when creating a WorkflowRun instance. Uses the same shorthand schema syntax
// as ComponentType.
//
// Schema format: nested maps where keys are field names and values are either
// nested maps or type definition strings.
// Type definition format: "type | default=value minimum=2 enum=val1,val2"
//
// Example:
// repository:
// url: string | description="Git repository URL"
// revision:
// branch: string | default=main description="Git branch to checkout"
// commit: string | default=HEAD description="Git commit SHA or reference"
// appPath: string | default=. description="Path to the application directory"
// credentialsRef: string | enum=checkout-repo-credentials-dev,payments-repo-credentials-dev description="Repository credentials secret reference"
// version: integer | default=1 description="Build version number"
// testMode: string | enum=unit,integration,none default=unit description="Test mode to execute"
//
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
Schema *WorkflowSchema `json:"schema,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
// - ${parameters.*} - Developer-provided parameter values
//
// 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 {
// Namespace is the control plane namespace of the target component.
// Only applicable when visibility is internal (cross-namespace connections).
// If empty, defaults to the same namespace as the consumer.
// +optional
Namespace string `json:"namespace,omitempty"`
// 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"`
// Endpoint is the target endpoint name on the target component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Endpoint string `json:"endpoint"`
// Visibility is the visibility level at which this connection consumes the endpoint.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=project;namespace;internal
Visibility EndpointVisibility `json:"visibility"`
// EnvironmentMapping maps consumer environment names (keys) to provider environment
// names (values). Only applicable when visibility is internal. When a consumer is
// deployed in a source environment, the connection resolves against the mapped
// target environment. If no mapping matches, the source environment name is used as-is.
// +optional
EnvironmentMapping EnvironmentMapping `json:"environmentMapping,omitempty"`
// 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. +kubebuilder:validation:XValidation:rule="!has(self.namespace) || size(self.namespace) == 0 || (has(self.project) && size(self.project) > 0)",message="project is required when namespace is set" +kubebuilder:validation:XValidation:rule="self.visibility == 'internal' || !has(self.environmentMapping) || size(self.environmentMapping) == 0",message="environmentMapping requires internal visibility"
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 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;REST;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"`
// Connections define how this workload consumes endpoints from other components.
// +optional
// +kubebuilder:validation:MaxItems=50
Connections []WorkloadConnection `json:"connections,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.
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
¶
- authzclusterrole_types.go
- authzclusterrolebinding_types.go
- authzrole_types.go
- authzrolebinding_types.go
- build_types.go
- buildplane_types.go
- clusterbuildplane_types.go
- clustercomponenttype_types.go
- clusterdataplane_types.go
- clusterobservabilityplane_types.go
- clustertrait_types.go
- component_types.go
- componentrelease_types.go
- componenttype_types.go
- configurationgroup_types.go
- dataplane_types.go
- deploymentpipeline_types.go
- deploymenttrack_types.go
- environment_types.go
- gitcommitrequest_types.go
- groupversion_info.go
- observabilityalertrule_types.go
- observabilityalertsnotificationchannel_types.go
- observabilityplane_types.go
- project_types.go
- release_types.go
- releasebinding_types.go
- secretreference_types.go
- trait_types.go
- types.go
- workflow_types.go
- workflowrun_types.go
- workload_types.go
- zz_generated.deepcopy.go