v1alpha1

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2025 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 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 {
}

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

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

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.orgName}          - Organization name (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"`
}

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
	// +kubebuilder:validation:Required
	From string `json:"from"`

	// To is the list of recipient email addresses
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	To []string `json:"to"`

	// SMTP configuration for sending emails
	// +kubebuilder:validation:Required
	SMTP SMTPConfig `json:"smtp"`

	// Template defines the email template using CEL expressions
	// +optional
	Template *EmailTemplate `json:"template,omitempty"`
}

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

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

GatewaySpec defines the gateway configuration for the data plane

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

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

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

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

type GitAuthentication

type GitAuthentication struct {
	// SecretRef is a reference to the secret containing Git credentials
	SecretRef string `json:"secretRef"`
}

GitAuthentication defines the authentication configuration for Git

func (*GitAuthentication) DeepCopy

func (in *GitAuthentication) DeepCopy() *GitAuthentication

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

func (*GitAuthentication) DeepCopyInto

func (in *GitAuthentication) DeepCopyInto(out *GitAuthentication)

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

type GitCommitAuthor

type GitCommitAuthor struct {
	Name  string `json:"name,omitempty"`  // Author name
	Email string `json:"email,omitempty"` // Author email
}

func (*GitCommitAuthor) DeepCopy

func (in *GitCommitAuthor) DeepCopy() *GitCommitAuthor

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

func (*GitCommitAuthor) DeepCopyInto

func (in *GitCommitAuthor) DeepCopyInto(out *GitCommitAuthor)

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

type GitCommitRequest

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

	Spec   GitCommitRequestSpec   `json:"spec,omitempty"`
	Status GitCommitRequestStatus `json:"status,omitempty"`
}

GitCommitRequest is the Schema for the gitcommitrequests API.

func (*GitCommitRequest) DeepCopy

func (in *GitCommitRequest) DeepCopy() *GitCommitRequest

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

func (*GitCommitRequest) DeepCopyInto

func (in *GitCommitRequest) DeepCopyInto(out *GitCommitRequest)

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

func (*GitCommitRequest) DeepCopyObject

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

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

type GitCommitRequestList

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

GitCommitRequestList contains a list of GitCommitRequest.

func (*GitCommitRequestList) DeepCopy

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
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	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
	// This matches the YAML structure where config directly contains from, to, smtp, template fields
	EmailConfig `json:",inline"`
}

NotificationChannelConfig defines the configuration for notification channels Currently only email configuration is supported. The structure will be extended to support other channel types (e.g., Slack, Webhook, PagerDuty) in the future. When type is "email", this struct directly contains the email configuration fields.

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 only "email" is supported. Other channel types will be added in the future. +kubebuilder:validation:Enum=email

const (
	// NotificationChannelTypeEmail represents an email notification channel
	NotificationChannelTypeEmail NotificationChannelType = "email"
)

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, metrics).
	// +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 metrics-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;metrics

const (
	// ObservabilityAlertSourceTypeLog represents log-based alerting.
	ObservabilityAlertSourceTypeLog ObservabilityAlertSourceType = "log"
	// ObservabilityAlertSourceTypeMetrics represents metrics-based alerting.
	ObservabilityAlertSourceTypeMetrics ObservabilityAlertSourceType = "metrics"
)

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 only email 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 only "email" is supported
	// +kubebuilder:validation:Required
	Type NotificationChannelType `json:"type"`

	// Config contains the channel-specific configuration
	// Currently only email configuration is supported
	// +kubebuilder:validation:Required
	Config NotificationChannelConfig `json:"config"`
}

ObservabilityAlertsNotificationChannelSpec defines the desired state of ObservabilityAlertsNotificationChannel. +kubebuilder:validation:XValidation:rule="self.type == 'email' ? has(self.config.from) && has(self.config.to) && has(self.config.smtp) : true",message="email config fields (from, to, smtp) are required when type is email"

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

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

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 Organization

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

	Spec   OrganizationSpec   `json:"spec,omitempty"`
	Status OrganizationStatus `json:"status,omitempty"`
}

Organization is the Schema for the organizations API.

func (*Organization) DeepCopy

func (in *Organization) DeepCopy() *Organization

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

func (*Organization) DeepCopyInto

func (in *Organization) DeepCopyInto(out *Organization)

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

func (*Organization) DeepCopyObject

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

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

func (*Organization) GetConditions

func (o *Organization) GetConditions() []metav1.Condition

func (*Organization) SetConditions

func (o *Organization) SetConditions(conditions []metav1.Condition)

type OrganizationList

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

OrganizationList contains a list of Organization.

func (*OrganizationList) DeepCopy

func (in *OrganizationList) DeepCopy() *OrganizationList

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

func (*OrganizationList) DeepCopyInto

func (in *OrganizationList) DeepCopyInto(out *OrganizationList)

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

func (*OrganizationList) DeepCopyObject

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

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

type OrganizationSpec

type OrganizationSpec struct {
}

OrganizationSpec defines the desired state of Organization.

func (*OrganizationSpec) DeepCopy

func (in *OrganizationSpec) DeepCopy() *OrganizationSpec

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

func (*OrganizationSpec) DeepCopyInto

func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)

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

type OrganizationStatus

type OrganizationStatus struct {
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions represent the latest available observations of an object's current state.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Namespace indicates the namespace name provisioned for the organization.
	Namespace string `json:"namespace,omitempty"`
}

OrganizationStatus defines the observed state of Organization.

func (*OrganizationStatus) DeepCopy

func (in *OrganizationStatus) DeepCopy() *OrganizationStatus

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

func (*OrganizationStatus) DeepCopyInto

func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)

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

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
	// Can be provided inline or via secret reference
	// +optional
	Username *SecretValueFrom `json:"username,omitempty"`

	// Password for SMTP authentication
	// Can be provided inline or via secret reference
	// +optional
	Password *SecretValueFrom `json:"password,omitempty"`
}

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
	// +kubebuilder:validation:Required
	Host string `json:"host"`

	// Port is the SMTP server port
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`

	// Auth defines SMTP authentication credentials
	// +optional
	Auth *SMTPAuth `json:"auth,omitempty"`

	// TLS configuration
	// +optional
	TLS *SMTPTLSConfig `json:"tls,omitempty"`
}

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)
	// +optional
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

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 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 WorkflowConfig added in v0.4.0

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

	// Schema contains the developer-provided values that conform to the schema
	// defined in the referenced Workflow CR.
	//
	// These values are merged with context variables when rendering the final workflow resource.
	//
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Schema *runtime.RawExtension `json:"schema,omitempty"`
}

WorkflowConfig defines the workflow configuration for execution.

func (*WorkflowConfig) DeepCopy added in v0.4.0

func (in *WorkflowConfig) DeepCopy() *WorkflowConfig

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

func (*WorkflowConfig) DeepCopyInto added in v0.4.0

func (in *WorkflowConfig) DeepCopyInto(out *WorkflowConfig)

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

type WorkflowImage added in v0.4.0

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

WorkflowImage contains information about a container image produced by a workflow

func (*WorkflowImage) DeepCopy added in v0.4.0

func (in *WorkflowImage) DeepCopy() *WorkflowImage

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

func (*WorkflowImage) DeepCopyInto added in v0.4.0

func (in *WorkflowImage) DeepCopyInto(out *WorkflowImage)

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

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 WorkflowOwner added in v0.4.0

type WorkflowOwner struct {
	// +required
	// +kubebuilder:validation:MinLength=1
	ProjectName string `json:"projectName"`

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

WorkflowOwner identifies the Component that owns a WorkflowRun execution.

func (*WorkflowOwner) DeepCopy added in v0.4.0

func (in *WorkflowOwner) DeepCopy() *WorkflowOwner

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

func (*WorkflowOwner) DeepCopyInto added in v0.4.0

func (in *WorkflowOwner) DeepCopyInto(out *WorkflowOwner)

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 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 WorkflowRunReference added in v0.4.0

type WorkflowRunReference struct {
	// Name is the name of the workflow run resource in the target cluster
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace is the namespace of the workflow run resource in the target cluster
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

WorkflowRunReference contains a reference to the workflow run resource applied to the cluster. This allows tracking the actual workflow execution instance that was created in the target cluster.

func (*WorkflowRunReference) DeepCopy added in v0.4.0

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

func (*WorkflowRunReference) DeepCopyInto added in v0.4.0

func (in *WorkflowRunReference) DeepCopyInto(out *WorkflowRunReference)

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

type WorkflowRunSpec added in v0.4.0

type WorkflowRunSpec struct {
	// Owner identifies the Component that owns this WorkflowRun.
	// This is optional for generic workflows not bound to components.
	// +optional
	Owner WorkflowOwner `json:"owner,omitempty"`

	// Workflow configuration referencing the Workflow CR and providing schema values.
	// +required
	Workflow WorkflowConfig `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"`

	// ImageStatus contains information about the built image from the workflow
	// +optional
	ImageStatus WorkflowImage `json:"imageStatus,omitempty"`

	// RunReference contains a reference to the workflow run resource that was applied to the cluster.
	// This tracks the actual workflow execution instance in the target cluster.
	// +optional
	RunReference WorkflowRunReference `json:"runReference,omitempty"`
}

WorkflowRunStatus defines the observed state of WorkflowRun.

func (*WorkflowRunStatus) DeepCopy added in v0.4.0

func (in *WorkflowRunStatus) DeepCopy() *WorkflowRunStatus

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

func (*WorkflowRunStatus) DeepCopyInto added in v0.4.0

func (in *WorkflowRunStatus) DeepCopyInto(out *WorkflowRunStatus)

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

type WorkflowSpec added in v0.4.0

type WorkflowSpec struct {
	// 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 *runtime.RawExtension `json:"schema,omitempty"`

	// Secrets lists the secret references that should be synchronized to the build plane.
	// Can reference fields from the schema using CEL expressions like ${schema.repository.credentialsRef}.
	//
	// +optional
	Secrets []string `json:"secrets,omitempty"`

	// Resource contains the Kubernetes resource (typically an Argo Workflow)
	// with CEL expressions enclosed in ${...} that will be evaluated at runtime.
	//
	// Available CEL variables:
	//   - ${ctx.workflowRunName} - WorkflowRun name (the execution instance)
	//   - ${ctx.componentName} - Component name (if workflow is component-bound)
	//   - ${ctx.projectName} - Project name (if workflow is component-bound)
	//   - ${ctx.orgName} - Organization name
	//   - ${ctx.timestamp} - Unix timestamp
	//   - ${ctx.uuid} - Short UUID (8 chars)
	//   - ${schema.*} - Developer-provided values from schema
	//
	// Note: PE-controlled parameters should be hardcoded directly in the resource.
	//
	// +required
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Resource *runtime.RawExtension `json:"resource"`
}

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