v1alpha1

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 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 AgentConfig added in v0.6.0

type AgentConfig struct {
	// Enabled indicates whether agent-based communication is enabled
	// If false, direct Kubernetes API access is used via KubernetesCluster config
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// ClientCA contains the CA certificate used to verify the agent's client certificate
	// This allows per-plane CA configuration for enhanced security
	// The CA certificate should be base64-encoded PEM format
	// +optional
	ClientCA *ValueFrom `json:"clientCA,omitempty"`
}

AgentConfig defines the configuration for agent-based communication This configuration is specified in DataPlane or BuildPlane CRs on the control plane

func (*AgentConfig) DeepCopy added in v0.6.0

func (in *AgentConfig) DeepCopy() *AgentConfig

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

func (*AgentConfig) DeepCopyInto added in v0.6.0

func (in *AgentConfig) DeepCopyInto(out *AgentConfig)

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

type Build

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

	Spec   BuildSpec   `json:"spec,omitempty"`
	Status BuildStatus `json:"status,omitempty"`
}

Build is the Schema for the builds API.

func (*Build) DeepCopy

func (in *Build) DeepCopy() *Build

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

func (*Build) DeepCopyInto

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

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

func (*Build) DeepCopyObject

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

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

func (*Build) GetConditions

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

GetConditions returns the conditions slice

func (*Build) SetConditions

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

SetConditions sets the conditions slice

type BuildConfiguration

type BuildConfiguration struct {
	// Docker specifies the Docker-specific build configuration
	Docker *DockerConfiguration `json:"docker,omitempty"`
	// Buildpack specifies the buildpack to use
	Buildpack *BuildpackConfiguration `json:"buildpack,omitempty"`
}

BuildConfiguration specifies the build configuration details

func (*BuildConfiguration) DeepCopy

func (in *BuildConfiguration) DeepCopy() *BuildConfiguration

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

func (*BuildConfiguration) DeepCopyInto

func (in *BuildConfiguration) DeepCopyInto(out *BuildConfiguration)

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

type BuildList

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

BuildList contains a list of Build.

func (*BuildList) DeepCopy

func (in *BuildList) DeepCopy() *BuildList

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

func (*BuildList) DeepCopyInto

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

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

func (*BuildList) DeepCopyObject

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

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

type BuildOwner

type BuildOwner struct {
	// +kubebuilder:validation:MinLength=1
	ProjectName string `json:"projectName"`
	// +kubebuilder:validation:MinLength=1
	ComponentName string `json:"componentName"`
}

func (*BuildOwner) DeepCopy

func (in *BuildOwner) DeepCopy() *BuildOwner

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

func (*BuildOwner) DeepCopyInto

func (in *BuildOwner) DeepCopyInto(out *BuildOwner)

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

type BuildPlane

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

	Spec   BuildPlaneSpec   `json:"spec,omitempty"`
	Status BuildPlaneStatus `json:"status,omitempty"`
}

BuildPlane is the Schema for the buildplanes API.

func (*BuildPlane) DeepCopy

func (in *BuildPlane) DeepCopy() *BuildPlane

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

func (*BuildPlane) DeepCopyInto

func (in *BuildPlane) DeepCopyInto(out *BuildPlane)

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

func (*BuildPlane) DeepCopyObject

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

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

type BuildPlaneList

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

BuildPlaneList contains a list of BuildPlane.

func (*BuildPlaneList) DeepCopy

func (in *BuildPlaneList) DeepCopy() *BuildPlaneList

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

func (*BuildPlaneList) DeepCopyInto

func (in *BuildPlaneList) DeepCopyInto(out *BuildPlaneList)

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

func (*BuildPlaneList) DeepCopyObject

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

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

type BuildPlaneSpec

type BuildPlaneSpec struct {

	// Agent specifies the configuration for agent-based communication with the downstream cluster
	// When enabled, the control plane communicates with the downstream cluster through a WebSocket agent
	// instead of direct Kubernetes API access
	// +optional
	Agent *AgentConfig `json:"agent,omitempty"`

	// KubernetesCluster defines the Kubernetes cluster where build workloads (e.g., Argo Workflows) will be executed.
	// This field is optional when Agent.Enabled is true
	// +optional
	KubernetesCluster *KubernetesClusterSpec `json:"kubernetesCluster,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 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.
	// These are also exposed to developers but can be changed per environment.
	// 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.

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

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

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

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

func (*ComponentWorkflowRunReference) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunReference) DeepCopyInto added in v0.6.0

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

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 ComponentWorkflowRunReference `json:"runReference,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 {
	// 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.

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:
	//   ${ctx.componentWorkflowRunName} - ComponentWorkflowRun CR name
	//   ${ctx.componentName}             - Component name
	//   ${ctx.projectName}               - Project name
	//   ${ctx.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"`
}

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 {

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

	// Agent specifies the configuration for agent-based communication with the downstream cluster
	// When enabled, the control plane communicates with the downstream cluster through a WebSocket agent
	// instead of direct Kubernetes API access
	// +optional
	Agent *AgentConfig `json:"agent,omitempty"`

	// KubernetesCluster defines the target Kubernetes cluster where workloads should be deployed.
	// This field is optional when Agent.Enabled is true
	// +optional
	KubernetesCluster *KubernetesClusterSpec `json:"kubernetesCluster,omitempty"`
	// Gateway specifies the configuration for the API gateway in this DataPlane.
	Gateway GatewaySpec `json:"gateway"`

	// 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 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)
	// OpenChoreo extension: mergeShallow (overlays top-level map keys)
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=add;replace;remove;mergeShallow
	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/mergeShallow 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) plus mergeShallow 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 KubernetesAuth added in v0.4.0

type KubernetesAuth struct {
	// MTLS contains the certificate-based authentication configuration
	// +optional
	MTLS *MTLSAuth `json:"mtls,omitempty"`
	// BearerToken contains the bearer token authentication configuration
	// +optional
	BearerToken *ValueFrom `json:"bearerToken,omitempty"`
}

KubernetesAuth defines the authentication configuration for the Kubernetes cluster

func (*KubernetesAuth) DeepCopy added in v0.4.0

func (in *KubernetesAuth) DeepCopy() *KubernetesAuth

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

func (*KubernetesAuth) DeepCopyInto added in v0.4.0

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

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

type KubernetesClusterSpec

type KubernetesClusterSpec struct {
	// Server is the URL of the Kubernetes API server
	Server string `json:"server"`
	// TLS contains the TLS configuration for the connection
	TLS KubernetesTLS `json:"tls"`
	// Auth contains the authentication configuration
	Auth KubernetesAuth `json:"auth"`
}

KubernetesClusterSpec defines the configuration for the target Kubernetes cluster

func (*KubernetesClusterSpec) DeepCopy

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

func (*KubernetesClusterSpec) DeepCopyInto

func (in *KubernetesClusterSpec) DeepCopyInto(out *KubernetesClusterSpec)

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

type KubernetesTLS added in v0.4.0

type KubernetesTLS struct {
	// CA contains the CA certificate configuration
	CA ValueFrom `json:"ca"`
}

KubernetesTLS defines the TLS configuration for the Kubernetes connection

func (*KubernetesTLS) DeepCopy added in v0.4.0

func (in *KubernetesTLS) DeepCopy() *KubernetesTLS

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

func (*KubernetesTLS) DeepCopyInto added in v0.4.0

func (in *KubernetesTLS) DeepCopyInto(out *KubernetesTLS)

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

type MTLSAuth struct {
	// ClientCert contains the client certificate configuration
	ClientCert ValueFrom `json:"clientCert"`
	// ClientKey contains the client private key configuration
	ClientKey ValueFrom `json:"clientKey"`
}

MTLSAuth defines certificate-based authentication (mTLS)

func (*MTLSAuth) DeepCopy added in v0.4.0

func (in *MTLSAuth) DeepCopy() *MTLSAuth

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

func (*MTLSAuth) DeepCopyInto added in v0.4.0

func (in *MTLSAuth) DeepCopyInto(out *MTLSAuth)

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 {

	// Agent specifies the configuration for agent-based communication with the downstream cluster
	// When enabled, the control plane communicates with the downstream cluster through a WebSocket agent
	// instead of direct Kubernetes API access
	// +optional
	Agent *AgentConfig `json:"agent,omitempty"`

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

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 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
	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=`^\$\{.+\}$`
	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 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 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"`

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

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=`^\$\{.+\}$`
	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.

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