v1alpha1

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=openchoreo.dev

Index

Constants

View Source
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.

View Source
const (
	ConnectionTypeAPI = "api"
)

ConnectionTypeAPI represents an API connection type

Variables

View Source
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
)
View Source
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

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 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

func (in *Build) DeepCopy() *Build

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

func (*Build) DeepCopyInto

func (in *Build) DeepCopyInto(out *Build)

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

func (*Build) DeepCopyObject

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

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

func (*Build) GetConditions

func (b *Build) GetConditions() []metav1.Condition

GetConditions returns the conditions slice

func (*Build) SetConditions

func (b *Build) SetConditions(conditions []metav1.Condition)

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

func (in *BuildList) DeepCopy() *BuildList

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

func (*BuildList) DeepCopyInto

func (in *BuildList) DeepCopyInto(out *BuildList)

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

func (*BuildList) DeepCopyObject

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

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 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 name of the ObservabilityPlane for this BuildPlane.
	// +optional
	ObservabilityPlaneRef string `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 {
	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

func (in *BuildSpec) DeepCopy() *BuildSpec

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

func (*BuildSpec) DeepCopyInto

func (in *BuildSpec) DeepCopyInto(out *BuildSpec)

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

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 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

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

func (in *Component) DeepCopyInto(out *Component)

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

func (*Component) DeepCopyObject

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

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

func (*Component) GetConditions

func (p *Component) GetConditions() []metav1.Condition

func (*Component) SetConditions

func (p *Component) SetConditions(conditions []metav1.Condition)

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

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

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
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentProfile is immutable"
	ComponentProfile ComponentProfile `json:"componentProfile"`

	// 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

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

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"`

	// Type specifies the component type (e.g., Service, WebApplication, etc.)
	// LEGACY FIELD: Use componentType instead for new components with ComponentTypes
	// +optional
	Type DefinedComponentType `json:"type,omitempty"`

	// ComponentType specifies the component type in the format: {workloadType}/{componentTypeName}
	// Example: "deployment/web-app", "cronjob/scheduled-task"
	// This field is used with ComponentTypes (new model)
	// +optional
	// +kubebuilder:validation:Pattern=`^(deployment|statefulset|cronjob|job|proxy)/[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentType cannot be changed after creation"
	ComponentType string `json:"componentType,omitempty"`

	// 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 component workflow configuration for building the component.
	// This references a ComponentWorkflow CR and provides both system parameters (repository info)
	// and developer-configured parameter values.
	// The ComponentWorkflow must be in the allowedWorkflows list of the ComponentType.
	// +optional
	Workflow *ComponentWorkflowRunConfig `json:"workflow,omitempty"`
}

ComponentSpec defines the desired state of Component. +kubebuilder:validation:XValidation:rule="has(self.type) || has(self.componentType)",message="Component must have either spec.type or spec.componentType set"

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 {
	// 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 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 | required=true | 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 ComponentWorkflow CRs developers can use
	// for building components of this type. If empty, no ComponentWorkflows are allowed.
	// References must point to ComponentWorkflow resources, not generic Workflow resources.
	// +optional
	AllowedWorkflows []string `json:"allowedWorkflows,omitempty"`

	// Schema defines what developers can configure when creating components of this type
	// +optional
	Schema ComponentTypeSchema `json:"schema,omitempty"`

	// Resources are templates that generate Kubernetes resources dynamically
	// At least one resource must be defined with an id matching the workloadType
	// +kubebuilder:validation:MinItems=1
	Resources []ResourceTemplate `json:"resources"`
}

ComponentTypeSpec defines the desired state of ComponentType. +kubebuilder:validation:XValidation:rule="self.resources.exists(r, r.id == self.workloadType)",message="resources must contain a primary resource with id matching workloadType"

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 ComponentWorkflow added in v0.6.0

type ComponentWorkflow struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of ComponentWorkflow
	// +required
	Spec ComponentWorkflowSpec `json:"spec"`

	// status defines the observed state of ComponentWorkflow
	// +optional
	Status ComponentWorkflowStatus `json:"status,omitempty,omitzero"`
}

ComponentWorkflow is the Schema for the componentworkflows API

func (*ComponentWorkflow) DeepCopy added in v0.6.0

func (in *ComponentWorkflow) DeepCopy() *ComponentWorkflow

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

func (*ComponentWorkflow) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflow) DeepCopyInto(out *ComponentWorkflow)

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

func (*ComponentWorkflow) DeepCopyObject added in v0.6.0

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

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

func (*ComponentWorkflow) GetConditions added in v0.6.0

func (c *ComponentWorkflow) GetConditions() []metav1.Condition

GetConditions returns the conditions from the ComponentWorkflow status.

func (*ComponentWorkflow) SetConditions added in v0.6.0

func (c *ComponentWorkflow) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions in the ComponentWorkflow status.

type ComponentWorkflowImage added in v0.6.0

type ComponentWorkflowImage struct {
	// Image is the fully qualified image name (e.g., registry.example.com/myapp:v1.0.0)
	// +optional
	Image string `json:"image,omitempty"`
}

ComponentWorkflowImage contains information about a container image produced by a component workflow execution.

func (*ComponentWorkflowImage) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowImage) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowImage) DeepCopyInto(out *ComponentWorkflowImage)

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

type ComponentWorkflowList added in v0.6.0

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

ComponentWorkflowList contains a list of ComponentWorkflow

func (*ComponentWorkflowList) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowList) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowList) DeepCopyInto(out *ComponentWorkflowList)

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

func (*ComponentWorkflowList) DeepCopyObject added in v0.6.0

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

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

type ComponentWorkflowOwner added in v0.6.0

type ComponentWorkflowOwner struct {
	// ProjectName is the name of the owning Project
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ProjectName string `json:"projectName"`

	// ComponentName is the name of the owning Component
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ComponentName string `json:"componentName"`
}

ComponentWorkflowOwner identifies the Component that owns a ComponentWorkflowRun execution.

func (*ComponentWorkflowOwner) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowOwner) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowOwner) DeepCopyInto(out *ComponentWorkflowOwner)

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

type ComponentWorkflowResource added in v0.9.0

type ComponentWorkflowResource struct {
	// ID uniquely identifies this resource within the component workflow.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ID string `json:"id"`

	// 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"`
}

ComponentWorkflowResource defines a template for generating Kubernetes resources to be deployed alongside the workflow run.

func (*ComponentWorkflowResource) DeepCopy added in v0.9.0

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

func (*ComponentWorkflowResource) DeepCopyInto added in v0.9.0

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

type ComponentWorkflowRun added in v0.6.0

type ComponentWorkflowRun struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of ComponentWorkflowRun
	// +required
	Spec ComponentWorkflowRunSpec `json:"spec"`

	// status defines the observed state of ComponentWorkflowRun
	// +optional
	Status ComponentWorkflowRunStatus `json:"status,omitempty,omitzero"`
}

ComponentWorkflowRun is the Schema for the componentworkflowruns API

func (*ComponentWorkflowRun) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRun) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowRun) DeepCopyInto(out *ComponentWorkflowRun)

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

func (*ComponentWorkflowRun) DeepCopyObject added in v0.6.0

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

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

func (*ComponentWorkflowRun) GetConditions added in v0.6.0

func (c *ComponentWorkflowRun) GetConditions() []metav1.Condition

GetConditions returns the conditions from the ComponentWorkflowRun status.

func (*ComponentWorkflowRun) SetConditions added in v0.6.0

func (c *ComponentWorkflowRun) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions in the ComponentWorkflowRun status.

type ComponentWorkflowRunConfig added in v0.6.0

type ComponentWorkflowRunConfig struct {
	// Name references the ComponentWorkflow CR to use for this execution.
	// The ComponentWorkflow CR contains the schema definition and resource template.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// SystemParameters contains the actual repository information values.
	// This must conform to the required system parameters structure:
	//   - repository.url
	//   - repository.revision.branch
	//   - repository.revision.commit
	//   - repository.appPath
	// +kubebuilder:validation:Required
	SystemParameters SystemParametersValues `json:"systemParameters"`

	// Parameters contains the developer-provided values for the flexible parameter schema
	// defined in the referenced ComponentWorkflow CR.
	//
	// These values are validated against the ComponentWorkflow's parameter schema.
	//
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

ComponentWorkflowRunConfig defines the workflow configuration for execution.

func (*ComponentWorkflowRunConfig) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunConfig) DeepCopyInto added in v0.6.0

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

type ComponentWorkflowRunList added in v0.6.0

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

ComponentWorkflowRunList contains a list of ComponentWorkflowRun

func (*ComponentWorkflowRunList) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunList) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowRunList) DeepCopyInto(out *ComponentWorkflowRunList)

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

func (*ComponentWorkflowRunList) DeepCopyObject added in v0.6.0

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

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

type ComponentWorkflowRunSpec added in v0.6.0

type ComponentWorkflowRunSpec struct {
	// Owner identifies the Component that owns this ComponentWorkflowRun.
	// This is required for component workflow executions.
	// +kubebuilder:validation:Required
	Owner ComponentWorkflowOwner `json:"owner"`

	// Workflow configuration referencing the ComponentWorkflow CR and providing parameter values.
	// +kubebuilder:validation:Required
	Workflow ComponentWorkflowRunConfig `json:"workflow"`
}

ComponentWorkflowRunSpec defines the desired state of ComponentWorkflowRun. ComponentWorkflowRun represents a runtime execution instance of a ComponentWorkflow.

func (*ComponentWorkflowRunSpec) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunSpec) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowRunSpec) DeepCopyInto(out *ComponentWorkflowRunSpec)

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

type ComponentWorkflowRunStatus added in v0.6.0

type ComponentWorkflowRunStatus struct {
	// Conditions represent the current state of the ComponentWorkflowRun resource.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ImageStatus contains information about the built container image from the workflow execution.
	// This is populated when the workflow produces a container image.
	// +optional
	ImageStatus ComponentWorkflowImage `json:"imageStatus,omitempty"`

	// RunReference contains a reference to the workflow run resource that was applied to the build plane 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 build plane cluster.
	// These are tracked for cleanup when the ComponentWorkflowRun 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"`
}

ComponentWorkflowRunStatus defines the observed state of ComponentWorkflowRun.

func (*ComponentWorkflowRunStatus) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunStatus) DeepCopyInto added in v0.6.0

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

type ComponentWorkflowSchema added in v0.6.0

type ComponentWorkflowSchema 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"`

	// SystemParameters defines the required structured schema for repository information.
	// This schema must follow a specific structure to enable build-specific platform features.
	// Platform Engineers can customize defaults, enums, and descriptions within each field,
	// but must maintain the field names, nesting structure, and types (all must be string).
	// +kubebuilder:validation:Required
	SystemParameters SystemParametersSchema `json:"systemParameters"`

	// 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"`
}

ComponentWorkflowSchema defines the parameter schemas for component workflows. It separates system parameters (required structure for build features) from developer parameters (flexible PE-defined configuration).

func (*ComponentWorkflowSchema) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowSchema) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowSchema) DeepCopyInto(out *ComponentWorkflowSchema)

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

func (*ComponentWorkflowSchema) GetTypes added in v0.9.0

GetTypes returns the types raw extension.

type ComponentWorkflowSpec added in v0.6.0

type ComponentWorkflowSpec struct {
	// Schema defines the parameter schemas for this component workflow.
	// It includes both required system parameters (for repository information)
	// and flexible developer parameters (PE-defined).
	// +kubebuilder:validation:Required
	Schema ComponentWorkflowSchema `json:"schema"`

	// RunTemplate is the Kubernetes resource template to be rendered and applied to the build plane.
	// Template variables are substituted with context and parameter values.
	// Supported template variables:
	//   ${metadata.workflowRunName}  - ComponentWorkflowRun CR name
	//   ${metadata.componentName}    - Component name
	//   ${metadata.projectName}      - Project name
	//   ${metadata.namespaceName}    - Namespace
	//   ${systemParameters.*}        - System parameter values
	//   ${parameters.*}              - Developer parameter values
	// +kubebuilder:validation: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.
	// +optional
	Resources []ComponentWorkflowResource `json:"resources,omitempty"`
}

ComponentWorkflowSpec defines the desired state of ComponentWorkflow. ComponentWorkflow is a specialized workflow template for component builds that requires structured system parameters for build-specific platform features (webhooks, auto-build, UI actions).

func (*ComponentWorkflowSpec) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowSpec) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowSpec) DeepCopyInto(out *ComponentWorkflowSpec)

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

type ComponentWorkflowStatus added in v0.6.0

type ComponentWorkflowStatus struct {

	// conditions represent the current state of the ComponentWorkflow 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"`
}

ComponentWorkflowStatus defines the observed state of ComponentWorkflow.

func (*ComponentWorkflowStatus) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowStatus) DeepCopyInto added in v0.6.0

func (in *ComponentWorkflowStatus) DeepCopyInto(out *ComponentWorkflowStatus)

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

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

func (*ConfigurationGroupConfiguration) DeepCopyInto

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

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

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

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

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 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

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

func (in *DataPlane) DeepCopy() *DataPlane

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

func (*DataPlane) DeepCopyInto

func (in *DataPlane) DeepCopyInto(out *DataPlane)

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

func (*DataPlane) DeepCopyObject

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

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

func (*DataPlane) GetConditions

func (d *DataPlane) GetConditions() []metav1.Condition

func (*DataPlane) SetConditions

func (d *DataPlane) SetConditions(conditions []metav1.Condition)

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 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.
	Gateway GatewaySpec `json:"gateway"`

	// 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 name of the ObservabilityPlane for this DataPlane.
	// +optional
	ObservabilityPlaneRef string `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 DefinedComponentType added in v0.4.0

type DefinedComponentType string

DefinedComponentType defines how the component is deployed.

const (
	ComponentTypeService        DefinedComponentType = "Service"
	ComponentTypeManualTask     DefinedComponentType = "ManualTask"
	ComponentTypeScheduledTask  DefinedComponentType = "ScheduledTask"
	ComponentTypeWebApplication DefinedComponentType = "WebApplication"
	ComponentTypeWebhook        DefinedComponentType = "Webhook"
	ComponentTypeAPIProxy       DefinedComponentType = "APIProxy"
	ComponentTypeTestRunner     DefinedComponentType = "TestRunner"
	ComponentTypeEventHandler   DefinedComponentType = "EventHandler"
)

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

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

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

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

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 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 EndpointExposeLevel

type EndpointExposeLevel string

EndpointExposeLevel defines the visibility scope for endpoint access

const (
	// EndpointExposeLevelProject restricts endpoint access to components within the same project
	EndpointExposeLevelProject EndpointExposeLevel = "Project"

	// EndpointExposeLevelOrganization allows endpoint access across all projects within the same organization
	EndpointExposeLevelOrganization EndpointExposeLevel = "Organization"

	// EndpointExposeLevelPublic exposes the endpoint publicly, accessible from outside the organization
	EndpointExposeLevelPublic EndpointExposeLevel = "Public"
)

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 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.

func (*EnvVar) DeepCopy

func (in *EnvVar) DeepCopy() *EnvVar

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

func (*EnvVar) DeepCopyInto

func (in *EnvVar) DeepCopyInto(out *EnvVar)

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 EnvironmentSpec

type EnvironmentSpec struct {
	// DataPlaneRef references the DataPlane for this environment. Immutable once set.
	DataPlaneRef string        `json:"dataPlaneRef,omitempty"`
	IsProduction bool          `json:"isProduction,omitempty"`
	Gateway      GatewayConfig `json:"gateway,omitempty"`
}

EnvironmentSpec defines the desired state of Environment. +kubebuilder:validation:XValidation:rule="!has(oldSelf.dataPlaneRef) || size(oldSelf.dataPlaneRef) == 0 || 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 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

func (in *FileEdit) DeepCopy() *FileEdit

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

func (*FileEdit) DeepCopyInto

func (in *FileEdit) DeepCopyInto(out *FileEdit)

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

func (in *FileVar) DeepCopy() *FileVar

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

func (*FileVar) DeepCopyInto added in v0.4.0

func (in *FileVar) DeepCopyInto(out *FileVar)

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

type GatewayConfig

type GatewayConfig struct {
	Security  SecurityConfig `json:"security,omitempty"`
	DNSPrefix string         `json:"dnsPrefix,omitempty"`
}

func (*GatewayConfig) DeepCopy

func (in *GatewayConfig) DeepCopy() *GatewayConfig

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

func (*GatewayConfig) DeepCopyInto

func (in *GatewayConfig) DeepCopyInto(out *GatewayConfig)

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

type GatewaySpec

type GatewaySpec struct {
	// Public virtual host for the gateway
	PublicVirtualHost string `json:"publicVirtualHost"`
	// Organization-specific virtual host for the gateway
	OrganizationVirtualHost string `json:"organizationVirtualHost"`
	// Public HTTP port for the gateway
	// +optional
	// +kubebuilder:default=19080
	PublicHTTPPort int32 `json:"publicHTTPPort,omitempty"`
	// Public HTTPS port for the gateway
	// +optional
	// +kubebuilder:default=19443
	PublicHTTPSPort int32 `json:"publicHTTPSPort,omitempty"`
	// Organization HTTP port for the gateway
	// +optional
	// +kubebuilder:default=19081
	OrganizationHTTPPort int32 `json:"organizationHTTPPort,omitempty"`
	// Organization HTTPS port for the gateway
	// +optional
	// +kubebuilder:default=19444
	OrganizationHTTPSPort int32 `json:"organizationHTTPSPort,omitempty"`
}

GatewaySpec defines the gateway configuration for the data plane. TODO: chathurangas: organization vhost = inter-project vhost. This is not being used. Refactor later

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

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

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

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

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

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

func (*NotificationChannelConfig) DeepCopyInto added in v0.9.0

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

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

func (*ObservabilityAlertCondition) DeepCopyInto added in v0.9.0

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

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

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

func (*ObservabilityAlertRuleList) DeepCopyInto added in v0.9.0

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

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

func (*ObservabilityAlertRuleSpec) DeepCopyInto added in v0.9.0

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

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

func (*ObservabilityAlertRuleStatus) DeepCopyInto added in v0.9.0

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

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

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

func (*ObservabilityAlertsNotificationChannel) DeepCopyInto added in v0.9.0

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

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

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

func (*ObservabilityAlertsNotificationChannelList) DeepCopyInto added in v0.9.0

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

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

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

func (*ObservabilityAlertsNotificationChannelSpec) DeepCopyInto added in v0.9.0

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

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

func (*ObservabilityAlertsNotificationChannelStatus) DeepCopyInto added in v0.9.0

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

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 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

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

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

func (in *Parameter) DeepCopy() *Parameter

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

func (*Parameter) DeepCopyInto

func (in *Parameter) DeepCopyInto(out *Parameter)

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 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

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

func (*Project) GetConditions

func (p *Project) GetConditions() []metav1.Condition

func (*Project) SetConditions

func (p *Project) SetConditions(conditions []metav1.Condition)

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 {

	// Foo is an example field of Project. Edit project_types.go to remove/update
	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 {
	// 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"`
}

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

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

func (in *Release) DeepCopy() *Release

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

func (*Release) DeepCopyInto

func (in *Release) DeepCopyInto(out *Release)

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

func (*Release) DeepCopyObject

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

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

func (*Release) GetConditions

func (in *Release) GetConditions() []metav1.Condition

GetConditions returns the conditions from the status

func (*Release) SetConditions

func (in *Release) SetConditions(conditions []metav1.Condition)

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 {
	// Conditions represent the latest available observations of the ReleaseBinding's current state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ReleaseBindingStatus defines the observed state of ReleaseBinding.

func (*ReleaseBindingStatus) DeepCopy added in v0.5.0

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 {
	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 RemoteJWKS

type RemoteJWKS struct {
	URI string `json:"uri"`
}

func (*RemoteJWKS) DeepCopy

func (in *RemoteJWKS) DeepCopy() *RemoteJWKS

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

func (*RemoteJWKS) DeepCopyInto

func (in *RemoteJWKS) DeepCopyInto(out *RemoteJWKS)

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 RepositoryRevisionSchema added in v0.6.0

type RepositoryRevisionSchema struct {
	// Branch is the schema definition for the Git branch field.
	// Must be a string type schema definition.
	// Format: 'string | default=value description=...'
	// Example: 'string | default=main description="Git branch to build from"'
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^string(\s*\|.*)?$`
	Branch string `json:"branch"`

	// Commit is the schema definition for the Git commit SHA field.
	// Must be a string type schema definition.
	// Format: 'string | default=value description=...'
	// Example: 'string | description="Specific commit SHA to build (optional)"'
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^string(\s*\|.*)?$`
	Commit string `json:"commit"`
}

RepositoryRevisionSchema defines the schema for repository revision parameters.

func (*RepositoryRevisionSchema) DeepCopy added in v0.6.0

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

func (*RepositoryRevisionSchema) DeepCopyInto added in v0.6.0

func (in *RepositoryRevisionSchema) DeepCopyInto(out *RepositoryRevisionSchema)

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

type RepositoryRevisionValues added in v0.6.0

type RepositoryRevisionValues struct {
	// Branch is the Git branch to build from.
	// Example: "main"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Branch string `json:"branch"`

	// Commit is the specific commit SHA to build.
	// Can be empty to use the latest commit.
	// Example: "a1b2c3d4e5f6" or ""
	// +optional
	// +kubebuilder:validation:Pattern=`^[0-9a-fA-F]{7,40}$`
	Commit string `json:"commit,omitempty"`
}

RepositoryRevisionValues contains the actual repository revision values.

func (*RepositoryRevisionValues) DeepCopy added in v0.6.0

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

func (*RepositoryRevisionValues) DeepCopyInto added in v0.6.0

func (in *RepositoryRevisionValues) DeepCopyInto(out *RepositoryRevisionValues)

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

type RepositorySchema added in v0.6.0

type RepositorySchema struct {
	// URL is the schema definition for the Git repository URL field.
	// Must be a string type schema definition.
	// Format: 'string | default=value description=... enum=val1,val2'
	// Example: 'string | description="Git repository URL for the component source code"'
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=6
	// +kubebuilder:validation:Pattern=`^string(\s*\|.*)?$`
	URL string `json:"url"`

	// Revision contains the schema for revision-related parameters (branch, commit).
	// All fields have defaults, so this struct will be auto-populated if not provided.
	// +kubebuilder:validation:Required
	Revision RepositoryRevisionSchema `json:"revision"`

	// AppPath is the schema definition for the application path within the repository.
	// Must be a string type schema definition.
	// Format: 'string | default=value description=...'
	// Example: 'string | default=. description="Path to the application code within the repository"'
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^string(\s*\|.*)?$`
	AppPath string `json:"appPath"`
}

RepositorySchema defines the schema for repository parameters.

func (*RepositorySchema) DeepCopy added in v0.6.0

func (in *RepositorySchema) DeepCopy() *RepositorySchema

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

func (*RepositorySchema) DeepCopyInto added in v0.6.0

func (in *RepositorySchema) DeepCopyInto(out *RepositorySchema)

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

type RepositoryValues added in v0.6.0

type RepositoryValues struct {
	// URL is the Git repository URL for the component source code.
	// Example: "https://github.com/openchoreo/sample-workloads"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^https?://`
	URL string `json:"url"`

	// Revision contains the revision-related parameter values (branch, commit).
	// +kubebuilder:validation:Required
	Revision RepositoryRevisionValues `json:"revision"`

	// AppPath is the path to the application code within the repository.
	// Example: "/service-go-reading-list" or "."
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	AppPath string `json:"appPath"`
}

RepositoryValues contains the actual repository parameter values.

func (*RepositoryValues) DeepCopy added in v0.6.0

func (in *RepositoryValues) DeepCopy() *RepositoryValues

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

func (*RepositoryValues) DeepCopyInto added in v0.6.0

func (in *RepositoryValues) DeepCopyInto(out *RepositoryValues)

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

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto

func (in *Resource) DeepCopyInto(out *Resource)

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

func (in *Revision) DeepCopy() *Revision

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

func (*Revision) DeepCopyInto

func (in *Revision) DeepCopyInto(out *Revision)

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

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

func (in *SMTPAuth) DeepCopy() *SMTPAuth

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

func (*SMTPAuth) DeepCopyInto added in v0.9.0

func (in *SMTPAuth) DeepCopyInto(out *SMTPAuth)

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

func (in *Schema) DeepCopy() *Schema

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

func (*Schema) DeepCopyInto

func (in *Schema) DeepCopyInto(out *Schema)

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

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

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 SecurityConfig

type SecurityConfig struct {
	// +optional
	RemoteJWKS `json:"remoteJwks"`
}

func (*SecurityConfig) DeepCopy

func (in *SecurityConfig) DeepCopy() *SecurityConfig

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

func (*SecurityConfig) DeepCopyInto

func (in *SecurityConfig) DeepCopyInto(out *SecurityConfig)

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

type SystemParametersSchema added in v0.6.0

type SystemParametersSchema struct {
	// Repository contains the schema for repository-related parameters.
	// +kubebuilder:validation:Required
	Repository RepositorySchema `json:"repository"`
}

SystemParametersSchema defines the required schema structure for system parameters. This structure is enforced to enable build-specific platform features like webhooks, auto-build, and UI actions.

func (*SystemParametersSchema) DeepCopy added in v0.6.0

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

func (*SystemParametersSchema) DeepCopyInto added in v0.6.0

func (in *SystemParametersSchema) DeepCopyInto(out *SystemParametersSchema)

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

type SystemParametersValues added in v0.6.0

type SystemParametersValues struct {
	// Repository contains the actual repository information values.
	// +kubebuilder:validation:Required
	Repository RepositoryValues `json:"repository"`
}

SystemParametersValues contains the actual values for system parameters. This structure matches the required schema for build-specific features.

func (*SystemParametersValues) DeepCopy added in v0.6.0

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

func (*SystemParametersValues) DeepCopyInto added in v0.6.0

func (in *SystemParametersValues) DeepCopyInto(out *SystemParametersValues)

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

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 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

func (in *Trait) DeepCopy() *Trait

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

func (*Trait) DeepCopyInto added in v0.4.0

func (in *Trait) DeepCopyInto(out *Trait)

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

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

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

func (in *TraitList) DeepCopy() *TraitList

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

func (*TraitList) DeepCopyInto added in v0.4.0

func (in *TraitList) DeepCopyInto(out *TraitList)

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

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

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 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 | required=true | 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 | required=true"
  mountPath: "string | required=true"
  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"`

	// 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

func (in *TraitSpec) DeepCopy() *TraitSpec

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

func (*TraitSpec) DeepCopyInto added in v0.4.0

func (in *TraitSpec) DeepCopyInto(out *TraitSpec)

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 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

func (in *ValueFrom) DeepCopy() *ValueFrom

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

func (*ValueFrom) DeepCopyInto added in v0.4.0

func (in *ValueFrom) DeepCopyInto(out *ValueFrom)

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

func (in *Workflow) DeepCopy() *Workflow

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

func (*Workflow) DeepCopyInto added in v0.4.0

func (in *Workflow) DeepCopyInto(out *Workflow)

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

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

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 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"`

	// 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 ComponentWorkflow CR.
	//
	// These values are validated against the ComponentWorkflow'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"`
}

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"`
}

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 {
	// 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"`
}

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 templateName.
	// +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"`

	// FinishedAt is the timestamp when the task finished execution.
	// +optional
	FinishedAt *metav1.Time `json:"finishedAt,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

func (in *Workload) DeepCopy() *Workload

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

func (*Workload) DeepCopyInto

func (in *Workload) DeepCopyInto(out *Workload)

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

func (*Workload) DeepCopyObject

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

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

type WorkloadConnection

type WorkloadConnection struct {
	// Type of connection - only "api" for now
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=api
	Type string `json:"type"`

	// Parameters for connection configuration (dynamic key-value pairs)
	// +optional
	Params map[string]string `json:"params,omitempty"`

	// Inject defines how connection details are injected into the workload
	// +kubebuilder:validation:Required
	Inject WorkloadConnectionInject `json:"inject"`
}

WorkloadConnection represents an internal API connection

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 WorkloadConnectionEnvVar

type WorkloadConnectionEnvVar struct {
	// Environment variable name
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Template value using connection properties (e.g., "{{ .url }}")
	// +kubebuilder:validation:Required
	Value string `json:"value"`
}

WorkloadConnectionEnvVar defines an environment variable injection

func (*WorkloadConnectionEnvVar) DeepCopy

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

func (*WorkloadConnectionEnvVar) DeepCopyInto

func (in *WorkloadConnectionEnvVar) DeepCopyInto(out *WorkloadConnectionEnvVar)

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

type WorkloadConnectionInject

type WorkloadConnectionInject struct {
	// Environment variables to inject
	// +kubebuilder:validation:Required
	Env []WorkloadConnectionEnvVar `json:"env"`
}

WorkloadConnectionInject defines how connection details are injected

func (*WorkloadConnectionInject) DeepCopy

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

func (*WorkloadConnectionInject) DeepCopyInto

func (in *WorkloadConnectionInject) DeepCopyInto(out *WorkloadConnectionInject)

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

type WorkloadEndpoint

type WorkloadEndpoint struct {
	// Type indicates the protocol/technology of the endpoint (HTTP, REST, gRPC, GraphQL, Websocket, TCP, UDP).
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=HTTP;REST;gRPC;GraphQL;Websocket;TCP;UDP
	Type EndpointType `json:"type"`

	// Port number for the endpoint.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`

	// Optional schema for the endpoint.
	// This can be used to define the actual API definition of the endpoint that is exposed by the workload.
	// +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 {
	// Containers define the container specifications for this workload.
	// The key is the container name, and the value is the container specification.
	// +optional
	Containers map[string]ContainerOverride `json:"containers,omitempty"`
}

WorkloadOverrideTemplateSpec defines the desired state of Workload.

func (*WorkloadOverrideTemplateSpec) DeepCopy added in v0.5.0

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

func (*WorkloadOverrideTemplateSpec) DeepCopyInto added in v0.5.0

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 {
	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 {

	// Containers define the container specifications for this workload.
	// The key is the container name, and the value is the container specification.
	// +optional
	Containers map[string]Container `json:"containers,omitempty"`

	// 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 internal and external resources.
	// The key is the connection name, and the value is the connection specification.
	// +optional
	Connections map[string]WorkloadConnection `json:"connections,omitempty"`
}

WorkloadTemplateSpec defines the desired state of Workload.

func (*WorkloadTemplateSpec) DeepCopy

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"
)

Jump to

Keyboard shortcuts

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