v1alpha1

package
v0.15.0 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	// TargetPlaneDataPlane indicates resources should be deployed to the data plane.
	TargetPlaneDataPlane = "dataplane"

	// TargetPlaneObservabilityPlane indicates resources should be deployed to the observability plane.
	TargetPlaneObservabilityPlane = "observabilityplane"
)

TargetPlane constants define which plane resources should be deployed to.

View Source
const (
	ConnectionTypeAPI = "api"
)

ConnectionTypeAPI represents an API connection type

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "openchoreo.dev", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SupportedVersions = map[BuildpackName][]string{
	BuildpackReact:     {"18.20.6", "19.9.0", "20.18.3", "21.7.3", "22.14.0", "23.7.0"},
	BuildpackGo:        {"1.x"},
	BuildpackBallerina: {"2201.7.5", "2201.8.9", "2201.9.6", "2201.10.4", "2201.11.0"},
	BuildpackNodeJS:    {"12.x.x", "14.x.x", "16.x.x", "18.x.x", "20.x.x", "22.x.x"},
	BuildpackPython:    {"3.10.x", "3.11.x", "3.12.x"},
	BuildpackRuby:      {"3.1.x", "3.2.x", "3.3.x"},
	BuildpackPHP:       {"8.1.x", "8.2.x", "8.3.x"},
}

SupportedVersions maps each buildpack to its supported versions. Refer (builder:google-22): https://cloud.google.com/docs/buildpacks/builders

Functions

This section is empty.

Types

type AgentConnectionStatus added in v0.12.0

type AgentConnectionStatus struct {
	// Connected indicates whether any cluster agent is currently connected
	Connected bool `json:"connected"`

	// ConnectedAgents is the number of cluster agents currently connected
	ConnectedAgents int `json:"connectedAgents"`

	// LastConnectedTime is when an agent last successfully connected
	// +optional
	LastConnectedTime *metav1.Time `json:"lastConnectedTime,omitempty"`

	// LastDisconnectedTime is when the last agent disconnected
	// +optional
	LastDisconnectedTime *metav1.Time `json:"lastDisconnectedTime,omitempty"`

	// LastHeartbeatTime is when the control plane last received any communication from an agent
	// +optional
	LastHeartbeatTime *metav1.Time `json:"lastHeartbeatTime,omitempty"`

	// Message provides additional information about the agent connection status
	// +optional
	Message string `json:"message,omitempty"`
}

AgentConnectionStatus tracks the status of cluster agent connections

func (*AgentConnectionStatus) DeepCopy added in v0.12.0

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

func (*AgentConnectionStatus) DeepCopyInto added in v0.12.0

func (in *AgentConnectionStatus) DeepCopyInto(out *AgentConnectionStatus)

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

type AuthzClusterRole added in v0.14.0

type AuthzClusterRole struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AuthzClusterRoleSpec `json:"spec,omitempty"`
}

AuthzClusterRole is the Schema for the authzclusterroles API

func (*AuthzClusterRole) DeepCopy added in v0.14.0

func (in *AuthzClusterRole) DeepCopy() *AuthzClusterRole

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

func (*AuthzClusterRole) DeepCopyInto added in v0.14.0

func (in *AuthzClusterRole) DeepCopyInto(out *AuthzClusterRole)

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

func (*AuthzClusterRole) DeepCopyObject added in v0.14.0

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

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

type AuthzClusterRoleBinding added in v0.14.0

type AuthzClusterRoleBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AuthzClusterRoleBindingSpec `json:"spec,omitempty"`
}

AuthzClusterRoleBinding is the Schema for the authzclusterrolebindings API

func (*AuthzClusterRoleBinding) DeepCopy added in v0.14.0

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

func (*AuthzClusterRoleBinding) DeepCopyInto added in v0.14.0

func (in *AuthzClusterRoleBinding) DeepCopyInto(out *AuthzClusterRoleBinding)

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

func (*AuthzClusterRoleBinding) DeepCopyObject added in v0.14.0

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

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

type AuthzClusterRoleBindingList added in v0.14.0

type AuthzClusterRoleBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []AuthzClusterRoleBinding `json:"items"`
}

AuthzClusterRoleBindingList contains a list of AuthzClusterRoleBinding

func (*AuthzClusterRoleBindingList) DeepCopy added in v0.14.0

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

func (*AuthzClusterRoleBindingList) DeepCopyInto added in v0.14.0

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

func (*AuthzClusterRoleBindingList) DeepCopyObject added in v0.14.0

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

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

type AuthzClusterRoleBindingSpec added in v0.14.0

type AuthzClusterRoleBindingSpec struct {
	// Entitlement defines the subject (from JWT claims) to grant the role to
	// +required
	Entitlement EntitlementClaim `json:"entitlement"`

	// RoleRef references the AuthzClusterRole to bind
	// NOTE: AuthzClusterRoleBinding can ONLY reference AuthzClusterRole
	// +required
	RoleRef RoleRef `json:"roleRef"`

	// Effect indicates whether this binding allows or denies access (default: allow)
	// +kubebuilder:default=allow
	// +optional
	Effect EffectType `json:"effect,omitempty"`
}

AuthzClusterRoleBindingSpec defines the desired state of AuthzClusterRoleBinding +kubebuilder:validation:XValidation:rule="self.roleRef.kind == 'AuthzClusterRole'",message="AuthzClusterRoleBinding can only reference AuthzClusterRole"

func (*AuthzClusterRoleBindingSpec) DeepCopy added in v0.14.0

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

func (*AuthzClusterRoleBindingSpec) DeepCopyInto added in v0.14.0

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

type AuthzClusterRoleList added in v0.14.0

type AuthzClusterRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []AuthzClusterRole `json:"items"`
}

AuthzClusterRoleList contains a list of AuthzClusterRole

func (*AuthzClusterRoleList) DeepCopy added in v0.14.0

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

func (*AuthzClusterRoleList) DeepCopyInto added in v0.14.0

func (in *AuthzClusterRoleList) DeepCopyInto(out *AuthzClusterRoleList)

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

func (*AuthzClusterRoleList) DeepCopyObject added in v0.14.0

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

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

type AuthzClusterRoleSpec added in v0.14.0

type AuthzClusterRoleSpec struct {
	// Actions is the list of actions this role can perform
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:example:={"component:create"}
	// +required
	Actions []string `json:"actions"`

	// Description is a human-readable description of the role
	// +optional
	Description string `json:"description,omitempty"`
}

AuthzClusterRoleSpec defines the desired state of AuthzClusterRole

func (*AuthzClusterRoleSpec) DeepCopy added in v0.14.0

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

func (*AuthzClusterRoleSpec) DeepCopyInto added in v0.14.0

func (in *AuthzClusterRoleSpec) DeepCopyInto(out *AuthzClusterRoleSpec)

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

type AuthzRole added in v0.14.0

type AuthzRole struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AuthzRoleSpec `json:"spec,omitempty"`
}

AuthzRole is the Schema for the authzroles API

func (*AuthzRole) DeepCopy added in v0.14.0

func (in *AuthzRole) DeepCopy() *AuthzRole

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

func (*AuthzRole) DeepCopyInto added in v0.14.0

func (in *AuthzRole) DeepCopyInto(out *AuthzRole)

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

func (*AuthzRole) DeepCopyObject added in v0.14.0

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

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

type AuthzRoleBinding added in v0.14.0

type AuthzRoleBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AuthzRoleBindingSpec `json:"spec,omitempty"`
}

AuthzRoleBinding is the Schema for the authzrolebindings API

func (*AuthzRoleBinding) DeepCopy added in v0.14.0

func (in *AuthzRoleBinding) DeepCopy() *AuthzRoleBinding

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

func (*AuthzRoleBinding) DeepCopyInto added in v0.14.0

func (in *AuthzRoleBinding) DeepCopyInto(out *AuthzRoleBinding)

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

func (*AuthzRoleBinding) DeepCopyObject added in v0.14.0

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

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

type AuthzRoleBindingList added in v0.14.0

type AuthzRoleBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []AuthzRoleBinding `json:"items"`
}

AuthzRoleBindingList contains a list of AuthzRoleBinding

func (*AuthzRoleBindingList) DeepCopy added in v0.14.0

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

func (*AuthzRoleBindingList) DeepCopyInto added in v0.14.0

func (in *AuthzRoleBindingList) DeepCopyInto(out *AuthzRoleBindingList)

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

func (*AuthzRoleBindingList) DeepCopyObject added in v0.14.0

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

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

type AuthzRoleBindingSpec added in v0.14.0

type AuthzRoleBindingSpec struct {
	// Entitlement defines the subject (from JWT claims) to grant the role to
	// +required
	Entitlement EntitlementClaim `json:"entitlement"`

	// RoleRef references the role to bind
	// Can reference AuthzClusterRole (platform-wide) or AuthzRole (same namespace only)
	// +required
	RoleRef RoleRef `json:"roleRef"`

	// TargetPath defines which resources this binding applies to within the ownership hierarchy
	// All fields are optional - omitted fields mean "all" at that level
	// +optional
	TargetPath TargetPath `json:"targetPath,omitempty"`

	// Effect indicates whether this binding allows or denies access (default: allow)
	// +kubebuilder:default=allow
	// +optional
	Effect EffectType `json:"effect,omitempty"`
}

AuthzRoleBindingSpec defines the desired state of AuthzRoleBinding

func (*AuthzRoleBindingSpec) DeepCopy added in v0.14.0

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

func (*AuthzRoleBindingSpec) DeepCopyInto added in v0.14.0

func (in *AuthzRoleBindingSpec) DeepCopyInto(out *AuthzRoleBindingSpec)

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

type AuthzRoleList added in v0.14.0

type AuthzRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []AuthzRole `json:"items"`
}

AuthzRoleList contains a list of AuthzRole

func (*AuthzRoleList) DeepCopy added in v0.14.0

func (in *AuthzRoleList) DeepCopy() *AuthzRoleList

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

func (*AuthzRoleList) DeepCopyInto added in v0.14.0

func (in *AuthzRoleList) DeepCopyInto(out *AuthzRoleList)

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

func (*AuthzRoleList) DeepCopyObject added in v0.14.0

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

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

type AuthzRoleSpec added in v0.14.0

type AuthzRoleSpec struct {
	// Actions is the list of actions this role can perform
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:example:={"component:create"}
	// +required
	Actions []string `json:"actions"`

	// Description is a human-readable description of the role
	// +optional
	Description string `json:"description,omitempty"`
}

AuthzRoleSpec defines the desired state of AuthzRole

func (*AuthzRoleSpec) DeepCopy added in v0.14.0

func (in *AuthzRoleSpec) DeepCopy() *AuthzRoleSpec

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

func (*AuthzRoleSpec) DeepCopyInto added in v0.14.0

func (in *AuthzRoleSpec) DeepCopyInto(out *AuthzRoleSpec)

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

type Build

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

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

Build is the Schema for the builds API.

func (*Build) DeepCopy

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 BuildPlaneRef added in v0.15.0

type BuildPlaneRef struct {
	// Kind is the kind of build plane (BuildPlane or ClusterBuildPlane)
	// +required
	Kind BuildPlaneRefKind `json:"kind"`

	// Name is the name of the build plane resource
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	Name string `json:"name"`
}

BuildPlaneRef represents a reference to a BuildPlane or ClusterBuildPlane

func (*BuildPlaneRef) DeepCopy added in v0.15.0

func (in *BuildPlaneRef) DeepCopy() *BuildPlaneRef

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

func (*BuildPlaneRef) DeepCopyInto added in v0.15.0

func (in *BuildPlaneRef) DeepCopyInto(out *BuildPlaneRef)

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

type BuildPlaneRefKind added in v0.15.0

type BuildPlaneRefKind string

BuildPlaneRefKind defines the kind of build plane referenced by a BuildPlaneRef +kubebuilder:validation:Enum=BuildPlane;ClusterBuildPlane

const (
	// BuildPlaneRefKindBuildPlane references a namespace-scoped BuildPlane
	BuildPlaneRefKindBuildPlane BuildPlaneRefKind = "BuildPlane"

	// BuildPlaneRefKindClusterBuildPlane references a cluster-scoped ClusterBuildPlane
	BuildPlaneRefKindClusterBuildPlane BuildPlaneRefKind = "ClusterBuildPlane"
)

type BuildPlaneSpec

type BuildPlaneSpec struct {

	// PlaneID identifies the logical plane this CR connects to.
	// Multiple BuildPlane CRs can share the same planeID to connect to the same physical cluster
	// while maintaining separate configurations for multi-tenancy scenarios.
	// If not specified, defaults to the CR name for backwards compatibility.
	// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
	// Examples: "shared-builder", "ci-cluster", "us-west-2"
	// +optional
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	PlaneID string `json:"planeID,omitempty"`

	// ClusterAgent specifies the configuration for cluster agent-based communication
	// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
	// This field is mandatory - all build planes must use cluster agent communication
	ClusterAgent ClusterAgentConfig `json:"clusterAgent"`

	// SecretStoreRef specifies the ESO ClusterSecretStore to use in the data plane
	// +optional
	SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`

	// ObservabilityPlaneRef specifies the ObservabilityPlane or ClusterObservabilityPlane for this BuildPlane.
	// If not specified, defaults to an ObservabilityPlane named "default" in the same namespace.
	// +optional
	ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}

BuildPlaneSpec defines the desired state of BuildPlane.

func (*BuildPlaneSpec) DeepCopy

func (in *BuildPlaneSpec) DeepCopy() *BuildPlaneSpec

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

func (*BuildPlaneSpec) DeepCopyInto

func (in *BuildPlaneSpec) DeepCopyInto(out *BuildPlaneSpec)

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

type BuildPlaneStatus

type BuildPlaneStatus struct {

	// ObservedGeneration is the generation observed by the controller
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the BuildPlane's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// AgentConnection tracks the status of cluster agent connections to this build plane
	// +optional
	AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}

BuildPlaneStatus defines the observed state of BuildPlane.

func (*BuildPlaneStatus) DeepCopy

func (in *BuildPlaneStatus) DeepCopy() *BuildPlaneStatus

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

func (*BuildPlaneStatus) DeepCopyInto

func (in *BuildPlaneStatus) DeepCopyInto(out *BuildPlaneStatus)

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

type BuildSpec

type BuildSpec struct {
	Owner BuildOwner `json:"owner"`

	// Repository contains the source repository configuration
	Repository Repository `json:"repository"`

	// TemplateRef contains the build template reference and parameters
	TemplateRef TemplateRef `json:"templateRef"`
}

BuildSpec defines the desired state of Build.

func (*BuildSpec) DeepCopy

func (in *BuildSpec) DeepCopy() *BuildSpec

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

func (*BuildSpec) DeepCopyInto

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

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

type BuildStatus

type BuildStatus struct {
	// Conditions represent the latest available observations of the build's current state
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ImageStatus contains information about the built image
	ImageStatus Image `json:"imageStatus,omitempty"`
}

BuildStatus defines the observed state of Build.

func (*BuildStatus) DeepCopy

func (in *BuildStatus) DeepCopy() *BuildStatus

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

func (*BuildStatus) DeepCopyInto

func (in *BuildStatus) DeepCopyInto(out *BuildStatus)

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

type BuildTemplateSpec

type BuildTemplateSpec struct {
	// Branch specifies the Git branch to use
	Branch string `json:"branch"`
	// Path specifies the repository path to use
	Path string `json:"path"`
	// BuildConfiguration specifies the build settings
	BuildConfiguration *BuildConfiguration `json:"buildConfiguration,omitempty"`
}

BuildTemplateSpec defines the build template configuration

func (*BuildTemplateSpec) DeepCopy

func (in *BuildTemplateSpec) DeepCopy() *BuildTemplateSpec

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

func (*BuildTemplateSpec) DeepCopyInto

func (in *BuildTemplateSpec) DeepCopyInto(out *BuildTemplateSpec)

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

type BuildpackConfiguration

type BuildpackConfiguration struct {
	Name    BuildpackName `json:"name"`
	Version string        `json:"version,omitempty"`
}

func (*BuildpackConfiguration) DeepCopy

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

func (*BuildpackConfiguration) DeepCopyInto

func (in *BuildpackConfiguration) DeepCopyInto(out *BuildpackConfiguration)

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

type BuildpackName

type BuildpackName string
const (
	BuildpackReact     BuildpackName = "React"
	BuildpackGo        BuildpackName = "Go"
	BuildpackBallerina BuildpackName = "Ballerina"
	BuildpackNodeJS    BuildpackName = "Node.js"
	BuildpackPython    BuildpackName = "Python"
	BuildpackRuby      BuildpackName = "Ruby"
	BuildpackPHP       BuildpackName = "PHP"
)

type ClusterAgentConfig added in v0.9.0

type ClusterAgentConfig struct {
	// ClientCA contains the CA certificate used to verify the agent's client certificate
	// This allows per-plane CA configuration for enhanced security
	ClientCA ValueFrom `json:"clientCA"`
}

ClusterAgentConfig defines the configuration for cluster agent-based communication The cluster agent establishes a WebSocket connection to the control plane's cluster gateway

func (*ClusterAgentConfig) DeepCopy added in v0.9.0

func (in *ClusterAgentConfig) DeepCopy() *ClusterAgentConfig

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

func (*ClusterAgentConfig) DeepCopyInto added in v0.9.0

func (in *ClusterAgentConfig) DeepCopyInto(out *ClusterAgentConfig)

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

type ClusterBuildPlane added in v0.14.0

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

	Spec   ClusterBuildPlaneSpec   `json:"spec,omitempty"`
	Status ClusterBuildPlaneStatus `json:"status,omitempty"`
}

ClusterBuildPlane is the Schema for the clusterbuildplanes API. It is a cluster-scoped version of BuildPlane, allowing platform administrators to define build plane configurations that can be referenced across multiple namespaces.

func (*ClusterBuildPlane) DeepCopy added in v0.14.0

func (in *ClusterBuildPlane) DeepCopy() *ClusterBuildPlane

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

func (*ClusterBuildPlane) DeepCopyInto added in v0.14.0

func (in *ClusterBuildPlane) DeepCopyInto(out *ClusterBuildPlane)

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

func (*ClusterBuildPlane) DeepCopyObject added in v0.14.0

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

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

func (*ClusterBuildPlane) GetConditions added in v0.14.0

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

GetConditions returns the conditions of the ClusterBuildPlane.

func (*ClusterBuildPlane) SetConditions added in v0.14.0

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

SetConditions sets the conditions of the ClusterBuildPlane.

type ClusterBuildPlaneList added in v0.14.0

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

ClusterBuildPlaneList contains a list of ClusterBuildPlane.

func (*ClusterBuildPlaneList) DeepCopy added in v0.14.0

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

func (*ClusterBuildPlaneList) DeepCopyInto added in v0.14.0

func (in *ClusterBuildPlaneList) DeepCopyInto(out *ClusterBuildPlaneList)

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

func (*ClusterBuildPlaneList) DeepCopyObject added in v0.14.0

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

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

type ClusterBuildPlaneSpec added in v0.14.0

type ClusterBuildPlaneSpec struct {
	// PlaneID identifies the logical plane this CR connects to.
	// Multiple ClusterBuildPlane CRs can share the same planeID to connect to the same physical cluster
	// while maintaining separate configurations for multi-tenancy scenarios.
	// This field is required and must uniquely identify the physical cluster agent connection.
	// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
	// Examples: "shared-builder", "ci-cluster", "us-west-2"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	PlaneID string `json:"planeID"`

	// ClusterAgent specifies the configuration for cluster agent-based communication
	// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
	// This field is mandatory - all build planes must use cluster agent communication
	ClusterAgent ClusterAgentConfig `json:"clusterAgent"`

	// SecretStoreRef specifies the ESO ClusterSecretStore to use in the build plane
	// +optional
	SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`

	// ObservabilityPlaneRef specifies the ClusterObservabilityPlane for this ClusterBuildPlane.
	// Since this is a cluster-scoped resource, it can only reference cluster-scoped ClusterObservabilityPlane.
	// Namespace-scoped ObservabilityPlane references are NOT supported for cluster-scoped resources.
	//
	// Default behavior:
	// - If not specified, the controller defaults to a ClusterObservabilityPlane named "default"
	// - If the "default" ClusterObservabilityPlane does not exist, reconciliation fails with an error
	//
	// The kind field must be "ClusterObservabilityPlane".
	// +optional
	// +kubebuilder:validation:XValidation:rule="!has(self.kind) || self.kind == 'ClusterObservabilityPlane'",message="ClusterBuildPlane can only reference ClusterObservabilityPlane"
	ObservabilityPlaneRef *ClusterObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}

ClusterBuildPlaneSpec defines the desired state of ClusterBuildPlane. This is a cluster-scoped version of BuildPlaneSpec, allowing platform admins to define build planes that can be referenced across namespaces.

func (*ClusterBuildPlaneSpec) DeepCopy added in v0.14.0

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

func (*ClusterBuildPlaneSpec) DeepCopyInto added in v0.14.0

func (in *ClusterBuildPlaneSpec) DeepCopyInto(out *ClusterBuildPlaneSpec)

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

type ClusterBuildPlaneStatus added in v0.14.0

type ClusterBuildPlaneStatus struct {
	// ObservedGeneration reflects the generation of the most recently observed ClusterBuildPlane.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

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

	// AgentConnection tracks the status of cluster agent connections to this build plane
	// +optional
	AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}

ClusterBuildPlaneStatus defines the observed state of ClusterBuildPlane.

func (*ClusterBuildPlaneStatus) DeepCopy added in v0.14.0

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

func (*ClusterBuildPlaneStatus) DeepCopyInto added in v0.14.0

func (in *ClusterBuildPlaneStatus) DeepCopyInto(out *ClusterBuildPlaneStatus)

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

type ClusterDataPlane added in v0.14.0

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

	Spec   ClusterDataPlaneSpec   `json:"spec,omitempty"`
	Status ClusterDataPlaneStatus `json:"status,omitempty"`
}

ClusterDataPlane is the Schema for the clusterdataplanes API. It is a cluster-scoped version of DataPlane, allowing platform administrators to define data plane configurations that can be referenced across multiple namespaces.

func (*ClusterDataPlane) DeepCopy added in v0.14.0

func (in *ClusterDataPlane) DeepCopy() *ClusterDataPlane

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

func (*ClusterDataPlane) DeepCopyInto added in v0.14.0

func (in *ClusterDataPlane) DeepCopyInto(out *ClusterDataPlane)

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

func (*ClusterDataPlane) DeepCopyObject added in v0.14.0

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

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

func (*ClusterDataPlane) GetConditions added in v0.14.0

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

GetConditions returns the conditions of the ClusterDataPlane.

func (*ClusterDataPlane) SetConditions added in v0.14.0

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

SetConditions sets the conditions of the ClusterDataPlane.

type ClusterDataPlaneList added in v0.14.0

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

ClusterDataPlaneList contains a list of ClusterDataPlane.

func (*ClusterDataPlaneList) DeepCopy added in v0.14.0

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

func (*ClusterDataPlaneList) DeepCopyInto added in v0.14.0

func (in *ClusterDataPlaneList) DeepCopyInto(out *ClusterDataPlaneList)

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

func (*ClusterDataPlaneList) DeepCopyObject added in v0.14.0

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

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

type ClusterDataPlaneSpec added in v0.14.0

type ClusterDataPlaneSpec struct {
	// PlaneID identifies the logical plane this CR connects to.
	// Multiple ClusterDataPlane CRs can share the same planeID to connect to the same physical cluster
	// while maintaining separate configurations for multi-tenancy scenarios.
	// This field is required and must uniquely identify the physical cluster agent connection.
	// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
	// Examples: "prod-cluster", "shared-dataplane", "us-east-1"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	PlaneID string `json:"planeID"`

	// ClusterAgent specifies the configuration for cluster agent-based communication
	// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
	// This field is mandatory - all data planes must use cluster agent communication
	ClusterAgent ClusterAgentConfig `json:"clusterAgent"`

	// Gateway specifies the configuration for the API gateway in this DataPlane.
	Gateway GatewaySpec `json:"gateway"`

	// ImagePullSecretRefs contains references to SecretReference resources
	// These will be converted to ExternalSecrets and added as imagePullSecrets to all deployments
	// +optional
	ImagePullSecretRefs []string `json:"imagePullSecretRefs,omitempty"`

	// SecretStoreRef specifies the ESO ClusterSecretStore to use in the data plane
	// +optional
	SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`

	// ObservabilityPlaneRef specifies the ClusterObservabilityPlane for this ClusterDataPlane.
	// Since this is a cluster-scoped resource, it can only reference cluster-scoped ClusterObservabilityPlane.
	// Namespace-scoped ObservabilityPlane references are NOT supported for cluster-scoped resources.
	//
	// Default behavior:
	// - If not specified, the system looks for a ClusterObservabilityPlane named "default"
	// - If "default" ClusterObservabilityPlane doesn't exist, observability features are disabled
	//
	// The kind field must be "ClusterObservabilityPlane".
	// +optional
	// +kubebuilder:validation:XValidation:rule="!has(self.kind) || self.kind == 'ClusterObservabilityPlane'",message="ClusterDataPlane can only reference ClusterObservabilityPlane"
	ObservabilityPlaneRef *ClusterObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}

ClusterDataPlaneSpec defines the desired state of ClusterDataPlane. This is a cluster-scoped version of DataPlaneSpec, allowing platform admins to define data planes that can be referenced across namespaces.

func (*ClusterDataPlaneSpec) DeepCopy added in v0.14.0

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

func (*ClusterDataPlaneSpec) DeepCopyInto added in v0.14.0

func (in *ClusterDataPlaneSpec) DeepCopyInto(out *ClusterDataPlaneSpec)

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

type ClusterDataPlaneStatus added in v0.14.0

type ClusterDataPlaneStatus struct {
	// ObservedGeneration reflects the generation of the most recently observed ClusterDataPlane.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

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

	// AgentConnection tracks the status of cluster agent connections to this data plane
	// +optional
	AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}

ClusterDataPlaneStatus defines the observed state of ClusterDataPlane.

func (*ClusterDataPlaneStatus) DeepCopy added in v0.14.0

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

func (*ClusterDataPlaneStatus) DeepCopyInto added in v0.14.0

func (in *ClusterDataPlaneStatus) DeepCopyInto(out *ClusterDataPlaneStatus)

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

type ClusterObservabilityPlane added in v0.14.0

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

	Spec   ClusterObservabilityPlaneSpec   `json:"spec,omitempty"`
	Status ClusterObservabilityPlaneStatus `json:"status,omitempty"`
}

ClusterObservabilityPlane is the Schema for the clusterobservabilityplanes API. It is a cluster-scoped version of ObservabilityPlane, allowing platform administrators to define observability plane configurations that can be referenced across multiple namespaces.

func (*ClusterObservabilityPlane) DeepCopy added in v0.14.0

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

func (*ClusterObservabilityPlane) DeepCopyInto added in v0.14.0

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

func (*ClusterObservabilityPlane) DeepCopyObject added in v0.14.0

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

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

func (*ClusterObservabilityPlane) GetConditions added in v0.14.0

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

GetConditions returns the conditions of the ClusterObservabilityPlane.

func (*ClusterObservabilityPlane) SetConditions added in v0.14.0

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

SetConditions sets the conditions of the ClusterObservabilityPlane.

type ClusterObservabilityPlaneList added in v0.14.0

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

ClusterObservabilityPlaneList contains a list of ClusterObservabilityPlane.

func (*ClusterObservabilityPlaneList) DeepCopy added in v0.14.0

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

func (*ClusterObservabilityPlaneList) DeepCopyInto added in v0.14.0

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

func (*ClusterObservabilityPlaneList) DeepCopyObject added in v0.14.0

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

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

type ClusterObservabilityPlaneRef added in v0.15.0

type ClusterObservabilityPlaneRef struct {
	// Kind is the kind of observability plane. Must be ClusterObservabilityPlane.
	// +required
	Kind ClusterObservabilityPlaneRefKind `json:"kind"`

	// Name is the name of the ClusterObservabilityPlane resource
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	Name string `json:"name"`
}

ClusterObservabilityPlaneRef represents a reference to a ClusterObservabilityPlane. Used by cluster-scoped resources (ClusterDataPlane, ClusterBuildPlane) that can only reference cluster-scoped observability planes.

func (*ClusterObservabilityPlaneRef) DeepCopy added in v0.15.0

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

func (*ClusterObservabilityPlaneRef) DeepCopyInto added in v0.15.0

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

type ClusterObservabilityPlaneRefKind added in v0.15.0

type ClusterObservabilityPlaneRefKind string

ClusterObservabilityPlaneRefKind defines the kind for cluster-scoped observability plane references. Only ClusterObservabilityPlane is allowed since cluster-scoped resources can only reference other cluster-scoped resources. +kubebuilder:validation:Enum=ClusterObservabilityPlane

const (
	// ClusterObservabilityPlaneRefKindClusterObservabilityPlane references a cluster-scoped ClusterObservabilityPlane
	ClusterObservabilityPlaneRefKindClusterObservabilityPlane ClusterObservabilityPlaneRefKind = "ClusterObservabilityPlane"
)

type ClusterObservabilityPlaneSpec added in v0.14.0

type ClusterObservabilityPlaneSpec struct {
	// PlaneID identifies the logical plane this CR connects to.
	// Multiple ClusterObservabilityPlane CRs can share the same planeID to connect to the same physical cluster
	// while maintaining separate configurations for multi-tenancy scenarios.
	// This field is required and must uniquely identify the physical cluster agent connection.
	// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
	// Examples: "shared-obs", "monitoring-cluster", "eu-central-1"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	PlaneID string `json:"planeID"`

	// ClusterAgent specifies the configuration for cluster agent-based communication
	// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
	// This field is mandatory - all observability planes must use cluster agent communication
	ClusterAgent ClusterAgentConfig `json:"clusterAgent"`

	// ObserverURL is the base URL of the Observer API in the observability plane cluster
	// +required
	ObserverURL string `json:"observerURL"`

	// RCAAgentURL is the base URL of the RCA Agent API in the observability plane cluster
	// +optional
	RCAAgentURL string `json:"rcaAgentURL,omitempty"`
}

ClusterObservabilityPlaneSpec defines the desired state of ClusterObservabilityPlane. This is a cluster-scoped version of ObservabilityPlaneSpec, allowing platform admins to define observability planes that can be referenced across namespaces.

func (*ClusterObservabilityPlaneSpec) DeepCopy added in v0.14.0

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

func (*ClusterObservabilityPlaneSpec) DeepCopyInto added in v0.14.0

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

type ClusterObservabilityPlaneStatus added in v0.14.0

type ClusterObservabilityPlaneStatus struct {
	// ObservedGeneration reflects the generation of the most recently observed ClusterObservabilityPlane.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

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

	// AgentConnection tracks the status of cluster agent connections to this observability plane
	// +optional
	AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}

ClusterObservabilityPlaneStatus defines the observed state of ClusterObservabilityPlane.

func (*ClusterObservabilityPlaneStatus) DeepCopy added in v0.14.0

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

func (*ClusterObservabilityPlaneStatus) DeepCopyInto added in v0.14.0

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

type Component

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

	Spec   ComponentSpec   `json:"spec,omitempty"`
	Status ComponentStatus `json:"status,omitempty"`
}

Component is the Schema for the components API.

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

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

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

func (*Component) DeepCopyObject

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

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

func (*Component) GetConditions

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

func (*Component) SetConditions

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

type ComponentList

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

ComponentList contains a list of Component.

func (*ComponentList) DeepCopy

func (in *ComponentList) DeepCopy() *ComponentList

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

func (*ComponentList) DeepCopyInto

func (in *ComponentList) DeepCopyInto(out *ComponentList)

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

func (*ComponentList) DeepCopyObject

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

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

type ComponentOwner

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

func (*ComponentOwner) DeepCopy

func (in *ComponentOwner) DeepCopy() *ComponentOwner

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

func (*ComponentOwner) DeepCopyInto

func (in *ComponentOwner) DeepCopyInto(out *ComponentOwner)

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

type ComponentProfile added in v0.5.0

type ComponentProfile struct {
	// Parameters from ComponentType (oneOf schema based on componentType)
	// This is the merged schema of parameters + envOverrides from the ComponentType
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// Traits to compose into this component
	// Each trait can be instantiated multiple times with different instanceNames
	// +optional
	Traits []ComponentTrait `json:"traits,omitempty"`
}

ComponentProfile defines a snapshot of a component's spec

func (*ComponentProfile) DeepCopy added in v0.5.0

func (in *ComponentProfile) DeepCopy() *ComponentProfile

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

func (*ComponentProfile) DeepCopyInto added in v0.5.0

func (in *ComponentProfile) DeepCopyInto(out *ComponentProfile)

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

type ComponentRelease added in v0.5.0

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

	Spec   ComponentReleaseSpec   `json:"spec,omitempty"`
	Status ComponentReleaseStatus `json:"status,omitempty"`
}

ComponentRelease is the Schema for the componentreleases API.

func (*ComponentRelease) DeepCopy added in v0.5.0

func (in *ComponentRelease) DeepCopy() *ComponentRelease

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

func (*ComponentRelease) DeepCopyInto added in v0.5.0

func (in *ComponentRelease) DeepCopyInto(out *ComponentRelease)

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

func (*ComponentRelease) DeepCopyObject added in v0.5.0

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

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

type ComponentReleaseList added in v0.5.0

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

ComponentReleaseList contains a list of ComponentRelease.

func (*ComponentReleaseList) DeepCopy added in v0.5.0

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

func (*ComponentReleaseList) DeepCopyInto added in v0.5.0

func (in *ComponentReleaseList) DeepCopyInto(out *ComponentReleaseList)

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

func (*ComponentReleaseList) DeepCopyObject added in v0.5.0

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

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

type ComponentReleaseOwner added in v0.5.0

type ComponentReleaseOwner struct {
	// ProjectName is the name of the project that owns this component
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ProjectName string `json:"projectName"`

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

ComponentReleaseOwner identifies the component this ComponentRelease belongs to

func (*ComponentReleaseOwner) DeepCopy added in v0.5.0

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

func (*ComponentReleaseOwner) DeepCopyInto added in v0.5.0

func (in *ComponentReleaseOwner) DeepCopyInto(out *ComponentReleaseOwner)

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

type ComponentReleaseSpec added in v0.5.0

type ComponentReleaseSpec struct {
	// Owner identifies the component and project this ComponentRelease belongs to
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
	Owner ComponentReleaseOwner `json:"owner"`

	// ComponentType is a full embedded copy of the ComponentType
	// This ensures the ComponentRelease has an immutable snapshot of the ComponentType at the time of component release
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentType is immutable"
	ComponentType ComponentTypeSpec `json:"componentType"`

	// Traits maps trait names to their frozen specifications
	// at the time of ComponentRelease, ensuring immutability
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.traits is immutable"
	Traits map[string]TraitSpec `json:"traits,omitempty"`

	// ComponentProfile contains the immutable snapshot of parameter values and trait configs
	// specified for this component at release time
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.componentProfile is immutable"
	ComponentProfile *ComponentProfile `json:"componentProfile,omitempty"`

	// Workload is a full embedded copy of the Workload
	// This preserves the workload spec with the built image
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workload is immutable"
	Workload WorkloadTemplateSpec `json:"workload"`
}

ComponentReleaseSpec defines the desired state of ComponentRelease.

func (*ComponentReleaseSpec) DeepCopy added in v0.5.0

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

func (*ComponentReleaseSpec) DeepCopyInto added in v0.5.0

func (in *ComponentReleaseSpec) DeepCopyInto(out *ComponentReleaseSpec)

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

type ComponentReleaseStatus added in v0.5.0

type ComponentReleaseStatus struct {
}

ComponentReleaseStatus defines the observed state of ComponentRelease.

func (*ComponentReleaseStatus) DeepCopy added in v0.5.0

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

func (*ComponentReleaseStatus) DeepCopyInto added in v0.5.0

func (in *ComponentReleaseStatus) DeepCopyInto(out *ComponentReleaseStatus)

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

type ComponentSource

type ComponentSource struct {
	// GitRepository specifies the configuration for the component source to be a Git repository indicating
	// that the component should be built from the source code.
	// This field is mutually exclusive with the other source types.
	GitRepository *GitRepository `json:"gitRepository,omitempty"`

	// ContainerRegistry specifies the configuration for the component source to be a container image indicating
	// that the component should be deployed using the provided image.
	// This field is mutually exclusive with the other source types.
	ContainerRegistry *ContainerRegistry `json:"containerRegistry,omitempty"`
}

ComponentSource defines the source information of the component where the code or image is retrieved.

func (*ComponentSource) DeepCopy

func (in *ComponentSource) DeepCopy() *ComponentSource

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

func (*ComponentSource) DeepCopyInto

func (in *ComponentSource) DeepCopyInto(out *ComponentSource)

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

type ComponentSpec

type ComponentSpec struct {
	// Owner defines the ownership information for the component
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
	Owner ComponentOwner `json:"owner"`

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

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

	// AutoDeploy indicates whether the component should be deployed automatically when created
	// When not specified, defaults to false (zero value)
	// +optional
	AutoDeploy bool `json:"autoDeploy,omitempty"`

	// AutoBuild enables automatic builds when code is pushed to the repository
	// When enabled, webhook events will trigger builds automatically
	// Users must manually configure webhooks in their Git provider
	// +optional
	AutoBuild *bool `json:"autoBuild,omitempty"`

	// Parameters from ComponentType (oneOf schema based on componentType)
	// This is the merged schema of parameters + envOverrides from the ComponentType
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// Traits to compose into this component
	// Each trait can be instantiated multiple times with different instanceNames
	// +optional
	Traits []ComponentTrait `json:"traits,omitempty"`

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

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

func (*ComponentSpec) DeepCopy

func (in *ComponentSpec) DeepCopy() *ComponentSpec

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

func (*ComponentSpec) DeepCopyInto

func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)

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

type ComponentStatus

type ComponentStatus struct {
	ObservedGeneration int64              `json:"observedGeneration,omitempty"`
	Conditions         []metav1.Condition `json:"conditions,omitempty"`
	// LatestRelease keeps the information of the latest ComponentRelease created for this component
	// This is used to make sure the component's latest ComponentRelease is always
	// deployed to the first environment, if the autoDeploy flag is set to true
	// +optional
	LatestRelease *LatestRelease `json:"latestRelease,omitempty"`
}

ComponentStatus defines the observed state of Component.

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type ComponentTrait added in v0.4.0

type ComponentTrait struct {
	// Name is the name of the Trait resource to use
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// InstanceName uniquely identifies this trait instance within the component
	// Allows the same trait to be used multiple times with different configurations
	// Must be unique across all traits in the component
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	InstanceName string `json:"instanceName"`

	// Parameters contains the trait parameter values
	// The schema for this config is defined in the Trait's schema.parameters and schema.envOverrides
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

ComponentTrait represents an trait instance attached to a component

func (*ComponentTrait) DeepCopy added in v0.4.0

func (in *ComponentTrait) DeepCopy() *ComponentTrait

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

func (*ComponentTrait) DeepCopyInto added in v0.4.0

func (in *ComponentTrait) DeepCopyInto(out *ComponentTrait)

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

type ComponentType

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

	Spec   ComponentTypeSpec   `json:"spec,omitempty"`
	Status ComponentTypeStatus `json:"status,omitempty"`
}

ComponentType is the Schema for the componenttypes API.

func (*ComponentType) DeepCopy added in v0.4.0

func (in *ComponentType) DeepCopy() *ComponentType

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

func (*ComponentType) DeepCopyInto added in v0.4.0

func (in *ComponentType) DeepCopyInto(out *ComponentType)

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

func (*ComponentType) DeepCopyObject added in v0.4.0

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

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

type ComponentTypeList added in v0.4.0

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

ComponentTypeList contains a list of ComponentType.

func (*ComponentTypeList) DeepCopy added in v0.4.0

func (in *ComponentTypeList) DeepCopy() *ComponentTypeList

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

func (*ComponentTypeList) DeepCopyInto added in v0.4.0

func (in *ComponentTypeList) DeepCopyInto(out *ComponentTypeList)

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

func (*ComponentTypeList) DeepCopyObject added in v0.4.0

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

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

type ComponentTypeSchema added in v0.4.0

type ComponentTypeSchema struct {
	// Types defines reusable type definitions that can be referenced in schema fields
	// This is a nested map structure where keys are type names and values are type definitions
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Types *runtime.RawExtension `json:"types,omitempty"`

	// Parameters are static across environments and exposed as inputs to developers
	// when creating a Component of this type. This is a nested map structure where
	// keys are field names and values are either nested maps or type definition strings.
	// Type definition format: "type | default=value | required=true | enum=val1,val2"
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// EnvOverrides can be overridden per environment via ReleaseBinding by platform engineers.
	// Same nested map structure and type definition format as Parameters.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	EnvOverrides *runtime.RawExtension `json:"envOverrides,omitempty"`
}

ComponentTypeSchema defines the configurable parameters for a component type Parameters and EnvOverrides are nested map structures where keys are field names and values define the type and validation rules using inline schema syntax.

Example:

parameters:
  runtime:
    command: "array<string> | default=[]"
    args: "array<string> | default=[]"
  lifecycle:
    terminationGracePeriodSeconds: "integer | default=30"
    imagePullPolicy: "string | default=IfNotPresent | enum=Always,IfNotPresent,Never"

func (*ComponentTypeSchema) DeepCopy added in v0.4.0

func (in *ComponentTypeSchema) DeepCopy() *ComponentTypeSchema

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

func (*ComponentTypeSchema) DeepCopyInto added in v0.4.0

func (in *ComponentTypeSchema) DeepCopyInto(out *ComponentTypeSchema)

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

func (*ComponentTypeSchema) GetEnvOverrides added in v0.9.0

func (s *ComponentTypeSchema) GetEnvOverrides() *runtime.RawExtension

GetEnvOverrides returns the envOverrides raw extension.

func (*ComponentTypeSchema) GetParameters added in v0.9.0

func (s *ComponentTypeSchema) GetParameters() *runtime.RawExtension

GetParameters returns the parameters raw extension.

func (*ComponentTypeSchema) GetTypes added in v0.9.0

func (s *ComponentTypeSchema) GetTypes() *runtime.RawExtension

GetTypes returns the types raw extension.

type ComponentTypeSpec added in v0.4.0

type ComponentTypeSpec struct {
	// WorkloadType must be one of: deployment, statefulset, cronjob, job, proxy
	// This determines the primary workload resource type for this component type
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=deployment;statefulset;cronjob;job;proxy
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.workloadType cannot be changed after creation"
	WorkloadType string `json:"workloadType"`

	// AllowedWorkflows restricts which ComponentWorkflow CRs developers can use
	// for building components of this type. If empty, no ComponentWorkflows are allowed.
	// References must point to ComponentWorkflow resources, not generic Workflow resources.
	// +optional
	AllowedWorkflows []string `json:"allowedWorkflows,omitempty"`

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

	// Traits are pre-configured trait instances embedded in the ComponentType.
	// The PE binds trait parameters using concrete values or CEL expressions
	// referencing the ComponentType schema (e.g., "${parameters.storage.mountPath}").
	// These traits are automatically applied to all Components of this type.
	// +optional
	Traits []ComponentTypeTrait `json:"traits,omitempty"`

	// AllowedTraits restricts which Trait CRs developers can attach to Components of this type.
	// Trait names listed here must not overlap with traits already embedded in spec.traits.
	// +optional
	AllowedTraits []string `json:"allowedTraits,omitempty"`

	// Validations are CEL-based rules evaluated during rendering.
	// All rules must evaluate to true for rendering to proceed.
	// +optional
	Validations []ValidationRule `json:"validations,omitempty"`

	// Resources are templates that generate Kubernetes resources dynamically
	// At least one resource 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 ComponentTypeTrait added in v0.14.0

type ComponentTypeTrait 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.
	// Must be unique across all embedded traits in the ComponentType
	// and must not collide with any component-level trait instance names.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	InstanceName string `json:"instanceName"`

	// Parameters contains trait parameter bindings.
	// Values can be concrete (locked by PE) or CEL expressions referencing
	// the ComponentType schema using ${...} syntax.
	// Example: "${parameters.storage.mountPath}" or "app-data" (locked)
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// EnvOverrides contains trait environment override bindings.
	// Values can be concrete (locked by PE) or CEL expressions referencing
	// the ComponentType schema using ${...} syntax.
	// Example: "${envOverrides.storage.size}" or "local-path" (locked)
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	EnvOverrides *runtime.RawExtension `json:"envOverrides,omitempty"`
}

ComponentTypeTrait represents a pre-configured trait instance embedded in a ComponentType. The PE binds trait parameters using concrete values (locked) or CEL expressions referencing the ComponentType schema (wired to developer-configurable fields).

func (*ComponentTypeTrait) DeepCopy added in v0.14.0

func (in *ComponentTypeTrait) DeepCopy() *ComponentTypeTrait

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

func (*ComponentTypeTrait) DeepCopyInto added in v0.14.0

func (in *ComponentTypeTrait) DeepCopyInto(out *ComponentTypeTrait)

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

type ComponentWorkflow added in v0.6.0

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

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

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

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

ComponentWorkflow is the Schema for the componentworkflows API

func (*ComponentWorkflow) DeepCopy added in v0.6.0

func (in *ComponentWorkflow) DeepCopy() *ComponentWorkflow

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

func (*ComponentWorkflow) DeepCopyInto added in v0.6.0

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

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

func (*ComponentWorkflow) DeepCopyObject added in v0.6.0

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

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

func (*ComponentWorkflow) GetConditions added in v0.6.0

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

GetConditions returns the conditions from the ComponentWorkflow status.

func (*ComponentWorkflow) SetConditions added in v0.6.0

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

SetConditions sets the conditions in the ComponentWorkflow status.

type ComponentWorkflowImage added in v0.6.0

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

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

func (*ComponentWorkflowImage) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowImage) DeepCopyInto added in v0.6.0

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

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

type ComponentWorkflowList added in v0.6.0

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

ComponentWorkflowList contains a list of ComponentWorkflow

func (*ComponentWorkflowList) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowList) DeepCopyInto added in v0.6.0

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

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

func (*ComponentWorkflowList) DeepCopyObject added in v0.6.0

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

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

type ComponentWorkflowOwner added in v0.6.0

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

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

ComponentWorkflowOwner identifies the Component that owns a ComponentWorkflowRun execution.

func (*ComponentWorkflowOwner) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowOwner) DeepCopyInto added in v0.6.0

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

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

type ComponentWorkflowResource added in v0.9.0

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

	// IncludeWhen is a CEL expression that determines whether this resource should be rendered.
	// If the expression evaluates to false, the resource is skipped.
	// If empty, the resource is always included.
	// Example: has(systemParameters.secretRef)
	// +optional
	IncludeWhen string `json:"includeWhen,omitempty"`

	// Template contains the Kubernetes resource with CEL expressions.
	// CEL expressions are enclosed in ${...} and will be evaluated at runtime.
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Template *runtime.RawExtension `json:"template"`
}

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

func (*ComponentWorkflowResource) DeepCopy added in v0.9.0

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

func (*ComponentWorkflowResource) DeepCopyInto added in v0.9.0

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

type ComponentWorkflowRun added in v0.6.0

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

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

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

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

ComponentWorkflowRun is the Schema for the componentworkflowruns API

func (*ComponentWorkflowRun) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRun) DeepCopyInto added in v0.6.0

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

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

func (*ComponentWorkflowRun) DeepCopyObject added in v0.6.0

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

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

func (*ComponentWorkflowRun) GetConditions added in v0.6.0

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

GetConditions returns the conditions from the ComponentWorkflowRun status.

func (*ComponentWorkflowRun) SetConditions added in v0.6.0

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

SetConditions sets the conditions in the ComponentWorkflowRun status.

type ComponentWorkflowRunConfig added in v0.6.0

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

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

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

ComponentWorkflowRunConfig defines the workflow configuration for execution.

func (*ComponentWorkflowRunConfig) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunConfig) DeepCopyInto added in v0.6.0

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

type ComponentWorkflowRunList added in v0.6.0

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

ComponentWorkflowRunList contains a list of ComponentWorkflowRun

func (*ComponentWorkflowRunList) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunList) DeepCopyInto added in v0.6.0

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

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

func (*ComponentWorkflowRunList) DeepCopyObject added in v0.6.0

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

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

type ComponentWorkflowRunSpec added in v0.6.0

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

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

	// TTLAfterCompletion defines the time-to-live for this workflow run after completion.
	// This value is copied from the ComponentWorkflow template.
	// Format: duration string supporting days, hours, minutes, seconds without spaces (e.g., "90d", "10d1h30m", "1h30m")
	// Examples: "90d", "10d", "1h30m", "30m", "1d12h30m15s"
	// +optional
	// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
	TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}

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

func (*ComponentWorkflowRunSpec) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunSpec) DeepCopyInto added in v0.6.0

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

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

type ComponentWorkflowRunStatus added in v0.6.0

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

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

	// RunReference contains a reference to the workflow run resource that was applied to the build plane cluster.
	// This tracks the actual workflow execution instance (e.g., Argo Workflow) in the target cluster.
	// +optional
	RunReference *ResourceReference `json:"runReference,omitempty"`

	// Resources contains references to additional resources applied to the build plane cluster.
	// These are tracked for cleanup when the ComponentWorkflowRun is deleted.
	// +optional
	Resources *[]ResourceReference `json:"resources,omitempty"`

	// Tasks contains the list of workflow tasks with their execution status.
	// This provides a vendor-neutral view of the workflow steps regardless of the underlying
	// workflow engine (e.g., Argo Workflows, Tekton).
	// Tasks are ordered by their execution sequence.
	// +optional
	Tasks []WorkflowTask `json:"tasks,omitempty"`

	// StartedAt is the timestamp when this workflow run started execution.
	// +optional
	StartedAt *metav1.Time `json:"startedAt,omitempty"`

	// CompletedAt is the timestamp when this workflow run finished execution (succeeded or failed).
	// This is used together with TTLAfterCompletion to determine when to delete the workflow run.
	// +optional
	CompletedAt *metav1.Time `json:"completedAt,omitempty"`
}

ComponentWorkflowRunStatus defines the observed state of ComponentWorkflowRun.

func (*ComponentWorkflowRunStatus) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowRunStatus) DeepCopyInto added in v0.6.0

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

type ComponentWorkflowSchema added in v0.6.0

type ComponentWorkflowSchema struct {
	// Types defines reusable type definitions that can be referenced in schema fields.
	// This is a nested map structure where keys are type names and values are type definitions.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Types *runtime.RawExtension `json:"types,omitempty"`

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

	// Parameters defines the flexible PE-defined schema for additional build configuration.
	// Platform Engineers have complete freedom to define any structure, types, and validation rules.
	//
	// This is a nested map structure where keys are field names and values are type definitions.
	// Type definition format: "type | default=value enum=val1,val2 minimum=N maximum=N"
	//
	// Supported types: string, integer, boolean, array<type>, object
	//
	// Example:
	//   parameters:
	//     version: 'integer | default=1 description="Build version"'
	//     testMode: "string | enum=unit,integration,none default=unit"
	//     resources:
	//       cpuCores: "integer | default=1 minimum=1 maximum=8"
	//       memoryGb: "integer | default=2 minimum=1 maximum=32"
	//     cache:
	//       enabled: "boolean | default=true"
	//       paths: "array<string> | default=["/root/.cache"]"
	//
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

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

func (*ComponentWorkflowSchema) DeepCopy added in v0.6.0

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

func (*ComponentWorkflowSchema) DeepCopyInto added in v0.6.0

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

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

func (*ComponentWorkflowSchema) GetTypes added in v0.9.0

GetTypes returns the types raw extension.

type ComponentWorkflowSpec added in v0.6.0

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

	// RunTemplate is the Kubernetes resource template to be rendered and applied to the build plane.
	// Template variables are substituted with context and parameter values.
	// Supported template variables:
	//   ${metadata.workflowRunName}  - ComponentWorkflowRun CR name
	//   ${metadata.componentName}    - Component name
	//   ${metadata.projectName}      - Project name
	//   ${metadata.namespaceName}    - Namespace
	//   ${systemParameters.*}        - System parameter values
	//   ${parameters.*}              - Developer parameter values
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	RunTemplate *runtime.RawExtension `json:"runTemplate"`

	// Resources are additional templates that generate Kubernetes resources dynamically
	// to be deployed alongside the workflow run (e.g., secrets, configmaps).
	// Template variables are substituted with context and parameter values.
	// +optional
	Resources []ComponentWorkflowResource `json:"resources,omitempty"`

	// TTLAfterCompletion defines the time-to-live for ComponentWorkflowRun instances after completion.
	// Once a ComponentWorkflowRun completes, it will be automatically deleted after this duration.
	// Format: duration string supporting days, hours, minutes, seconds without spaces (e.g., "90d", "10d1h30m", "1h30m")
	// Examples: "90d", "10d", "1h30m", "30m", "1d12h30m15s"
	// If empty, workflow runs are not automatically deleted.
	// +optional
	// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
	TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}

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 DataPlaneRef added in v0.15.0

type DataPlaneRef struct {
	// Kind is the kind of data plane (DataPlane or ClusterDataPlane)
	// +required
	Kind DataPlaneRefKind `json:"kind"`

	// Name is the name of the data plane resource
	// +required
	Name string `json:"name"`
}

DataPlaneRef represents a reference to a DataPlane or ClusterDataPlane

func (*DataPlaneRef) DeepCopy added in v0.15.0

func (in *DataPlaneRef) DeepCopy() *DataPlaneRef

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

func (*DataPlaneRef) DeepCopyInto added in v0.15.0

func (in *DataPlaneRef) DeepCopyInto(out *DataPlaneRef)

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

type DataPlaneRefKind added in v0.15.0

type DataPlaneRefKind string

DataPlaneRefKind defines the kind of data plane referenced by a DataPlaneRef +kubebuilder:validation:Enum=DataPlane;ClusterDataPlane

const (
	// DataPlaneRefKindDataPlane references a namespace-scoped DataPlane
	DataPlaneRefKindDataPlane DataPlaneRefKind = "DataPlane"

	// DataPlaneRefKindClusterDataPlane references a cluster-scoped ClusterDataPlane
	DataPlaneRefKindClusterDataPlane DataPlaneRefKind = "ClusterDataPlane"
)

type DataPlaneSpec

type DataPlaneSpec struct {

	// PlaneID identifies the logical plane this CR connects to.
	// Multiple DataPlane CRs can share the same planeID to connect to the same physical cluster
	// while maintaining separate configurations for multi-tenancy scenarios.
	// If not specified, defaults to the CR name for backwards compatibility.
	// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
	// Examples: "prod-cluster", "shared-dataplane", "us-east-1"
	// +optional
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	PlaneID string `json:"planeID,omitempty"`

	// ClusterAgent specifies the configuration for cluster agent-based communication
	// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
	// This field is mandatory - all data planes must use cluster agent communication
	ClusterAgent ClusterAgentConfig `json:"clusterAgent"`

	// Gateway specifies the configuration for the API gateway in this DataPlane.
	Gateway GatewaySpec `json:"gateway"`

	// ImagePullSecretRefs contains references to SecretReference resources
	// These will be converted to ExternalSecrets and added as imagePullSecrets to all deployments
	// +optional
	ImagePullSecretRefs []string `json:"imagePullSecretRefs,omitempty"`

	// SecretStoreRef specifies the ESO ClusterSecretStore to use in the data plane
	// +optional
	SecretStoreRef *SecretStoreRef `json:"secretStoreRef,omitempty"`

	// ObservabilityPlaneRef specifies the ObservabilityPlane or ClusterObservabilityPlane for this DataPlane.
	// If not specified, defaults to an ObservabilityPlane named "default" in the same namespace.
	// +optional
	ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}

DataPlaneSpec defines the desired state of a DataPlane.

func (*DataPlaneSpec) DeepCopy

func (in *DataPlaneSpec) DeepCopy() *DataPlaneSpec

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

func (*DataPlaneSpec) DeepCopyInto

func (in *DataPlaneSpec) DeepCopyInto(out *DataPlaneSpec)

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

type DataPlaneStatus

type DataPlaneStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	ObservedGeneration int64              `json:"observedGeneration,omitempty"`
	Conditions         []metav1.Condition `json:"conditions,omitempty"`

	// AgentConnection tracks the status of cluster agent connections to this data plane
	// +optional
	AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}

DataPlaneStatus defines the observed state of DataPlane.

func (*DataPlaneStatus) DeepCopy

func (in *DataPlaneStatus) DeepCopy() *DataPlaneStatus

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

func (*DataPlaneStatus) DeepCopyInto

func (in *DataPlaneStatus) DeepCopyInto(out *DataPlaneStatus)

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

type 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 EffectType added in v0.14.0

type EffectType string

EffectType defines whether to allow or deny access Used by AuthzRoleBinding and AuthzClusterRoleBinding +kubebuilder:validation:Enum=allow;deny

const (
	EffectAllow EffectType = "allow"
	EffectDeny  EffectType = "deny"
)

type EmailConfig added in v0.9.0

type EmailConfig struct {
	// From is the sender email address
	// Required when type is "email"
	// +kubebuilder:validation:Required
	From string `json:"from"`

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

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

	// Template defines the email template using CEL expressions
	// +kubebuilder:validation:Required
	Template *EmailTemplate `json:"template"`
}

EmailConfig defines the configuration for email notification channels

func (*EmailConfig) DeepCopy added in v0.9.0

func (in *EmailConfig) DeepCopy() *EmailConfig

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

func (*EmailConfig) DeepCopyInto added in v0.9.0

func (in *EmailConfig) DeepCopyInto(out *EmailConfig)

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

type EmailTemplate added in v0.9.0

type EmailTemplate struct {
	// Subject is the email subject line template using CEL expressions
	// Example: "[${alert.severity}] - ${alert.name} Triggered"
	// +kubebuilder:validation:Required
	Subject string `json:"subject"`

	// Body is the email body template using CEL expressions
	// Example: "Alert: ${alert.name} triggered at ${alert.startsAt}.\nSummary: ${alert.description}"
	// +kubebuilder:validation:Required
	Body string `json:"body"`
}

EmailTemplate defines the email template with CEL expressions

func (*EmailTemplate) DeepCopy added in v0.9.0

func (in *EmailTemplate) DeepCopy() *EmailTemplate

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

func (*EmailTemplate) DeepCopyInto added in v0.9.0

func (in *EmailTemplate) DeepCopyInto(out *EmailTemplate)

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

type EndpointAccess

type EndpointAccess struct {
	// Host is the hostname or service name
	Host string `json:"host"`

	// Port is the port number
	Port int32 `json:"port"`

	// Scheme is the connection scheme (http, https, grpc, tcp)
	// +optional
	Scheme string `json:"scheme,omitempty"`

	// BasePath is the base URL path (for HTTP-based endpoints)
	// +optional
	BasePath string `json:"basePath,omitempty"`

	// URI is the computed URI for connecting to the endpoint
	// This field is automatically generated from host, port, scheme, and basePath
	// Examples: https://api.example.com:8080/v1, grpc://service:5050, tcp://localhost:9000
	// +optional
	URI string `json:"uri,omitempty"`
}

EndpointAccess contains all the information needed to connect to an endpoint

func (*EndpointAccess) DeepCopy

func (in *EndpointAccess) DeepCopy() *EndpointAccess

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

func (*EndpointAccess) DeepCopyInto

func (in *EndpointAccess) DeepCopyInto(out *EndpointAccess)

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

type EndpointStatus

type EndpointStatus struct {
	// Name is the endpoint identifier matching spec.endpoints
	Name string `json:"name"`

	// Type is the endpoint type (uses EndpointType from endpoint_types.go)
	Type EndpointType `json:"type"`

	// Project contains access info for project-level visibility
	// +optional
	Project *EndpointAccess `json:"project,omitempty"`

	// Organization contains access info for organization-level visibility
	// +optional
	Organization *EndpointAccess `json:"organization,omitempty"`

	// Public contains access info for public visibility
	// +optional
	Public *EndpointAccess `json:"public,omitempty"`
}

EndpointStatus represents the observed state of an endpoint. Used by ServiceBinding, WebApplicationBinding, and other binding types. TODO: chathurangas: organization endpoint = inter-project endpoint. This is not being used. Refactor later

func (*EndpointStatus) DeepCopy

func (in *EndpointStatus) DeepCopy() *EndpointStatus

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

func (*EndpointStatus) DeepCopyInto

func (in *EndpointStatus) DeepCopyInto(out *EndpointStatus)

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

type EndpointType

type EndpointType string

EndpointType defines the different API technologies supported by the endpoint

const (
	EndpointTypeHTTP      EndpointType = "HTTP"
	EndpointTypeREST      EndpointType = "REST"
	EndpointTypeGraphQL   EndpointType = "GraphQL"
	EndpointTypeWebsocket EndpointType = "Websocket"
	EndpointTypeGRPC      EndpointType = "gRPC"
	EndpointTypeTCP       EndpointType = "TCP"
	EndpointTypeUDP       EndpointType = "UDP"
)

func (EndpointType) String

func (e EndpointType) String() string

type EndpointURLStatus added in v0.15.0

type EndpointURLStatus struct {
	// Name is the endpoint name as defined in the Workload spec.
	Name string `json:"name"`

	// InvokeURL is the resolved public URL for this endpoint, derived from the
	// rendered HTTPRoute whose backendRef port matches the endpoint port.
	InvokeURL string `json:"invokeURL"`
}

EndpointURLStatus holds the resolved invoke URL for a single named workload endpoint.

func (*EndpointURLStatus) DeepCopy added in v0.15.0

func (in *EndpointURLStatus) DeepCopy() *EndpointURLStatus

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

func (*EndpointURLStatus) DeepCopyInto added in v0.15.0

func (in *EndpointURLStatus) DeepCopyInto(out *EndpointURLStatus)

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

type EndpointVisibility added in v0.15.0

type EndpointVisibility string

EndpointVisibility defines the visibility scope for an endpoint. It determines which components can access the endpoint and how that access is enforced at runtime. +kubebuilder:validation:Enum=project;namespace;internal;external

const (
	// EndpointVisibilityProject makes the endpoint accessible only within the same project and environment.
	EndpointVisibilityProject EndpointVisibility = "project"

	// EndpointVisibilityNamespace makes the endpoint accessible across all projects in the same namespace and environment.
	EndpointVisibilityNamespace EndpointVisibility = "namespace"

	// EndpointVisibilityInternal makes the endpoint accessible across all namespaces in the deployment (intranet).
	EndpointVisibilityInternal EndpointVisibility = "internal"

	// EndpointVisibilityExternal makes the endpoint accessible from outside the deployment, including public internet.
	EndpointVisibilityExternal EndpointVisibility = "external"
)

type EntitlementClaim added in v0.14.0

type EntitlementClaim struct {
	// Claim is the JWT claim name (e.g., "groups", "sub", "email")
	// +required
	Claim string `json:"claim"`

	// Value is the entitlement value to match
	// +required
	Value string `json:"value"`
}

EntitlementClaim represents a claim-value pair for subject identification Used by AuthzRoleBinding and AuthzClusterRoleBinding

func (*EntitlementClaim) DeepCopy added in v0.14.0

func (in *EntitlementClaim) DeepCopy() *EntitlementClaim

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

func (*EntitlementClaim) DeepCopyInto added in v0.14.0

func (in *EntitlementClaim) DeepCopyInto(out *EntitlementClaim)

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

type EnvVar

type EnvVar struct {
	// The environment variable key.
	// +required
	Key string `json:"key"`

	// The literal value of the environment variable.
	// Mutually exclusive with valueFrom.
	// +optional
	Value string `json:"value,omitempty"`

	// Extract the environment variable value from another resource.
	// Mutually exclusive with value.
	// +optional
	ValueFrom *EnvVarValueFrom `json:"valueFrom,omitempty"`
}

EnvVar represents an environment variable present in the container.

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 or ClusterDataPlane for this environment.
	// If not specified, defaults to a DataPlane named "default" in the same namespace.
	// Immutable once set.
	DataPlaneRef *DataPlaneRef `json:"dataPlaneRef,omitempty"`
	IsProduction bool          `json:"isProduction,omitempty"`
	Gateway      GatewaySpec   `json:"gateway,omitempty"`
}

EnvironmentSpec defines the desired state of Environment. +kubebuilder:validation:XValidation:rule="!has(oldSelf.dataPlaneRef) || oldSelf.dataPlaneRef == self.dataPlaneRef",message="dataPlaneRef is immutable once set"

func (*EnvironmentSpec) DeepCopy

func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec

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

func (*EnvironmentSpec) DeepCopyInto

func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)

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

type EnvironmentStatus

type EnvironmentStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	ObservedGeneration int64              `json:"observedGeneration,omitempty"`
	Conditions         []metav1.Condition `json:"conditions,omitempty"`
}

EnvironmentStatus defines the observed state of Environment.

func (*EnvironmentStatus) DeepCopy

func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus

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

func (*EnvironmentStatus) DeepCopyInto

func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)

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

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

type GatewaySpec struct {
	// Public virtual host for the gateway
	PublicVirtualHost string `json:"publicVirtualHost"`
	// Organization-specific virtual host for the gateway
	// +optional
	OrganizationVirtualHost string `json:"organizationVirtualHost,omitempty"`
	// Public HTTP port for the gateway
	// +optional
	// +kubebuilder:default=19080
	PublicHTTPPort int32 `json:"publicHTTPPort,omitempty"`
	// Public HTTPS port for the gateway
	// +optional
	// +kubebuilder:default=19443
	PublicHTTPSPort int32 `json:"publicHTTPSPort,omitempty"`
	// Organization HTTP port for the gateway
	// +optional
	// +kubebuilder:default=19081
	OrganizationHTTPPort int32 `json:"organizationHTTPPort,omitempty"`
	// Organization HTTPS port for the gateway
	// +optional
	// +kubebuilder:default=19444
	OrganizationHTTPSPort int32 `json:"organizationHTTPSPort,omitempty"`
	// PublicGatewayName is the name of the public Gateway resource.
	// +optional
	// +kubebuilder:default=gateway-default
	PublicGatewayName string `json:"publicGatewayName,omitempty"`
	// PublicGatewayNamespace is the namespace of the public Gateway resource.
	// +optional
	// +kubebuilder:default=openchoreo-data-plane
	PublicGatewayNamespace string `json:"publicGatewayNamespace,omitempty"`
	// OrganizationGatewayName is the name of the organization Gateway resource.
	// +optional
	// +kubebuilder:default=gateway-default
	OrganizationGatewayName string `json:"organizationGatewayName,omitempty"`
	// OrganizationGatewayNamespace is the namespace of the organization Gateway resource.
	// +optional
	// +kubebuilder:default=openchoreo-data-plane
	OrganizationGatewayNamespace string `json:"organizationGatewayNamespace,omitempty"`
}

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

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

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

func (*GatewaySpec) DeepCopyInto

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

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

type GitAuthentication

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

GitAuthentication defines the authentication configuration for Git

func (*GitAuthentication) DeepCopy

func (in *GitAuthentication) DeepCopy() *GitAuthentication

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

func (*GitAuthentication) DeepCopyInto

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

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

type GitCommitAuthor

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

func (*GitCommitAuthor) DeepCopy

func (in *GitCommitAuthor) DeepCopy() *GitCommitAuthor

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

func (*GitCommitAuthor) DeepCopyInto

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

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

type GitCommitRequest

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

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

GitCommitRequest is the Schema for the gitcommitrequests API.

func (*GitCommitRequest) DeepCopy

func (in *GitCommitRequest) DeepCopy() *GitCommitRequest

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

func (*GitCommitRequest) DeepCopyInto

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

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

func (*GitCommitRequest) DeepCopyObject

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

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

type GitCommitRequestList

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

GitCommitRequestList contains a list of GitCommitRequest.

func (*GitCommitRequestList) DeepCopy

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

func (*GitCommitRequestList) DeepCopyInto

func (in *GitCommitRequestList) DeepCopyInto(out *GitCommitRequestList)

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

func (*GitCommitRequestList) DeepCopyObject

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

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

type GitCommitRequestSpec

type GitCommitRequestSpec struct {

	// HTTPS or SSH URL of the repo, e.g. https://github.com/org/repo.git
	RepoURL string `json:"repoURL"`
	// Branch to commit into
	Branch string `json:"branch,omitempty"`
	// The commit message
	Message string `json:"message"`
	// Author information for the commit
	Author GitCommitAuthor `json:"author,omitempty"`
	// Reference to a Secret that contains write credentials
	// data["username"], data["password"] for HTTPS  **or**
	// data["ssh-privatekey"] for SSH
	AuthSecretRef string `json:"authSecretRef,omitempty"`
	// Files to create or patch
	Files []FileEdit `json:"files"`
}

GitCommitRequestSpec defines the desired state of GitCommitRequest.

func (*GitCommitRequestSpec) DeepCopy

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

func (*GitCommitRequestSpec) DeepCopyInto

func (in *GitCommitRequestSpec) DeepCopyInto(out *GitCommitRequestSpec)

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

type GitCommitRequestStatus

type GitCommitRequestStatus struct {
	Phase          string `json:"phase,omitempty"`          // Pending|Succeeded|Failed
	ObservedSHA    string `json:"observedSHA,omitempty"`    // last commit SHA
	ObservedBranch string `json:"observedBranch,omitempty"` // branch we pushed
	Message        string `json:"message,omitempty"`
}

GitCommitRequestStatus defines the observed state of GitCommitRequest.

func (*GitCommitRequestStatus) DeepCopy

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

func (*GitCommitRequestStatus) DeepCopyInto

func (in *GitCommitRequestStatus) DeepCopyInto(out *GitCommitRequestStatus)

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

type GitRepository

type GitRepository struct {
	// URL the Git repository URL
	// Examples:
	// - https://github.com/jhonb2077/customer-service
	// - https://gitlab.com/jhonb2077/customer-service
	URL string `json:"url"`

	// Authentication the authentication information to access the Git repository
	// If not provided, the Git repository should be public
	Authentication GitAuthentication `json:"authentication,omitempty"`
}

GitRepository defines the Git repository configuration

func (*GitRepository) DeepCopy

func (in *GitRepository) DeepCopy() *GitRepository

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

func (*GitRepository) DeepCopyInto

func (in *GitRepository) DeepCopyInto(out *GitRepository)

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

type HealthStatus

type HealthStatus string

HealthStatus represents the health of a resource

const (
	// HealthStatusUnknown indicates that the health of the resource is not known.
	HealthStatusUnknown HealthStatus = "Unknown"
	// HealthStatusProgressing indicates that the resource is in a transitioning state to become healthy.
	HealthStatusProgressing HealthStatus = "Progressing"
	// HealthStatusHealthy indicates that the resource is healthy and operating as expected.
	HealthStatusHealthy HealthStatus = "Healthy"
	// HealthStatusSuspended indicates that the resource is intentionally paused such as CronJob, Deployment with paused rollout, etc.
	HealthStatusSuspended HealthStatus = "Suspended"
	// HealthStatusDegraded indicates that the resource is not healthy and not operating as expected.
	HealthStatusDegraded HealthStatus = "Degraded"
)

type Image

type Image struct {
	Image string `json:"image"`
}

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

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

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

type JSONPatchOperation added in v0.4.0

type JSONPatchOperation struct {
	// Op is the operation type
	// Standard operations: add, replace, remove (RFC 6902)
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=add;replace;remove
	Op string `json:"op"`

	// Path is the JSON Pointer to the field to modify (RFC 6901)
	// Supports array filters: /spec/containers/[?(@.name=='app')]/volumeMounts/-
	// +kubebuilder:validation:Required
	Path string `json:"path"`

	// Value is the value to set (for add/replace operations)
	// Not used for remove operations
	// Can be a literal value, a structure with embedded CEL expressions,
	// or a standalone CEL expression.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Value *runtime.RawExtension `json:"value,omitempty"`
}

JSONPatchOperation defines a JSONPatch operation Supports standard operations (add, replace, remove) for map overlays

func (*JSONPatchOperation) DeepCopy added in v0.4.0

func (in *JSONPatchOperation) DeepCopy() *JSONPatchOperation

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

func (*JSONPatchOperation) DeepCopyInto added in v0.4.0

func (in *JSONPatchOperation) DeepCopyInto(out *JSONPatchOperation)

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

type LatestRelease added in v0.5.0

type LatestRelease struct {
	// Name of the ComponentRelease resource
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// ReleaseHash record the hash value of the spec of ComponentRelease.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	ReleaseHash string `json:"releaseHash,omitempty"`
}

LatestRelease has name and generated hash of the latest ComponentRelease spec

func (*LatestRelease) DeepCopy added in v0.5.0

func (in *LatestRelease) DeepCopy() *LatestRelease

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

func (*LatestRelease) DeepCopyInto added in v0.5.0

func (in *LatestRelease) DeepCopyInto(out *LatestRelease)

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

type NotificationChannelConfig added in v0.9.0

type NotificationChannelConfig struct {
	// EmailConfig is embedded to allow direct access to email fields at the config level
	// +optional
	EmailConfig `json:",inline"`

	// WebhookConfig is embedded to allow direct access to webhook fields at the config level
	// +optional
	WebhookConfig `json:",inline"`
}

NotificationChannelConfig is deprecated. Use EmailConfig and WebhookConfig directly in the spec instead. This type is kept for backward compatibility but should not be used in new code.

func (*NotificationChannelConfig) DeepCopy added in v0.9.0

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

func (*NotificationChannelConfig) DeepCopyInto added in v0.9.0

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

type NotificationChannelType added in v0.9.0

type NotificationChannelType string

NotificationChannelType defines the type of notification channel Currently "email" and "webhook" are supported. Other channel types will be added in the future. +kubebuilder:validation:Enum=email;webhook

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

type ObservabilityAlertCondition added in v0.9.0

type ObservabilityAlertCondition struct {
	// Window is the time window that is aggregated before a comparison is made.
	// +kubebuilder:validation:Required
	Window metav1.Duration `json:"window"`

	// Interval dictates how often the alert rule is evaluated.
	// +kubebuilder:validation:Required
	Interval metav1.Duration `json:"interval"`

	// Operator describes the comparison used when evaluating the threshold.
	// +kubebuilder:validation:Required
	Operator ObservabilityAlertConditionOperator `json:"operator"`

	// Threshold is the trigger value for the configured operator.
	// +kubebuilder:validation:Required
	Threshold int64 `json:"threshold"`
}

ObservabilityAlertCondition represents the evaluation window of the alert.

func (*ObservabilityAlertCondition) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertCondition) DeepCopyInto added in v0.9.0

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

type ObservabilityAlertConditionOperator added in v0.9.0

type ObservabilityAlertConditionOperator string

ObservabilityAlertConditionOperator describes how a computed signal is evaluated. +kubebuilder:validation:Enum=gt;lt;gte;lte;eq

const (
	// ObservabilityAlertConditionOperatorGt triggers when value is greater than threshold.
	ObservabilityAlertConditionOperatorGt ObservabilityAlertConditionOperator = "gt"
	// ObservabilityAlertConditionOperatorLt triggers when value is less than threshold.
	ObservabilityAlertConditionOperatorLt ObservabilityAlertConditionOperator = "lt"
	// ObservabilityAlertConditionOperatorGte triggers when value is greater than or equal to threshold.
	ObservabilityAlertConditionOperatorGte ObservabilityAlertConditionOperator = "gte"
	// ObservabilityAlertConditionOperatorLte triggers when value is less than or equal to threshold.
	ObservabilityAlertConditionOperatorLte ObservabilityAlertConditionOperator = "lte"
	// ObservabilityAlertConditionOperatorEq triggers when value equals the threshold value.
	ObservabilityAlertConditionOperatorEq ObservabilityAlertConditionOperator = "eq"
)

type ObservabilityAlertRule added in v0.9.0

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

	Spec   ObservabilityAlertRuleSpec   `json:"spec,omitempty"`
	Status ObservabilityAlertRuleStatus `json:"status,omitempty"`
}

ObservabilityAlertRule is the Schema for the observabilityalertrules API.

func (*ObservabilityAlertRule) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertRule) DeepCopyInto added in v0.9.0

func (in *ObservabilityAlertRule) DeepCopyInto(out *ObservabilityAlertRule)

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

func (*ObservabilityAlertRule) DeepCopyObject added in v0.9.0

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

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

type ObservabilityAlertRuleList added in v0.9.0

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

ObservabilityAlertRuleList contains a list of ObservabilityAlertRule.

func (*ObservabilityAlertRuleList) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertRuleList) DeepCopyInto added in v0.9.0

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

func (*ObservabilityAlertRuleList) DeepCopyObject added in v0.9.0

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

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

type ObservabilityAlertRulePhase added in v0.9.0

type ObservabilityAlertRulePhase string

ObservabilityAlertRulePhase represents the current phase of the rule.

const (
	// ObservabilityAlertRulePhasePending means the rule is being reconciled.
	ObservabilityAlertRulePhasePending ObservabilityAlertRulePhase = "Pending"
	// ObservabilityAlertRulePhaseReady means the rule is active and ready.
	ObservabilityAlertRulePhaseReady ObservabilityAlertRulePhase = "Ready"
	// ObservabilityAlertRulePhaseError means the rule encountered an error.
	ObservabilityAlertRulePhaseError ObservabilityAlertRulePhase = "Error"
)

type ObservabilityAlertRuleSpec added in v0.9.0

type ObservabilityAlertRuleSpec struct {
	// Name identifies the alert rule when defined as a Trait.
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Description is a human-friendly summary of the alert rule.
	// +optional
	Description string `json:"description,omitempty"`

	// Severity describes how urgent the alert is.
	// +optional
	Severity ObservabilityAlertSeverity `json:"severity,omitempty"`

	// Enabled toggles whether this alert rule should be evaluated.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// EnableAiRootCauseAnalysis allows an attached AI engine to attempt root cause analysis when the rule fires.
	// +optional
	EnableAiRootCauseAnalysis bool `json:"enableAiRootCauseAnalysis,omitempty"`

	// NotificationChannel references the alerts notification channel that should receive the alert.
	// +kubebuilder:validation:Required
	NotificationChannel string `json:"notificationChannel,omitempty"`

	// Source specifies the origin and query that drives the rule.
	// +kubebuilder:validation:Required
	Source ObservabilityAlertSource `json:"source"`

	// Condition controls how the rule should be evaluated against the source.
	// +kubebuilder:validation:Required
	Condition ObservabilityAlertCondition `json:"condition"`
}

ObservabilityAlertRuleSpec defines the desired state of ObservabilityAlertRule.

func (*ObservabilityAlertRuleSpec) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertRuleSpec) DeepCopyInto added in v0.9.0

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

type ObservabilityAlertRuleStatus added in v0.9.0

type ObservabilityAlertRuleStatus struct {
	// ObservedGeneration represents the .metadata.generation that the controller last handled.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Phase indicates the current lifecycle phase.
	// +optional
	Phase ObservabilityAlertRulePhase `json:"phase,omitempty"`

	// LastReconcileTime records the last time the controller reconciled this object.
	// +optional
	LastReconcileTime *metav1.Time `json:"lastReconcileTime,omitempty"`

	// LastSyncTime records when the rule was pushed to the backend observability tool.
	// +optional
	LastSyncTime *metav1.Time `json:"lastSyncTime,omitempty"`

	// BackendMonitorID is the identifier assigned by the backend observability tool.
	// +optional
	BackendMonitorID string `json:"backendMonitorId,omitempty"`

	// Conditions describe the latest observations of the rule's state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ObservabilityAlertRuleStatus defines the observed state of ObservabilityAlertRule.

func (*ObservabilityAlertRuleStatus) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertRuleStatus) DeepCopyInto added in v0.9.0

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

type ObservabilityAlertSeverity added in v0.9.0

type ObservabilityAlertSeverity string

ObservabilityAlertSeverity describes the seriousness of an alert.

const (
	// ObservabilityAlertSeverityInfo indicates informational alerts.
	ObservabilityAlertSeverityInfo ObservabilityAlertSeverity = "info"
	// ObservabilityAlertSeverityWarning indicates warning-level alerts.
	ObservabilityAlertSeverityWarning ObservabilityAlertSeverity = "warning"
	// ObservabilityAlertSeverityCritical indicates critical alerts.
	ObservabilityAlertSeverityCritical ObservabilityAlertSeverity = "critical"
)

type ObservabilityAlertSource added in v0.9.0

type ObservabilityAlertSource struct {
	// Type specifies the telemetry source type (log, metric).
	// +kubebuilder:validation:Required
	Type ObservabilityAlertSourceType `json:"type"`

	// Query defines the query or filter to locate relevant events.
	// This is required for log-based alerting.
	// +optional
	Query string `json:"query,omitempty"`

	// Metric specifies the metric to alert on.
	// This is required for metric-based alerting.
	// +optional
	Metric string `json:"metric,omitempty"`
}

ObservabilityAlertSource describes where and how events are pulled for evaluation.

func (*ObservabilityAlertSource) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertSource) DeepCopyInto added in v0.9.0

func (in *ObservabilityAlertSource) DeepCopyInto(out *ObservabilityAlertSource)

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

type ObservabilityAlertSourceType added in v0.9.0

type ObservabilityAlertSourceType string

ObservabilityAlertSourceType identifies the origin of the telemetry data. +kubebuilder:validation:Enum=log;metric

const (
	// ObservabilityAlertSourceTypeLog represents log-based alerting.
	ObservabilityAlertSourceTypeLog ObservabilityAlertSourceType = "log"
	// ObservabilityAlertSourceTypeMetric represents metric-based alerting.
	ObservabilityAlertSourceTypeMetric ObservabilityAlertSourceType = "metric"
)

type ObservabilityAlertsNotificationChannel added in v0.9.0

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

	Spec   ObservabilityAlertsNotificationChannelSpec   `json:"spec,omitempty"`
	Status ObservabilityAlertsNotificationChannelStatus `json:"status,omitempty"`
}

ObservabilityAlertsNotificationChannel is the Schema for the observabilityalertsnotificationchannels API. It defines a channel for sending alert notifications. Currently email and webhook notifications are supported.

func (*ObservabilityAlertsNotificationChannel) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertsNotificationChannel) DeepCopyInto added in v0.9.0

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

func (*ObservabilityAlertsNotificationChannel) DeepCopyObject added in v0.9.0

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

type ObservabilityAlertsNotificationChannelList added in v0.9.0

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

ObservabilityAlertsNotificationChannelList contains a list of ObservabilityAlertsNotificationChannel.

func (*ObservabilityAlertsNotificationChannelList) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertsNotificationChannelList) DeepCopyInto added in v0.9.0

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

func (*ObservabilityAlertsNotificationChannelList) DeepCopyObject added in v0.9.0

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

type ObservabilityAlertsNotificationChannelSpec added in v0.9.0

type ObservabilityAlertsNotificationChannelSpec struct {

	// Environment is the name of the openchoreo environment this notification channel belongs to
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.environment is immutable"
	Environment string `json:"environment"`

	// IsEnvDefault indicates if this is the default notification channel for the environment
	// There can be only one default notification channel for an environment
	// First notification channel created for an environment will be the default unless otherwise specified
	// +kubebuilder:default=false
	IsEnvDefault bool `json:"isEnvDefault,omitempty"`

	// Type specifies the type of notification channel
	// Currently "email" and "webhook" are supported
	// +kubebuilder:validation:Required
	Type NotificationChannelType `json:"type"`

	// EmailConfig contains the email notification channel configuration
	// Required when type is "email"
	// +optional
	EmailConfig *EmailConfig `json:"emailConfig,omitempty"`

	// WebhookConfig contains the webhook notification channel configuration
	// Required when type is "webhook"
	// +optional
	WebhookConfig *WebhookConfig `json:"webhookConfig,omitempty"`
}

ObservabilityAlertsNotificationChannelSpec defines the desired state of ObservabilityAlertsNotificationChannel. +kubebuilder:validation:XValidation:rule="self.type == 'email' ? has(self.emailConfig) : true",message="emailConfig is required when type is email" +kubebuilder:validation:XValidation:rule="self.type == 'webhook' ? has(self.webhookConfig) : true",message="webhookConfig is required when type is webhook"

func (*ObservabilityAlertsNotificationChannelSpec) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertsNotificationChannelSpec) DeepCopyInto added in v0.9.0

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

type ObservabilityAlertsNotificationChannelStatus added in v0.9.0

type ObservabilityAlertsNotificationChannelStatus struct {
}

ObservabilityAlertsNotificationChannelStatus defines the observed state of ObservabilityAlertsNotificationChannel.

func (*ObservabilityAlertsNotificationChannelStatus) DeepCopy added in v0.9.0

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

func (*ObservabilityAlertsNotificationChannelStatus) DeepCopyInto added in v0.9.0

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

type ObservabilityPlane added in v0.8.0

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

	Spec   ObservabilityPlaneSpec   `json:"spec,omitempty"`
	Status ObservabilityPlaneStatus `json:"status,omitempty"`
}

ObservabilityPlane is the Schema for the observabilityplanes API.

func (*ObservabilityPlane) DeepCopy added in v0.8.0

func (in *ObservabilityPlane) DeepCopy() *ObservabilityPlane

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

func (*ObservabilityPlane) DeepCopyInto added in v0.8.0

func (in *ObservabilityPlane) DeepCopyInto(out *ObservabilityPlane)

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

func (*ObservabilityPlane) DeepCopyObject added in v0.8.0

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

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

type ObservabilityPlaneList added in v0.8.0

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

ObservabilityPlaneList contains a list of ObservabilityPlane.

func (*ObservabilityPlaneList) DeepCopy added in v0.8.0

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

func (*ObservabilityPlaneList) DeepCopyInto added in v0.8.0

func (in *ObservabilityPlaneList) DeepCopyInto(out *ObservabilityPlaneList)

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

func (*ObservabilityPlaneList) DeepCopyObject added in v0.8.0

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

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

type ObservabilityPlaneRef added in v0.15.0

type ObservabilityPlaneRef struct {
	// Kind is the kind of observability plane (ObservabilityPlane or ClusterObservabilityPlane)
	// +required
	Kind ObservabilityPlaneRefKind `json:"kind"`

	// Name is the name of the observability plane resource
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	Name string `json:"name"`
}

ObservabilityPlaneRef represents a reference to an ObservabilityPlane or ClusterObservabilityPlane

func (*ObservabilityPlaneRef) DeepCopy added in v0.15.0

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

func (*ObservabilityPlaneRef) DeepCopyInto added in v0.15.0

func (in *ObservabilityPlaneRef) DeepCopyInto(out *ObservabilityPlaneRef)

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

type ObservabilityPlaneRefKind added in v0.15.0

type ObservabilityPlaneRefKind string

ObservabilityPlaneRefKind defines the kind of observability plane referenced +kubebuilder:validation:Enum=ObservabilityPlane;ClusterObservabilityPlane

const (
	// ObservabilityPlaneRefKindObservabilityPlane references a namespace-scoped ObservabilityPlane
	ObservabilityPlaneRefKindObservabilityPlane ObservabilityPlaneRefKind = "ObservabilityPlane"

	// ObservabilityPlaneRefKindClusterObservabilityPlane references a cluster-scoped ClusterObservabilityPlane
	ObservabilityPlaneRefKindClusterObservabilityPlane ObservabilityPlaneRefKind = "ClusterObservabilityPlane"
)

type ObservabilityPlaneSpec added in v0.8.0

type ObservabilityPlaneSpec struct {

	// PlaneID identifies the logical plane this CR connects to.
	// Multiple ObservabilityPlane CRs can share the same planeID to connect to the same physical cluster
	// while maintaining separate configurations for multi-tenancy scenarios.
	// If not specified, defaults to the CR name for backwards compatibility.
	// Format: lowercase alphanumeric characters, hyphens allowed, max 63 characters.
	// Examples: "shared-obs", "monitoring-cluster", "eu-central-1"
	// +optional
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	PlaneID string `json:"planeID,omitempty"`

	// ClusterAgent specifies the configuration for cluster agent-based communication
	// The cluster agent establishes a WebSocket connection to the control plane's cluster gateway
	// This field is mandatory - all observability planes must use cluster agent communication
	ClusterAgent ClusterAgentConfig `json:"clusterAgent"`

	// ObserverURL is the base URL of the Observer API in the observability plane cluster
	// +required
	ObserverURL string `json:"observerURL"`

	// RCAAgentURL is the base URL of the RCA Agent API in the observability plane cluster
	// +optional
	RCAAgentURL string `json:"rcaAgentURL,omitempty"`
}

ObservabilityPlaneSpec defines the desired state of ObservabilityPlane.

func (*ObservabilityPlaneSpec) DeepCopy added in v0.8.0

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

func (*ObservabilityPlaneSpec) DeepCopyInto added in v0.8.0

func (in *ObservabilityPlaneSpec) DeepCopyInto(out *ObservabilityPlaneSpec)

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

type ObservabilityPlaneStatus added in v0.8.0

type ObservabilityPlaneStatus struct {

	// ObservedGeneration is the generation observed by the controller
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the ObservabilityPlane's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// AgentConnection tracks the status of cluster agent connections to this observability plane
	// +optional
	AgentConnection *AgentConnectionStatus `json:"agentConnection,omitempty"`
}

ObservabilityPlaneStatus defines the observed state of ObservabilityPlane.

func (*ObservabilityPlaneStatus) DeepCopy added in v0.8.0

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

func (*ObservabilityPlaneStatus) DeepCopyInto added in v0.8.0

func (in *ObservabilityPlaneStatus) DeepCopyInto(out *ObservabilityPlaneStatus)

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

type Parameter

type Parameter struct {
	// Name is the parameter name
	Name string `json:"name"`

	// Value is the parameter value
	Value string `json:"value"`
}

Parameter defines a template parameter

func (*Parameter) DeepCopy

func (in *Parameter) DeepCopy() *Parameter

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

func (*Parameter) DeepCopyInto

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

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

type PatchTarget added in v0.4.0

type PatchTarget struct {
	// Group is the API group of the resource (e.g., "apps", "batch")
	// Must be explicitly set. Use empty string "" for core API resources (v1 Service, ConfigMap, etc.)
	// +kubebuilder:validation:Required
	Group string `json:"group"`

	// Version is the API version of the resource (e.g., "v1", "v1beta1")
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Version string `json:"version"`

	// Kind is the resource type to patch (e.g., "Deployment", "StatefulSet")
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Where is an optional CEL expression to filter which resources to patch
	// Example: ${resource.metadata.name.endsWith("-secret-envs")}
	// +optional
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	Where string `json:"where,omitempty"`
}

PatchTarget specifies which resource to modify

func (*PatchTarget) DeepCopy added in v0.4.0

func (in *PatchTarget) DeepCopy() *PatchTarget

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

func (*PatchTarget) DeepCopyInto added in v0.4.0

func (in *PatchTarget) DeepCopyInto(out *PatchTarget)

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

type Project

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

	Spec   ProjectSpec   `json:"spec,omitempty"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project is the Schema for the projects API.

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

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

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

func (*Project) DeepCopyObject

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

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

func (*Project) GetConditions

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

func (*Project) SetConditions

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

type ProjectList

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

ProjectList contains a list of Project.

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

type ProjectSpec

type ProjectSpec struct {
	// DeploymentPipelineRef references the DeploymentPipeline that defines the environments
	// and deployment progression for components in this project.
	DeploymentPipelineRef string `json:"deploymentPipelineRef"`

	// BuildPlaneRef references the BuildPlane or ClusterBuildPlane for this project's build operations.
	// If not specified, the controller resolves the build plane in the following order:
	// 1. BuildPlane named "default" in the same namespace
	// 2. ClusterBuildPlane named "default" (cluster-scoped fallback)
	// 3. First available BuildPlane in the namespace
	// +optional
	BuildPlaneRef *BuildPlaneRef `json:"buildPlaneRef,omitempty"`
}

ProjectSpec defines the desired state of Project.

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

type ProjectStatus

type ProjectStatus struct {
	// ObservedGeneration reflects the generation of the most recently observed Project.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the current state of the Project resource.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ProjectStatus defines the observed state of Project.

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

type PromotionPath

type PromotionPath struct {
	// SourceEnvironmentRef is the reference to the source environment
	SourceEnvironmentRef string `json:"sourceEnvironmentRef"`
	// TargetEnvironmentRefs is the list of target environments and their approval requirements
	TargetEnvironmentRefs []TargetEnvironmentRef `json:"targetEnvironmentRefs"`
}

PromotionPath defines a path for promoting between environments

func (*PromotionPath) DeepCopy

func (in *PromotionPath) DeepCopy() *PromotionPath

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

func (*PromotionPath) DeepCopyInto

func (in *PromotionPath) DeepCopyInto(out *PromotionPath)

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

type RegistryAuthentication

type RegistryAuthentication struct {
	// Reference to the secret that contains the container registry authentication info.
	SecretRef string `json:"secretRef,omitempty"`
}

RegistryAuthentication defines the authentication configuration for container registry

func (*RegistryAuthentication) DeepCopy

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

func (*RegistryAuthentication) DeepCopyInto

func (in *RegistryAuthentication) DeepCopyInto(out *RegistryAuthentication)

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

type Release

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

	Spec   ReleaseSpec   `json:"spec,omitempty"`
	Status ReleaseStatus `json:"status,omitempty"`
}

Release is the Schema for the releases API.

func (*Release) DeepCopy

func (in *Release) DeepCopy() *Release

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

func (*Release) DeepCopyInto

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

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

func (*Release) DeepCopyObject

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

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

func (*Release) GetConditions

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

GetConditions returns the conditions from the status

func (*Release) SetConditions

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

SetConditions sets the conditions in the status

type ReleaseBinding added in v0.5.0

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

	Spec   ReleaseBindingSpec   `json:"spec,omitempty"`
	Status ReleaseBindingStatus `json:"status,omitempty"`
}

ReleaseBinding is the Schema for the releasebindings API.

func (*ReleaseBinding) DeepCopy added in v0.5.0

func (in *ReleaseBinding) DeepCopy() *ReleaseBinding

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

func (*ReleaseBinding) DeepCopyInto added in v0.5.0

func (in *ReleaseBinding) DeepCopyInto(out *ReleaseBinding)

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

func (*ReleaseBinding) DeepCopyObject added in v0.5.0

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

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

func (*ReleaseBinding) GetConditions added in v0.5.0

func (r *ReleaseBinding) GetConditions() []metav1.Condition

GetConditions returns the conditions from the status

func (*ReleaseBinding) SetConditions added in v0.5.0

func (r *ReleaseBinding) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions in the status

type ReleaseBindingList added in v0.5.0

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

ReleaseBindingList contains a list of ReleaseBinding.

func (*ReleaseBindingList) DeepCopy added in v0.5.0

func (in *ReleaseBindingList) DeepCopy() *ReleaseBindingList

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

func (*ReleaseBindingList) DeepCopyInto added in v0.5.0

func (in *ReleaseBindingList) DeepCopyInto(out *ReleaseBindingList)

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

func (*ReleaseBindingList) DeepCopyObject added in v0.5.0

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

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

type ReleaseBindingOwner added in v0.5.0

type ReleaseBindingOwner struct {
	// ProjectName is the name of the project that owns this component
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ProjectName string `json:"projectName"`

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

ReleaseBindingOwner identifies the component this ReleaseBinding belongs to

func (*ReleaseBindingOwner) DeepCopy added in v0.5.0

func (in *ReleaseBindingOwner) DeepCopy() *ReleaseBindingOwner

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

func (*ReleaseBindingOwner) DeepCopyInto added in v0.5.0

func (in *ReleaseBindingOwner) DeepCopyInto(out *ReleaseBindingOwner)

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

type ReleaseBindingSpec added in v0.5.0

type ReleaseBindingSpec struct {
	// Owner identifies the component and project this ReleaseBinding belongs to
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.owner is immutable"
	Owner ReleaseBindingOwner `json:"owner"`

	// EnvironmentName is the name of the environment this binds the ComponentRelease to
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.environment is immutable"
	Environment string `json:"environment"`

	// ReleaseName is the name of the ComponentRelease to bind
	// When ComponentSpec.AutoDeploy is enabled, this field will be handled by the controller
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// ComponentTypeEnvOverrides for ComponentType envOverrides parameters
	// These values override the defaults defined in the Component for this specific environment
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	ComponentTypeEnvOverrides *runtime.RawExtension `json:"componentTypeEnvOverrides,omitempty"`

	// TraitOverrides provides environment-specific overrides for trait configurations
	// Keyed by instanceName (which must be unique across all traits in the component)
	// Structure: map[instanceName]overrideValues
	// +optional
	TraitOverrides map[string]runtime.RawExtension `json:"traitOverrides,omitempty"`

	// WorkloadOverrides provides environment-specific overrides for the entire workload spec
	// These values override the workload specification for this specific environment
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	WorkloadOverrides *WorkloadOverrideTemplateSpec `json:"workloadOverrides,omitempty"`

	// State controls the state of the Release created by this binding.
	// Active: Resources are deployed normally
	// Undeploy: Resources are removed from the data plane
	// +kubebuilder:default=Active
	// +kubebuilder:validation:Enum=Active;Undeploy
	// +optional
	State ReleaseState `json:"state,omitempty"`
}

ReleaseBindingSpec defines the desired state of ReleaseBinding.

func (*ReleaseBindingSpec) DeepCopy added in v0.5.0

func (in *ReleaseBindingSpec) DeepCopy() *ReleaseBindingSpec

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

func (*ReleaseBindingSpec) DeepCopyInto added in v0.5.0

func (in *ReleaseBindingSpec) DeepCopyInto(out *ReleaseBindingSpec)

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

type ReleaseBindingStatus added in v0.5.0

type ReleaseBindingStatus struct {
	// Conditions represent the latest available observations of the ReleaseBinding's current state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Endpoints contains the resolved invoke URLs for each named workload endpoint.
	// Populated once the component is deployed and the corresponding HTTPRoutes are available.
	// +optional
	Endpoints []EndpointURLStatus `json:"endpoints,omitempty"`
}

ReleaseBindingStatus defines the observed state of ReleaseBinding.

func (*ReleaseBindingStatus) DeepCopy added in v0.5.0

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

func (*ReleaseBindingStatus) DeepCopyInto added in v0.5.0

func (in *ReleaseBindingStatus) DeepCopyInto(out *ReleaseBindingStatus)

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

type ReleaseList

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

ReleaseList contains a list of Release.

func (*ReleaseList) DeepCopy

func (in *ReleaseList) DeepCopy() *ReleaseList

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

func (*ReleaseList) DeepCopyInto

func (in *ReleaseList) DeepCopyInto(out *ReleaseList)

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

func (*ReleaseList) DeepCopyObject

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

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

type ReleaseOwner

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

ReleaseOwner defines the owner of a Release.

func (*ReleaseOwner) DeepCopy

func (in *ReleaseOwner) DeepCopy() *ReleaseOwner

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

func (*ReleaseOwner) DeepCopyInto

func (in *ReleaseOwner) DeepCopyInto(out *ReleaseOwner)

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

type ReleaseSpec

type ReleaseSpec struct {
	Owner ReleaseOwner `json:"owner"`
	// +kubebuilder:validation:MinLength=1
	EnvironmentName string `json:"environmentName"`

	// Scalable resource template approach (KRO-inspired)
	// Supports any Kubernetes resource type including HPA, PDB, NetworkPolicy, CRDs, etc. that can
	// be applied to the data plane.
	// +kubebuilder:validation:Optional
	Resources []Resource `json:"resources,omitempty"`

	// Interval watch interval for the release resources when stable.
	// Defaults to 5m if not specified.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`

	// ProgressingInterval watch interval for the release resources when transitioning.
	// Defaults to 10s if not specified.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	// +optional
	ProgressingInterval *metav1.Duration `json:"progressingInterval,omitempty"`

	// TargetPlane specifies which plane this release should be deployed to.
	// Defaults to "dataplane" if not specified.
	// +kubebuilder:validation:Enum=dataplane;observabilityplane
	// +kubebuilder:default=dataplane
	TargetPlane string `json:"targetPlane,omitempty"`
}

ReleaseSpec defines the desired state of Release.

func (*ReleaseSpec) DeepCopy

func (in *ReleaseSpec) DeepCopy() *ReleaseSpec

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

func (*ReleaseSpec) DeepCopyInto

func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)

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

type ReleaseState

type ReleaseState string

ReleaseState defines the desired state of the Release created by a binding

const (
	// ReleaseStateActive indicates the Release should be actively deployed.
	// Resources are deployed normally to the data plane.
	ReleaseStateActive ReleaseState = "Active"

	// ReleaseStateSuspend indicates the Release should be suspended.
	// Resources are scaled to zero or paused but not deleted.
	// - Deployments/StatefulSets: replicas set to 0
	// - Jobs: spec.suspend set to true
	// - CronJobs: spec.suspend set to true
	// - HPA: minReplicas and maxReplicas set to 0
	ReleaseStateSuspend ReleaseState = "Suspend"

	// ReleaseStateUndeploy indicates the Release should be removed from the data plane.
	// The Release resource is deleted, triggering cleanup of all data plane resources.
	ReleaseStateUndeploy ReleaseState = "Undeploy"
)

type ReleaseStatus

type ReleaseStatus struct {
	// Resources contain the list of resources that have been successfully applied to the data plane
	// +optional
	Resources []ResourceStatus `json:"resources,omitempty"`

	// Conditions represent the latest available observations of the Release's current state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ReleaseStatus defines the observed state of Release.

func (*ReleaseStatus) DeepCopy

func (in *ReleaseStatus) DeepCopy() *ReleaseStatus

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

func (*ReleaseStatus) DeepCopyInto

func (in *ReleaseStatus) DeepCopyInto(out *ReleaseStatus)

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

type 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.
	// Supports HTTP/HTTPS and SSH URL formats in default values.
	// Format: 'string | default=value description=... enum=val1,val2'
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=6
	// +kubebuilder:validation:Pattern=`^string(\s*\|.*)?$`
	URL string `json:"url"`

	// SecretRef is the schema definition for the Git credentials secret reference name.
	// Must be a string type schema definition.
	// Format: 'string | default=value description=...'
	// Example: 'string | description="Secret reference name for Git credentials"'
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^string(\s*\|.*)?$`
	SecretRef string `json:"secretRef,omitempty"`

	// 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.
	// Supports HTTP/HTTPS and SSH formats.
	// Examples:
	//   - "https://github.com/openchoreo/sample-workloads"
	//   - "git@github.com:openchoreo/sample-workloads.git"
	//   - "ssh://git@github.com/openchoreo/sample-workloads.git"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^(https?://|ssh://|git@[^:]+:)`
	URL string `json:"url"`

	// SecretRef is the name of the SecretReference for Git credentials.
	// This should reference a SecretReference CR in the same namespace.
	// Example: "my-git-credentials"
	// +optional
	SecretRef string `json:"secretRef,omitempty"`

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

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

RepositoryValues contains the actual repository parameter values.

func (*RepositoryValues) DeepCopy added in v0.6.0

func (in *RepositoryValues) DeepCopy() *RepositoryValues

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

func (*RepositoryValues) DeepCopyInto added in v0.6.0

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

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

type Resource

type Resource struct {
	// Unique identifier for the resource
	// +kubebuilder:validation:MinLength=1
	ID string `json:"id"`

	// Object contains the complete Kubernetes resource definition
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	Object *runtime.RawExtension `json:"object"`
}

Resource defines a Kubernetes resource template that can be applied to the data plane.

func (*Resource) DeepCopy

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto

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

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

type ResourceReference added in v0.9.0

type ResourceReference struct {
	// APIVersion is the API version of the resource (e.g., "v1", "apps/v1").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	APIVersion string `json:"apiVersion"`

	// Kind is the type of the resource (e.g., "Secret", "ConfigMap").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Name is the name of the resource in the build plane cluster.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Namespace is the namespace of the resource in the build plane cluster.
	// Empty for cluster-scoped resources.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

ResourceReference tracks a resource applied to the build plane cluster for cleanup purposes.

func (*ResourceReference) DeepCopy added in v0.9.0

func (in *ResourceReference) DeepCopy() *ResourceReference

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

func (*ResourceReference) DeepCopyInto added in v0.9.0

func (in *ResourceReference) DeepCopyInto(out *ResourceReference)

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

type ResourceStatus

type ResourceStatus struct {
	// ID corresponds to the resource ID in spec.resources
	// +kubebuilder:validation:MinLength=1
	ID string `json:"id"`

	// Group is the API group of the resource (e.g., "apps", "batch")
	// Empty string for core resources
	// +optional
	Group string `json:"group,omitempty"`

	// Version is the API version of the resource (e.g., "v1", "v1beta1")
	// +kubebuilder:validation:MinLength=1
	Version string `json:"version"`

	// Kind is the type of the resource (e.g., "Deployment", "Service")
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Name is the name of the resource in the data plane
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Namespace is the namespace of the resource in the data plane
	// Empty for cluster-scoped resources
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Status captures the entire .status field of the resource applied to the data plane.
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Status *runtime.RawExtension `json:"status,omitempty"`

	// HealthStatus indicates the health of the resource in the data plane.
	// +optional
	HealthStatus HealthStatus `json:"healthStatus,omitempty"`

	// LastObservedTime stores the last time the status was observed
	// +optional
	LastObservedTime *metav1.Time `json:"lastObservedTime,omitempty"`
}

ResourceStatus tracks a resource that was applied to the data plane.

func (*ResourceStatus) DeepCopy

func (in *ResourceStatus) DeepCopy() *ResourceStatus

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

func (*ResourceStatus) DeepCopyInto

func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)

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

type ResourceTemplate added in v0.4.0

type ResourceTemplate struct {
	// ID uniquely identifies this resource within the component type
	// For the primary workload resource, this must match the workloadType
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ID string `json:"id"`

	// TargetPlane specifies which plane this resource should be deployed to
	// Defaults to "dataplane" if not specified
	// +optional
	// +kubebuilder:validation:Enum=dataplane;observabilityplane
	// +kubebuilder:default=dataplane
	TargetPlane string `json:"targetPlane,omitempty"`

	// IncludeWhen is a CEL expression that determines if this resource should be created
	// If not specified, the resource is always created
	// Example: "${spec.autoscaling.enabled}"
	// +optional
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	IncludeWhen string `json:"includeWhen,omitempty"`

	// ForEach enables generating multiple resources from a list using CEL expression
	// Example: "${spec.configurations}" to iterate over a list
	// +optional
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	ForEach string `json:"forEach,omitempty"`

	// Var is the loop variable name when using forEach
	// Example: "config" will make each item available as ${config} in templates
	// +optional
	// +kubebuilder:validation:Pattern=`^[a-zA-Z_][a-zA-Z0-9_]*$`
	Var string `json:"var,omitempty"`

	// Template contains the Kubernetes resource with CEL expressions
	// CEL expressions are enclosed in ${...} and will be evaluated at runtime
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Template *runtime.RawExtension `json:"template"`
}

ResourceTemplate defines a template for generating Kubernetes resources +kubebuilder:validation:XValidation:rule="!has(self.forEach) || has(self.var)",message="var is required when forEach is specified"

func (*ResourceTemplate) DeepCopy added in v0.4.0

func (in *ResourceTemplate) DeepCopy() *ResourceTemplate

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

func (*ResourceTemplate) DeepCopyInto added in v0.4.0

func (in *ResourceTemplate) DeepCopyInto(out *ResourceTemplate)

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

type Revision

type Revision struct {
	// Branch specifies the branch to build from
	Branch string `json:"branch,omitempty"`

	// Commit specifies the commit hash to build from
	Commit string `json:"commit,omitempty"`
}

Revision defines the revision specification

func (*Revision) DeepCopy

func (in *Revision) DeepCopy() *Revision

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

func (*Revision) DeepCopyInto

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

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

type RoleRef added in v0.14.0

type RoleRef struct {
	// Kind is the kind of role (AuthzRole or AuthzClusterRole)
	// For AuthzRoleBinding: AuthzRole must be in the same namespace
	// +required
	Kind RoleRefKind `json:"kind"`

	// Name is the name of the role
	// +required
	Name string `json:"name"`
}

RoleRef represents a reference to an AuthzRole or AuthzClusterRole Used by AuthzRoleBinding and AuthzClusterRoleBinding

func (*RoleRef) DeepCopy added in v0.14.0

func (in *RoleRef) DeepCopy() *RoleRef

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

func (*RoleRef) DeepCopyInto added in v0.14.0

func (in *RoleRef) DeepCopyInto(out *RoleRef)

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

type RoleRefKind added in v0.14.0

type RoleRefKind string

RoleRefKind defines the kind of role referenced by a RoleRef +kubebuilder:validation:Enum=AuthzRole;AuthzClusterRole

const (
	// RoleRefKindAuthzRole references a namespaced AuthzRole
	RoleRefKindAuthzRole RoleRefKind = "AuthzRole"

	// RoleRefKindAuthzClusterRole references a cluster-scoped AuthzClusterRole
	RoleRefKindAuthzClusterRole RoleRefKind = "AuthzClusterRole"
)

type SMTPAuth added in v0.9.0

type SMTPAuth struct {
	// Username for SMTP authentication
	// Provided via secret reference (TODO: Support inline username)
	// +kubebuilder:validation:Required
	Username *SecretValueFrom `json:"username"`

	// Password for SMTP authentication
	// Provided via secret reference (TODO: Support inline password)
	// +kubebuilder:validation:Required
	Password *SecretValueFrom `json:"password"`
}

SMTPAuth defines SMTP authentication configuration

func (*SMTPAuth) DeepCopy added in v0.9.0

func (in *SMTPAuth) DeepCopy() *SMTPAuth

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

func (*SMTPAuth) DeepCopyInto added in v0.9.0

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

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

type SMTPConfig added in v0.9.0

type SMTPConfig struct {
	// Host is the SMTP server hostname
	// Required when type is "email"
	// +kubebuilder:validation:Required
	Host string `json:"host"`

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

	// Auth defines SMTP authentication credentials
	// +kubebuilder:validation:Required
	Auth *SMTPAuth `json:"auth"`

	// TLS configuration
	// +kubebuilder:validation:Required
	TLS *SMTPTLSConfig `json:"tls"`
}

SMTPConfig defines SMTP server configuration

func (*SMTPConfig) DeepCopy added in v0.9.0

func (in *SMTPConfig) DeepCopy() *SMTPConfig

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

func (*SMTPConfig) DeepCopyInto added in v0.9.0

func (in *SMTPConfig) DeepCopyInto(out *SMTPConfig)

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

type SMTPTLSConfig added in v0.9.0

type SMTPTLSConfig struct {
	// InsecureSkipVerify skips TLS certificate verification (not recommended for production)
	// +kubebuilder:default=false
	InsecureSkipVerify bool `json:"insecureSkipVerify"`
}

SMTPTLSConfig defines TLS configuration for SMTP

func (*SMTPTLSConfig) DeepCopy added in v0.9.0

func (in *SMTPTLSConfig) DeepCopy() *SMTPTLSConfig

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

func (*SMTPTLSConfig) DeepCopyInto added in v0.9.0

func (in *SMTPTLSConfig) DeepCopyInto(out *SMTPTLSConfig)

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

type Schema

type Schema struct {
	Type    string `json:"type,omitempty"`
	Content string `json:"content,omitempty"`
}

Schema defines the API definition for an endpoint.

func (*Schema) DeepCopy

func (in *Schema) DeepCopy() *Schema

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

func (*Schema) DeepCopyInto

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

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

type SecretDataSource added in v0.4.0

type SecretDataSource struct {
	// SecretKey is the key name in the Kubernetes Secret
	// +kubebuilder:validation:MinLength=1
	SecretKey string `json:"secretKey"`

	// RemoteRef points to the external secret location
	RemoteRef RemoteReference `json:"remoteRef"`
}

SecretDataSource maps a secret key to an external secret reference.

func (*SecretDataSource) DeepCopy added in v0.4.0

func (in *SecretDataSource) DeepCopy() *SecretDataSource

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

func (*SecretDataSource) DeepCopyInto added in v0.4.0

func (in *SecretDataSource) DeepCopyInto(out *SecretDataSource)

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

type SecretKeyRef

type SecretKeyRef struct {
	// +required
	Name string `json:"name"`
	// +required
	Key string `json:"key"`
}

SecretKeyRef references a specific key in a K8s secret.

func (*SecretKeyRef) DeepCopy

func (in *SecretKeyRef) DeepCopy() *SecretKeyRef

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

func (*SecretKeyRef) DeepCopyInto

func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)

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

type SecretKeyReference added in v0.6.0

type SecretKeyReference struct {
	// Name of the secret
	Name string `json:"name"`
	// Namespace of the secret (optional, defaults to same namespace as parent resource)
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// Key is the key within the secret
	Key string `json:"key"`
}

SecretKeyReference defines a reference to a specific key in a Kubernetes secret

func (*SecretKeyReference) DeepCopy added in v0.6.0

func (in *SecretKeyReference) DeepCopy() *SecretKeyReference

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

func (*SecretKeyReference) DeepCopyInto added in v0.6.0

func (in *SecretKeyReference) DeepCopyInto(out *SecretKeyReference)

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

type SecretMetadata added in v0.4.0

type SecretMetadata struct {
	// Annotations to add to the secret
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Labels to add to the secret
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

SecretMetadata defines additional metadata for the generated secret.

func (*SecretMetadata) DeepCopy added in v0.4.0

func (in *SecretMetadata) DeepCopy() *SecretMetadata

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

func (*SecretMetadata) DeepCopyInto added in v0.4.0

func (in *SecretMetadata) DeepCopyInto(out *SecretMetadata)

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

type SecretReference added in v0.4.0

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

	Spec   SecretReferenceSpec   `json:"spec,omitempty"`
	Status SecretReferenceStatus `json:"status,omitempty"`
}

SecretReference is the Schema for the secretreferences API.

func (*SecretReference) DeepCopy added in v0.4.0

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto added in v0.4.0

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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

func (*SecretReference) DeepCopyObject added in v0.4.0

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

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

type SecretReferenceList added in v0.4.0

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

SecretReferenceList contains a list of SecretReference.

func (*SecretReferenceList) DeepCopy added in v0.4.0

func (in *SecretReferenceList) DeepCopy() *SecretReferenceList

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

func (*SecretReferenceList) DeepCopyInto added in v0.4.0

func (in *SecretReferenceList) DeepCopyInto(out *SecretReferenceList)

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

func (*SecretReferenceList) DeepCopyObject added in v0.4.0

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

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

type SecretReferenceSpec added in v0.4.0

type SecretReferenceSpec struct {

	// Template defines the structure of the resulting Kubernetes Secret
	Template SecretTemplate `json:"template"`

	// Data contains the mapping of secret keys to external secret references
	// +kubebuilder:validation:MinItems=1
	Data []SecretDataSource `json:"data"`

	// RefreshInterval specifies how often to reconcile/refresh the secret
	// +optional
	// +kubebuilder:default="1h"
	RefreshInterval *metav1.Duration `json:"refreshInterval,omitempty"`
}

SecretReferenceSpec defines the desired state of SecretReference.

func (*SecretReferenceSpec) DeepCopy added in v0.4.0

func (in *SecretReferenceSpec) DeepCopy() *SecretReferenceSpec

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

func (*SecretReferenceSpec) DeepCopyInto added in v0.4.0

func (in *SecretReferenceSpec) DeepCopyInto(out *SecretReferenceSpec)

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

type SecretReferenceStatus added in v0.4.0

type SecretReferenceStatus struct {

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// LastRefreshTime indicates when the secret reference was last processed
	// +optional
	LastRefreshTime *metav1.Time `json:"lastRefreshTime,omitempty"`

	// SecretStores tracks which secret stores are using this reference
	// +optional
	SecretStores []SecretStoreReference `json:"secretStores,omitempty"`
}

SecretReferenceStatus defines the observed state of SecretReference.

func (*SecretReferenceStatus) DeepCopy added in v0.4.0

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

func (*SecretReferenceStatus) DeepCopyInto added in v0.4.0

func (in *SecretReferenceStatus) DeepCopyInto(out *SecretReferenceStatus)

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

type SecretStoreRef added in v0.4.0

type SecretStoreRef struct {
	// Name of the ClusterSecretStore resource in the data plane cluster
	Name string `json:"name"`
}

SecretStoreRef defines a reference to an External Secrets Operator ClusterSecretStore

func (*SecretStoreRef) DeepCopy added in v0.4.0

func (in *SecretStoreRef) DeepCopy() *SecretStoreRef

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

func (*SecretStoreRef) DeepCopyInto added in v0.4.0

func (in *SecretStoreRef) DeepCopyInto(out *SecretStoreRef)

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

type SecretStoreReference added in v0.4.0

type SecretStoreReference struct {
	// Name of the secret store
	Name string `json:"name"`

	// Namespace where the ExternalSecret was created
	Namespace string `json:"namespace"`

	// Kind of resource (ExternalSecret, ClusterExternalSecret)
	Kind string `json:"kind"`
}

SecretStoreReference tracks where this SecretReference is being used.

func (*SecretStoreReference) DeepCopy added in v0.4.0

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

func (*SecretStoreReference) DeepCopyInto added in v0.4.0

func (in *SecretStoreReference) DeepCopyInto(out *SecretStoreReference)

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

type SecretTemplate added in v0.4.0

type SecretTemplate struct {
	// Type of the Kubernetes Secret (Opaque, kubernetes.io/dockerconfigjson, etc.)
	// +kubebuilder:validation:Enum=Opaque;kubernetes.io/dockerconfigjson;kubernetes.io/dockercfg;kubernetes.io/basic-auth;kubernetes.io/ssh-auth;kubernetes.io/tls;bootstrap.kubernetes.io/token
	// +kubebuilder:default="Opaque"
	// +optional
	Type corev1.SecretType `json:"type,omitempty"`

	// Metadata to add to the generated secret
	// +optional
	Metadata *SecretMetadata `json:"metadata,omitempty"`
}

SecretTemplate defines the structure of the resulting Kubernetes Secret.

func (*SecretTemplate) DeepCopy added in v0.4.0

func (in *SecretTemplate) DeepCopy() *SecretTemplate

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

func (*SecretTemplate) DeepCopyInto added in v0.4.0

func (in *SecretTemplate) DeepCopyInto(out *SecretTemplate)

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

type SecretValueFrom added in v0.9.0

type SecretValueFrom struct {
	// SecretKeyRef references a specific key in a Kubernetes secret
	// +optional
	SecretKeyRef *SecretKeyRef `json:"secretKeyRef,omitempty"`
}

SecretValueFrom defines how to obtain a secret value

func (*SecretValueFrom) DeepCopy added in v0.9.0

func (in *SecretValueFrom) DeepCopy() *SecretValueFrom

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

func (*SecretValueFrom) DeepCopyInto added in v0.9.0

func (in *SecretValueFrom) DeepCopyInto(out *SecretValueFrom)

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

type 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 TargetPath added in v0.14.0

type TargetPath struct {
	// Project scopes to a specific project (optional)
	// +optional
	Project string `json:"project,omitempty"`

	// Component scopes to a specific component (optional)
	// +optional
	Component string `json:"component,omitempty"`
}

TargetPath defines which resources this binding applies to within the ownership hierarchy All fields are optional - omitted fields mean "all" at that level

func (*TargetPath) DeepCopy added in v0.14.0

func (in *TargetPath) DeepCopy() *TargetPath

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

func (*TargetPath) DeepCopyInto added in v0.14.0

func (in *TargetPath) DeepCopyInto(out *TargetPath)

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

type TemplateRef

type TemplateRef struct {
	// Engine specifies the build engine
	Engine string `json:"engine,omitempty"`

	// Name is the template name
	Name string `json:"name"`

	// Parameters contains the template parameters
	Parameters []Parameter `json:"parameters,omitempty"`
}

TemplateRef defines the build template reference

func (*TemplateRef) DeepCopy

func (in *TemplateRef) DeepCopy() *TemplateRef

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

func (*TemplateRef) DeepCopyInto

func (in *TemplateRef) DeepCopyInto(out *TemplateRef)

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

type Trait added in v0.4.0

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

	Spec   TraitSpec   `json:"spec,omitempty"`
	Status TraitStatus `json:"status,omitempty"`
}

Trait is the Schema for the traits API.

func (*Trait) DeepCopy added in v0.4.0

func (in *Trait) DeepCopy() *Trait

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

func (*Trait) DeepCopyInto added in v0.4.0

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

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

func (*Trait) DeepCopyObject added in v0.4.0

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

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

type TraitCreate added in v0.4.0

type TraitCreate struct {
	// TargetPlane specifies which plane this resource should be deployed to
	// Defaults to "dataplane" if not specified
	// +optional
	// +kubebuilder:validation:Enum=dataplane;observabilityplane
	// +kubebuilder:default=dataplane
	TargetPlane string `json:"targetPlane,omitempty"`

	// IncludeWhen is a CEL expression that determines if this resource should be created
	// If not specified, the resource is always created
	// Example: "${parameters.enableMetrics}"
	// +optional
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	IncludeWhen string `json:"includeWhen,omitempty"`

	// ForEach enables generating multiple resources from a list using CEL expression
	// Example: "${parameters.volumes}" to iterate over a list
	// +optional
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	ForEach string `json:"forEach,omitempty"`

	// Var is the loop variable name when using forEach
	// Example: "volume" will make each item available as ${volume} in templates
	// +optional
	// +kubebuilder:validation:Pattern=`^[a-zA-Z_][a-zA-Z0-9_]*$`
	Var string `json:"var,omitempty"`

	// Template contains the Kubernetes resource with CEL expressions
	// CEL expressions are enclosed in ${...} and will be evaluated at runtime
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Template *runtime.RawExtension `json:"template"`
}

TraitCreate defines a resource template to be created by the trait +kubebuilder:validation:XValidation:rule="!has(self.forEach) || has(self.var)",message="var is required when forEach is specified"

func (*TraitCreate) DeepCopy added in v0.4.0

func (in *TraitCreate) DeepCopy() *TraitCreate

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

func (*TraitCreate) DeepCopyInto added in v0.4.0

func (in *TraitCreate) DeepCopyInto(out *TraitCreate)

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

type TraitList added in v0.4.0

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

TraitList contains a list of Trait.

func (*TraitList) DeepCopy added in v0.4.0

func (in *TraitList) DeepCopy() *TraitList

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

func (*TraitList) DeepCopyInto added in v0.4.0

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

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

func (*TraitList) DeepCopyObject added in v0.4.0

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

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

type TraitPatch added in v0.4.0

type TraitPatch struct {
	// ForEach repeats this patch for every item in a CEL-evaluated list
	// Requires 'var' to be set to name the binding used in operations
	// Example: forEach: ${spec.mounts}
	// +optional
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	ForEach string `json:"forEach,omitempty"`

	// Var names the binding for forEach iterations
	// Required when forEach is specified
	// Example: var: mount
	// +optional
	// +kubebuilder:validation:Pattern=`^[a-zA-Z_][a-zA-Z0-9_]*$`
	Var string `json:"var,omitempty"`

	// Target specifies which resource to patch
	// +kubebuilder:validation:Required
	Target PatchTarget `json:"target"`

	// TargetPlane specifies which plane's resources this patch targets
	// Defaults to "dataplane" if not specified
	// +optional
	// +kubebuilder:validation:Enum=dataplane;observabilityplane
	// +kubebuilder:default=dataplane
	TargetPlane string `json:"targetPlane,omitempty"`

	// Operations is the list of JSONPatch operations to apply to the target resource
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Operations []JSONPatchOperation `json:"operations"`
}

TraitPatch defines a modification to an existing resource +kubebuilder:validation:XValidation:rule="!has(self.forEach) || has(self.var)",message="var is required when forEach is specified"

func (*TraitPatch) DeepCopy added in v0.4.0

func (in *TraitPatch) DeepCopy() *TraitPatch

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

func (*TraitPatch) DeepCopyInto added in v0.4.0

func (in *TraitPatch) DeepCopyInto(out *TraitPatch)

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

type TraitSchema added in v0.4.0

type TraitSchema struct {
	// Types defines reusable type definitions that can be referenced in schema fields
	// This is a nested map structure where keys are type names and values are type definitions
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Types *runtime.RawExtension `json:"types,omitempty"`

	// Parameters are developer-facing configuration options.
	// This is a nested map structure where keys are field names and values
	// are either nested maps or type definition strings.
	// Type definition format: "type | default=value | required=true | enum=val1,val2"
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// EnvOverrides can be overridden per environment via ReleaseBinding.
	// Same nested map structure and type definition format as Parameters.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	EnvOverrides *runtime.RawExtension `json:"envOverrides,omitempty"`
}

TraitSchema defines the configurable parameters for a trait Uses the same nested map structure and inline schema syntax as ComponentTypeSchema

Example:

parameters:
  volumeName: "string | required=true"
  mountPath: "string | required=true"
  containerName: "string | default=app"
envOverrides:
  size: "string | default=10Gi"
  storageClass: "string | default=standard"

func (*TraitSchema) DeepCopy added in v0.4.0

func (in *TraitSchema) DeepCopy() *TraitSchema

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

func (*TraitSchema) DeepCopyInto added in v0.4.0

func (in *TraitSchema) DeepCopyInto(out *TraitSchema)

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

func (*TraitSchema) GetEnvOverrides added in v0.9.0

func (s *TraitSchema) GetEnvOverrides() *runtime.RawExtension

GetEnvOverrides returns the envOverrides raw extension.

func (*TraitSchema) GetParameters added in v0.9.0

func (s *TraitSchema) GetParameters() *runtime.RawExtension

GetParameters returns the parameters raw extension.

func (*TraitSchema) GetTypes added in v0.9.0

func (s *TraitSchema) GetTypes() *runtime.RawExtension

GetTypes returns the types raw extension.

type TraitSpec added in v0.4.0

type TraitSpec struct {
	// Schema defines trait parameters
	// +optional
	Schema TraitSchema `json:"schema,omitempty"`

	// Validations are CEL-based rules evaluated during rendering.
	// All rules must evaluate to true for rendering to proceed.
	// +optional
	Validations []ValidationRule `json:"validations,omitempty"`

	// Creates defines new Kubernetes resources to create when this trait is applied
	// +optional
	Creates []TraitCreate `json:"creates,omitempty"`

	// Patches defines modifications to existing resources generated by the ComponentType
	// +optional
	Patches []TraitPatch `json:"patches,omitempty"`
}

TraitSpec defines the desired state of Trait.

func (*TraitSpec) DeepCopy added in v0.4.0

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 ValidationRule added in v0.15.0

type ValidationRule struct {
	// Rule is a CEL expression wrapped in ${...} that must evaluate to true.
	// Uses the same syntax as includeWhen and where fields.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^\$\{[\s\S]+\}\s*$`
	Rule string `json:"rule"`

	// Message is the error message shown when the rule evaluates to false.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Message string `json:"message"`
}

ValidationRule defines a CEL-based validation rule evaluated during rendering.

func (*ValidationRule) DeepCopy added in v0.15.0

func (in *ValidationRule) DeepCopy() *ValidationRule

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

func (*ValidationRule) DeepCopyInto added in v0.15.0

func (in *ValidationRule) DeepCopyInto(out *ValidationRule)

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

type ValueFrom added in v0.4.0

type ValueFrom struct {
	// SecretRef is a reference to a secret containing the value
	// +optional
	SecretRef *SecretKeyReference `json:"secretRef,omitempty"`
	// Value is the inline value (optional fallback)
	// +optional
	Value string `json:"value,omitempty"`
}

ValueFrom defines a common pattern for referencing secrets or providing inline values

func (*ValueFrom) DeepCopy added in v0.4.0

func (in *ValueFrom) DeepCopy() *ValueFrom

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

func (*ValueFrom) DeepCopyInto added in v0.4.0

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

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

type WebhookConfig added in v0.12.0

type WebhookConfig struct {
	// URL is the webhook endpoint URL where alerts will be sent
	// Required when type is "webhook"
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Format=uri
	URL string `json:"url"`

	// Headers are optional HTTP headers to include in the webhook request
	// Headers can be provided inline or via secret references
	// +optional
	Headers map[string]WebhookHeaderValue `json:"headers,omitempty"`

	// PayloadTemplate is an optional JSON payload template using CEL expressions
	// If not provided, the raw alertDetails object will be sent as JSON
	// CEL expressions use ${...} syntax and have access to alert fields:
	// - ${alertName}, ${alertDescription}, ${alertSeverity}, ${alertValue}, etc.
	// Example for Slack: {"text": "Alert: ${alertName}", "blocks": [...]}
	// +optional
	PayloadTemplate string `json:"payloadTemplate,omitempty"`
}

WebhookConfig defines the configuration for webhook notification channels

func (*WebhookConfig) DeepCopy added in v0.12.0

func (in *WebhookConfig) DeepCopy() *WebhookConfig

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

func (*WebhookConfig) DeepCopyInto added in v0.12.0

func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)

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

type WebhookHeaderValue added in v0.12.0

type WebhookHeaderValue struct {
	// Value is the inline header value
	// Mutually exclusive with valueFrom
	// +optional
	Value *string `json:"value,omitempty"`

	// ValueFrom references a secret containing the header value
	// Mutually exclusive with value
	// +optional
	ValueFrom *SecretValueFrom `json:"valueFrom,omitempty"`
}

WebhookHeaderValue defines a header value that can be provided inline or via secret reference +kubebuilder:validation:XValidation:rule="has(self.value) != has(self.valueFrom)",message="exactly one of value or valueFrom must be set"

func (*WebhookHeaderValue) DeepCopy added in v0.12.0

func (in *WebhookHeaderValue) DeepCopy() *WebhookHeaderValue

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

func (*WebhookHeaderValue) DeepCopyInto added in v0.12.0

func (in *WebhookHeaderValue) DeepCopyInto(out *WebhookHeaderValue)

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

type Workflow added in v0.4.0

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

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

	// spec defines the desired state of Workflow
	// +required
	Spec WorkflowSpec `json:"spec"`

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

Workflow is the Schema for the workflows API Workflow provides a template definition for workflow execution with schema and resource templates.

func (*Workflow) DeepCopy added in v0.4.0

func (in *Workflow) DeepCopy() *Workflow

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

func (*Workflow) DeepCopyInto added in v0.4.0

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

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

func (*Workflow) DeepCopyObject added in v0.4.0

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

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

type WorkflowList added in v0.4.0

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

WorkflowList contains a list of Workflow

func (*WorkflowList) DeepCopy added in v0.4.0

func (in *WorkflowList) DeepCopy() *WorkflowList

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

func (*WorkflowList) DeepCopyInto added in v0.4.0

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

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

func (*WorkflowList) DeepCopyObject added in v0.4.0

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

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

type WorkflowResource added in v0.11.0

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

	// Template contains the Kubernetes resource with CEL expressions.
	// CEL expressions are enclosed in ${...} and will be evaluated at runtime.
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Template *runtime.RawExtension `json:"template"`
}

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

func (*WorkflowResource) DeepCopy added in v0.11.0

func (in *WorkflowResource) DeepCopy() *WorkflowResource

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

func (*WorkflowResource) DeepCopyInto added in v0.11.0

func (in *WorkflowResource) DeepCopyInto(out *WorkflowResource)

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

type WorkflowRun added in v0.4.0

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

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

	// spec defines the desired state of WorkflowRun
	// +required
	Spec WorkflowRunSpec `json:"spec"`

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

WorkflowRun is the Schema for the workflowruns API WorkflowRun represents a runtime execution instance of a Workflow.

func (*WorkflowRun) DeepCopy added in v0.4.0

func (in *WorkflowRun) DeepCopy() *WorkflowRun

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

func (*WorkflowRun) DeepCopyInto added in v0.4.0

func (in *WorkflowRun) DeepCopyInto(out *WorkflowRun)

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

func (*WorkflowRun) DeepCopyObject added in v0.4.0

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

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

func (*WorkflowRun) GetConditions added in v0.4.0

func (w *WorkflowRun) GetConditions() []metav1.Condition

GetConditions returns the conditions from the workflowrun status

func (*WorkflowRun) SetConditions added in v0.4.0

func (w *WorkflowRun) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions in the workflowrun status

type WorkflowRunConfig added in v0.11.0

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

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

WorkflowRunConfig defines the workflow configuration for execution.

func (*WorkflowRunConfig) DeepCopy added in v0.11.0

func (in *WorkflowRunConfig) DeepCopy() *WorkflowRunConfig

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

func (*WorkflowRunConfig) DeepCopyInto added in v0.11.0

func (in *WorkflowRunConfig) DeepCopyInto(out *WorkflowRunConfig)

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

type WorkflowRunList added in v0.4.0

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

WorkflowRunList contains a list of WorkflowRun

func (*WorkflowRunList) DeepCopy added in v0.4.0

func (in *WorkflowRunList) DeepCopy() *WorkflowRunList

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

func (*WorkflowRunList) DeepCopyInto added in v0.4.0

func (in *WorkflowRunList) DeepCopyInto(out *WorkflowRunList)

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

func (*WorkflowRunList) DeepCopyObject added in v0.4.0

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

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

type WorkflowRunSpec added in v0.4.0

type WorkflowRunSpec struct {
	// Workflow configuration referencing the Workflow CR and providing schema values.
	// +required
	Workflow WorkflowRunConfig `json:"workflow"`

	// TTLAfterCompletion defines the time-to-live for this workflow run after completion.
	// This value is copied from the Workflow template.
	// Once the workflow completes, the run will be automatically deleted after this duration.
	// Format: duration string supporting days, hours, minutes, seconds without spaces (e.g., "90d", "10d1h30m", "1h30m")
	// Examples: "90d", "10d", "1h30m", "30m", "1d12h30m15s"
	// +optional
	// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
	TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}

WorkflowRunSpec defines the desired state of WorkflowRun. WorkflowRun represents a runtime execution instance of a Workflow.

func (*WorkflowRunSpec) DeepCopy added in v0.4.0

func (in *WorkflowRunSpec) DeepCopy() *WorkflowRunSpec

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

func (*WorkflowRunSpec) DeepCopyInto added in v0.4.0

func (in *WorkflowRunSpec) DeepCopyInto(out *WorkflowRunSpec)

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

type WorkflowRunStatus added in v0.4.0

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

	// RunReference contains a reference to the workflow run resource that was applied to the cluster.
	// This tracks the actual workflow execution instance (e.g., Argo Workflow) in the target cluster.
	// +optional
	RunReference *ResourceReference `json:"runReference,omitempty"`

	// Resources contains references to additional resources applied to the cluster.
	// These are tracked for cleanup when the WorkflowRun is deleted.
	// +optional
	Resources *[]ResourceReference `json:"resources,omitempty"`

	// Tasks contains the list of workflow tasks with their execution status.
	// This provides a vendor-neutral view of the workflow steps regardless of the underlying
	// workflow engine (e.g., Argo Workflows, Tekton).
	// Tasks are ordered by their execution sequence.
	// +optional
	Tasks []WorkflowTask `json:"tasks,omitempty"`

	// StartedAt is the timestamp when this workflow run started execution.
	// +optional
	StartedAt *metav1.Time `json:"startedAt,omitempty"`

	// CompletedAt is the timestamp when this workflow run finished execution (succeeded or failed).
	// This is used together with TTLAfterCompletion to determine when to delete the workflow run.
	// +optional
	CompletedAt *metav1.Time `json:"completedAt,omitempty"`
}

WorkflowRunStatus defines the observed state of WorkflowRun.

func (*WorkflowRunStatus) DeepCopy added in v0.4.0

func (in *WorkflowRunStatus) DeepCopy() *WorkflowRunStatus

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

func (*WorkflowRunStatus) DeepCopyInto added in v0.4.0

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

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

type WorkflowSchema added in v0.11.0

type WorkflowSchema struct {
	// Types defines reusable type definitions that can be referenced in schema fields.
	// This is a nested map structure where keys are type names and values are type definitions.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Types *runtime.RawExtension `json:"types,omitempty"`

	// Parameters defines the flexible PE-defined schema for additional build configuration.
	// Platform Engineers have complete freedom to define any structure, types, and validation rules.
	//
	// This is a nested map structure where keys are field names and values are type definitions.
	// Type definition format: "type | default=value enum=val1,val2 minimum=N maximum=N"
	//
	// Supported types: string, integer, boolean, array<type>, object
	//
	// Example:
	//   parameters:
	//     version: 'integer | default=1 description="Build version"'
	//     testMode: "string | enum=unit,integration,none default=unit"
	//     resources:
	//       cpuCores: "integer | default=1 minimum=1 maximum=8"
	//       memoryGb: "integer | default=2 minimum=1 maximum=32"
	//     cache:
	//       enabled: "boolean | default=true"
	//       paths: "array<string> | default=["/root/.cache"]"
	//
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

WorkflowSchema defines the parameter schemas for workflows.

func (*WorkflowSchema) DeepCopy added in v0.11.0

func (in *WorkflowSchema) DeepCopy() *WorkflowSchema

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

func (*WorkflowSchema) DeepCopyInto added in v0.11.0

func (in *WorkflowSchema) DeepCopyInto(out *WorkflowSchema)

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

type WorkflowSpec added in v0.4.0

type WorkflowSpec struct {
	// Schema defines the developer-facing parameters that can be configured
	// when creating a WorkflowRun instance. Uses the same shorthand schema syntax
	// as ComponentType.
	//
	// Schema format: nested maps where keys are field names and values are either
	// nested maps or type definition strings.
	// Type definition format: "type | default=value minimum=2 enum=val1,val2"
	//
	// Example:
	//   repository:
	//     url: string | description="Git repository URL"
	//     revision:
	//       branch: string | default=main description="Git branch to checkout"
	//       commit: string | default=HEAD description="Git commit SHA or reference"
	//     appPath: string | default=. description="Path to the application directory"
	//     credentialsRef: string | enum=checkout-repo-credentials-dev,payments-repo-credentials-dev description="Repository credentials secret reference"
	//   version: integer | default=1 description="Build version number"
	//   testMode: string | enum=unit,integration,none default=unit description="Test mode to execute"
	//
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	Schema *WorkflowSchema `json:"schema,omitempty"`

	// RunTemplate is the Kubernetes resource template to be rendered and applied to the cluster.
	// Template variables are substituted with context and parameter values.
	// Supported template variables:
	//   - ${metadata.workflowRunName} - WorkflowRun name (the execution instance)
	//   - ${metadata.namespaceName} - Namespace name
	//   - ${parameters.*} - Developer-provided parameter values
	//
	// Note: PE-controlled parameters should be hardcoded directly in the template.
	//
	// +required
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	RunTemplate *runtime.RawExtension `json:"runTemplate"`

	// Resources are additional templates that generate Kubernetes resources dynamically
	// to be deployed alongside the workflow run (e.g., secrets, configmaps).
	// Template variables are substituted with context and parameter values using CEL expressions.
	// +optional
	Resources []WorkflowResource `json:"resources,omitempty"`

	// TTLAfterCompletion defines the time-to-live for WorkflowRun instances after completion.
	// Once a WorkflowRun completes, it will be automatically deleted after this duration.
	// Format: duration string supporting days, hours, minutes, seconds without spaces (e.g., "90d", "10d1h30m", "1h30m")
	// Examples: "90d", "10d", "1h30m", "30m", "1d12h30m15s"
	// If empty, workflow runs are not automatically deleted.
	// +optional
	// +kubebuilder:validation:Pattern=`^(\d+d)?(\d+h)?(\d+m)?(\d+s)?$`
	TTLAfterCompletion string `json:"ttlAfterCompletion,omitempty"`
}

WorkflowSpec defines the desired state of Workflow. Workflow provides a schema-driven template for workflow execution with developer-facing schemas and CEL-based resource rendering. PE-controlled parameters should be hardcoded directly in the template.

func (*WorkflowSpec) DeepCopy added in v0.4.0

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

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

func (*WorkflowSpec) DeepCopyInto added in v0.4.0

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

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

type WorkflowStatus added in v0.4.0

type WorkflowStatus struct {

	// conditions represent the current state of the Workflow resource.
	// Each condition has a unique type and reflects the status of a specific aspect of the resource.
	//
	// Standard condition types include:
	// - "Available": the resource is fully functional
	// - "Progressing": the resource is being created or updated
	// - "Degraded": the resource failed to reach or maintain its desired state
	//
	// The status of each condition is one of True, False, or Unknown.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

WorkflowStatus defines the observed state of Workflow.

func (*WorkflowStatus) DeepCopy added in v0.4.0

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

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

func (*WorkflowStatus) DeepCopyInto added in v0.4.0

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

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

type WorkflowTask added in v0.13.0

type WorkflowTask struct {
	// Name is the name of the task/step.
	// For Argo Workflows, this corresponds to the templateName.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Phase represents the current execution phase of the task.
	// +kubebuilder:validation:Enum=Pending;Running;Succeeded;Failed;Skipped;Error
	// +optional
	Phase string `json:"phase,omitempty"`

	// StartedAt is the timestamp when the task started execution.
	// +optional
	StartedAt *metav1.Time `json:"startedAt,omitempty"`

	// CompletedAt is the timestamp when the task finished execution.
	// +optional
	CompletedAt *metav1.Time `json:"completedAt,omitempty"`

	// Message provides additional details about the task status.
	// This is typically populated when the task fails or errors.
	// +optional
	Message string `json:"message,omitempty"`
}

WorkflowTask represents a single task/step in a workflow execution. This provides a vendor-neutral abstraction over workflow engine-specific steps (e.g., Argo Workflow nodes, Tekton TaskRuns).

func (*WorkflowTask) DeepCopy added in v0.13.0

func (in *WorkflowTask) DeepCopy() *WorkflowTask

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

func (*WorkflowTask) DeepCopyInto added in v0.13.0

func (in *WorkflowTask) DeepCopyInto(out *WorkflowTask)

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

type Workload

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

	Spec   WorkloadSpec   `json:"spec,omitempty"`
	Status WorkloadStatus `json:"status,omitempty"`
}

Workload is the Schema for the workloads API.

func (*Workload) DeepCopy

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 {
	// Visibility defines the access scope for the endpoint.
	// +optional
	// +kubebuilder:default=project
	Visibility EndpointVisibility `json:"visibility,omitempty"`

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

	// Container defines the single container specification for this workload.
	// Mutually exclusive with containers.
	// +optional
	Container *Container `json:"container,omitempty"`

	// Containers define the container specifications for this workload.
	// The key is the container name, and the value is the container specification.
	// Mutually exclusive with container.
	// +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. +kubebuilder:validation:XValidation:rule="has(self.container) != has(self.containers)",message="exactly one of container or containers must be set"

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