v1alpha1

package
v0.6.39 Latest Latest
Warning

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

Go to latest
Published: May 14, 2026 License: AGPL-3.0, Apache-2.0, MIT Imports: 16 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the deployments v1alpha1 API group +kubebuilder:object:generate=true +groupName=deployments.plural.sh

Index

Constants

View Source
const (
	VClusterDefaultRepository   = "https://charts.loft.sh"
	VClusterDefaultChartName    = "vcluster"
	VClusterKubeconfigSecretKey = "config"
	AgentDefaultRepository      = "https://pluralsh.github.io/deployment-operator"
	AgentDefaultChartName       = "deployment-operator"
	AgentDefaultReleaseName     = "deploy-operator"
	AgentDefaultNamespace       = "plrl-deploy-operator"
)
View Source
const AgentRunIDLabel = "deployments.plural.sh/agent-run-id"
View Source
const AgentRuntimeNameLabel = "deployments.plural.sh/agent-runtime-name"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "deployments.plural.sh", 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 SchemeGroupVersion = GroupVersion

SchemeGroupVersion is group version used to register these objects.

Functions

func ConvertClusterAttributesToUpdate

func ConvertClusterAttributesToUpdate(a console.ClusterAttributes) console.ClusterUpdateAttributes

ConvertClusterAttributesToUpdate converts a console.ClusterAttributes into console.ClusterUpdateAttributes

func PolicyBindings

func PolicyBindings(bindings []Binding) []*console.PolicyBindingAttributes

func Resource

func Resource(resource string) schema.GroupResource

Types

type AWSProviderCredentials

type AWSProviderCredentials struct {
	// Region is the name of the AWS region cluster lives in.
	// +kubebuilder:validation:Required
	Region string `json:"region"`

	// AccessKeyID is your access key ID used to authenticate against AWS API.
	// +kubebuilder:validation:Optional
	AccessKeyID *string `json:"accessKeyID,omitempty"`

	// SecretAccessKeyRef is a reference to the secret that contains secret access key.
	// Since UpgradeInsights is a cluster-scoped resource we can't use local reference.
	//
	// SecretAccessKey must be stored in a key named "secretAccessKey".
	//
	// An example secret can look like this:
	//	apiVersion: v1
	//	kind: Secret
	//	metadata:
	//    name: eks-credentials
	//    namespace: upgrade-insights-test
	//	stringData:
	//    secretAccessKey: "changeme"
	//
	// Then it can be referenced like this:
	//    ...
	//    secretAccessKeyRef:
	//      name: eks-credentials
	//      namespace: upgrade-insights-test
	//
	// +kubebuilder:validation:Optional
	SecretAccessKeyRef *corev1.SecretReference `json:"secretAccessKeyRef,omitempty"`
}

func (*AWSProviderCredentials) DeepCopy

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

func (*AWSProviderCredentials) DeepCopyInto

func (in *AWSProviderCredentials) DeepCopyInto(out *AWSProviderCredentials)

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

type AgentConfiguration

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

	Spec   AgentConfigurationSpec `json:"spec,omitempty"`
	Status Status                 `json:"status,omitempty"`
}

AgentConfiguration is the deployment operator configuration

func (*AgentConfiguration) DeepCopy

func (in *AgentConfiguration) DeepCopy() *AgentConfiguration

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

func (*AgentConfiguration) DeepCopyInto

func (in *AgentConfiguration) DeepCopyInto(out *AgentConfiguration)

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

func (*AgentConfiguration) DeepCopyObject

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

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

func (*AgentConfiguration) SetCondition

func (c *AgentConfiguration) SetCondition(condition metav1.Condition)

type AgentConfigurationList

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

AgentConfigurationList contains a list of AgentConfiguration

func (*AgentConfigurationList) DeepCopy

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

func (*AgentConfigurationList) DeepCopyInto

func (in *AgentConfigurationList) DeepCopyInto(out *AgentConfigurationList)

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

func (*AgentConfigurationList) DeepCopyObject

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

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

type AgentConfigurationSpec

type AgentConfigurationSpec struct {
	// ServicePollInterval defines how often the agent polls for services.
	// Expected format is a duration string (e.g., "30s", "5m").
	// Set to "0s" to disable service polling.
	ServicePollInterval *string `json:"servicePollInterval,omitempty"`

	// ClusterPingInterval specifies the interval at which the agent pings the cluster.
	// Set to "0s" to disable cluster pings.
	ClusterPingInterval *string `json:"clusterPingInterval,omitempty"`

	// CompatibilityUploadInterval determines how frequently the agent uploads compatibility data.
	// Set to "0s" to disable compatibility uploads.
	CompatibilityUploadInterval *string `json:"compatibilityUploadInterval,omitempty"`

	// StackPollInterval sets how often the agent polls for stack updates or changes.
	// Set to "0s" to disable stack polling.
	StackPollInterval *string `json:"stackPollInterval,omitempty"`

	// PipelineGateInterval specifies how frequently the agent checks pipeline gates.
	// Set to "0s" to disable pipeline gate checks.
	PipelineGateInterval *string `json:"pipelineGateInterval,omitempty"`

	// MaxConcurrentReconciles controls the maximum number of concurrent reconcile loops.
	// Higher values can increase throughput at the cost of resource usage.
	MaxConcurrentReconciles *int `json:"maxConcurrentReconciles,omitempty"`

	// VulnerabilityReportUploadInterval sets how often vulnerability reports are uploaded.
	// Set to "0s" to disable vulnerability report uploads.
	VulnerabilityReportUploadInterval *string `json:"vulnerabilityReportUploadInterval,omitempty"`

	// BaseRegistryURL allows overriding the default base registry URL.
	// For stack run jobs, agent run pods, sentinel run jobs.
	BaseRegistryURL *string `json:"baseRegistryURL,omitempty"`

	// MaxSentinelRunJobs limits the number of concurrent SentinelRunJobs that can be active at any given time.
	// Must be greater than 0. Set this field to nil (omit) to disable the limit.
	// +kubebuilder:validation:Minimum=1
	MaxSentinelRunJobs *int `json:"maxSentinelRunJobs,omitempty"`

	// MaxStackRunJobs limits the number of concurrent StackRunJobs that can be active at any given time.
	// Must be greater than 0. Set this field to nil (omit) to disable the limit.
	// +kubebuilder:validation:Minimum=1
	MaxStackRunJobs *int `json:"maxStackRunJobs,omitempty"`

	// MaxAgentRunPods limits the number of concurrent agent run pods that can be active at any given time.
	// Must be greater than 0. Set this field to nil (omit) to disable the limit.
	// +kubebuilder:validation:Minimum=1
	MaxAgentRunPods *int `json:"maxAgentRunPods,omitempty"`

	// DisableWebsocket disables the cluster websocket connection to the Console.
	// When enabled, the agent will rely exclusively on polling instead of receiving
	// push updates. This is useful in large-scale edge deployments where maintaining
	// persistent websocket connections has an infeasible network cost.
	DisableWebsocket *bool `json:"disableWebsocket,omitempty"`
}

AgentConfigurationSpec defines the desired state of AgentConfiguration

func (*AgentConfigurationSpec) DeepCopy

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

func (*AgentConfigurationSpec) DeepCopyInto

func (in *AgentConfigurationSpec) DeepCopyInto(out *AgentConfigurationSpec)

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

type AgentHelmConfiguration

type AgentHelmConfiguration struct {
	HelmConfiguration `json:",inline"`
}

func (*AgentHelmConfiguration) DeepCopy

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

func (*AgentHelmConfiguration) DeepCopyInto

func (in *AgentHelmConfiguration) DeepCopyInto(out *AgentHelmConfiguration)

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

func (*AgentHelmConfiguration) GetChartName

func (in *AgentHelmConfiguration) GetChartName() string

func (*AgentHelmConfiguration) GetRepoUrl

func (in *AgentHelmConfiguration) GetRepoUrl() string

type AgentRun

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

	Spec   AgentRunSpec   `json:"spec,omitempty"`
	Status AgentRunStatus `json:"status,omitempty"`
}

AgentRun is the Schema for the agentruns API

func (*AgentRun) Attributes

func (in *AgentRun) Attributes() console.AgentRunAttributes

Attributes converts the AgentRun CRD to console API format for creating runs

func (*AgentRun) DeepCopy

func (in *AgentRun) DeepCopy() *AgentRun

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

func (*AgentRun) DeepCopyInto

func (in *AgentRun) DeepCopyInto(out *AgentRun)

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

func (*AgentRun) DeepCopyObject

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

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

func (*AgentRun) EnsureLabels

func (in *AgentRun) EnsureLabels(agentRuntimeName, agentRunID string)

func (*AgentRun) GetAgentRunID

func (in *AgentRun) GetAgentRunID() string

func (*AgentRun) IsCancelled

func (in *AgentRun) IsCancelled() bool

func (*AgentRun) IsFailed

func (in *AgentRun) IsFailed() bool

func (*AgentRun) IsPending

func (in *AgentRun) IsPending() bool

func (*AgentRun) IsRunning

func (in *AgentRun) IsRunning() bool

func (*AgentRun) IsSucceeded

func (in *AgentRun) IsSucceeded() bool

func (*AgentRun) SetCondition

func (in *AgentRun) SetCondition(condition metav1.Condition)

func (*AgentRun) StatusAttributes

func (in *AgentRun) StatusAttributes(status console.AgentRunStatus) console.AgentRunStatusAttributes

StatusAttributes converts the AgentRun status to console API format for updating runs.

func (*AgentRun) StatusDiff

func (in *AgentRun) StatusDiff(hasher Hasher) (changed bool, sha string, err error)

type AgentRunList

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

AgentRunList contains a list of AgentRun

func (*AgentRunList) DeepCopy

func (in *AgentRunList) DeepCopy() *AgentRunList

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

func (*AgentRunList) DeepCopyInto

func (in *AgentRunList) DeepCopyInto(out *AgentRunList)

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

func (*AgentRunList) DeepCopyObject

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

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

type AgentRunPhase

type AgentRunPhase string

AgentRunPhase represents the phase of an agent run +kubebuilder:validation:Enum=Pending;Running;Succeeded;Failed;Cancelled

const (
	AgentRunPhasePending   AgentRunPhase = "Pending"
	AgentRunPhaseRunning   AgentRunPhase = "Running"
	AgentRunPhaseSucceeded AgentRunPhase = "Succeeded"
	AgentRunPhaseFailed    AgentRunPhase = "Failed"
	AgentRunPhaseCancelled AgentRunPhase = "Cancelled"
)

type AgentRunSpec

type AgentRunSpec struct {
	// +kubebuilder:validation:Required
	RuntimeRef AgentRuntimeReference `json:"runtimeRef"`

	// Prompt is the task/prompt given to the agent
	// +kubebuilder:validation:Required
	Prompt string `json:"prompt"`

	// Repository is the git repository the agent will work with
	// +kubebuilder:validation:Required
	Repository string `json:"repository"`

	// Mode defines how the agent should run (ANALYZE, WRITE)
	// +kubebuilder:validation:Required
	Mode console.AgentRunMode `json:"mode"`

	// FlowID is the flow this agent run is associated with (optional)
	// +kubebuilder:validation:Optional
	FlowID *string `json:"flowId,omitempty"`

	// Language is the programming language used in the agent run.
	// +kubebuilder:validation:Optional
	Language *console.AgentRunLanguage `json:"language,omitempty"`

	// LanguageVersion is the version of the language to use, if you wish to specify.
	// +kubebuilder:validation:Optional
	LanguageVersion *string `json:"languageVersion,omitempty"`
}

AgentRunSpec defines the desired state of AgentRun

func (*AgentRunSpec) DeepCopy

func (in *AgentRunSpec) DeepCopy() *AgentRunSpec

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

func (*AgentRunSpec) DeepCopyInto

func (in *AgentRunSpec) DeepCopyInto(out *AgentRunSpec)

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

type AgentRunStatus

type AgentRunStatus struct {
	// PodRef references the pod running this agent
	// +kubebuilder:validation:Optional
	PodRef *corev1.ObjectReference `json:"podRef,omitempty"`

	// Phase represents the current phase of the agent run
	// +kubebuilder:validation:Optional
	Phase AgentRunPhase `json:"phase,omitempty"`

	// StartTime is when the agent run started
	// +kubebuilder:validation:Optional
	StartTime *metav1.Time `json:"startTime,omitempty"`

	// EndTime is when the agent run completed
	// +kubebuilder:validation:Optional
	EndTime *metav1.Time `json:"endTime,omitempty"`

	// Error message if the run failed
	// +kubebuilder:validation:Optional
	Error *string `json:"error,omitempty"`

	// Standard status fields (includes ID field for console API)
	Status `json:",inline"`
}

AgentRunStatus defines the observed state of AgentRun

func (*AgentRunStatus) DeepCopy

func (in *AgentRunStatus) DeepCopy() *AgentRunStatus

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

func (*AgentRunStatus) DeepCopyInto

func (in *AgentRunStatus) DeepCopyInto(out *AgentRunStatus)

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

type AgentRuntime

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

	Spec   AgentRuntimeSpec `json:"spec,omitempty"`
	Status Status           `json:"status,omitempty"`
}

AgentRuntime is the Schema for the agentruntimes API

func (*AgentRuntime) Attributes

func (in *AgentRuntime) Attributes() console.AgentRuntimeAttributes

func (*AgentRuntime) ConsoleID

func (in *AgentRuntime) ConsoleID() *string

ConsoleID implements [PluralResource] interface

func (*AgentRuntime) ConsoleName

func (in *AgentRuntime) ConsoleName() string

func (*AgentRuntime) DeepCopy

func (in *AgentRuntime) DeepCopy() *AgentRuntime

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

func (*AgentRuntime) DeepCopyInto

func (in *AgentRuntime) DeepCopyInto(out *AgentRuntime)

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

func (*AgentRuntime) DeepCopyObject

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

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

func (*AgentRuntime) Diff

func (in *AgentRuntime) Diff(hasher Hasher) (changed bool, sha string, err error)

func (*AgentRuntime) SetCondition

func (in *AgentRuntime) SetCondition(condition metav1.Condition)

type AgentRuntimeBindings

type AgentRuntimeBindings struct {
	// Create bindings control who can generate new agent runtimes.
	// +kubebuilder:validation:Optional
	Create []Binding `json:"create,omitempty"`
}

func (*AgentRuntimeBindings) DeepCopy

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

func (*AgentRuntimeBindings) DeepCopyInto

func (in *AgentRuntimeBindings) DeepCopyInto(out *AgentRuntimeBindings)

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

type AgentRuntimeConfig

type AgentRuntimeConfig struct {
	// Config for Claude CLI runtime.
	// +kubebuilder:validation:Optional
	Claude *ClaudeConfig `json:"claude,omitempty"`

	// Config for OpenCode CLI runtime.
	// +kubebuilder:validation:Optional
	OpenCode *OpenCodeConfig `json:"opencode,omitempty"`

	// Config for Gemini CLI runtime.
	// +kubebuilder:validation:Optional
	Gemini *GeminiConfig `json:"gemini,omitempty"`

	// Codex config for Codex CLI runtime.
	// +kubebuilder:validation:Optional
	Codex *CodexConfig `json:"codex,omitempty"`
}

AgentRuntimeConfig contains typed configuration for the agent runtime.

func (*AgentRuntimeConfig) DeepCopy

func (in *AgentRuntimeConfig) DeepCopy() *AgentRuntimeConfig

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

func (*AgentRuntimeConfig) DeepCopyInto

func (in *AgentRuntimeConfig) DeepCopyInto(out *AgentRuntimeConfig)

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

func (*AgentRuntimeConfig) ToAgentRuntimeConfigRaw

func (in *AgentRuntimeConfig) ToAgentRuntimeConfigRaw(secretGetter func(corev1.SecretKeySelector) (*corev1.Secret, error)) (*AgentRuntimeConfigRaw, error)

type AgentRuntimeConfigRaw

type AgentRuntimeConfigRaw struct {
	// Claude is the raw configuration for the Claude runtime.
	// +kubebuilder:validation:Optional
	Claude *ClaudeConfigRaw `json:"claude,omitempty"`

	// OpenCode is the raw configuration for the OpenCode runtime.
	// +kubebuilder:validation:Optional
	OpenCode *OpenCodeConfigRaw `json:"opencode,omitempty"`

	// Gemini is the raw configuration for the Gemini runtime.
	// +kubebuilder:validation:Optional
	Gemini *GeminiConfigRaw `json:"gemini,omitempty"`

	// Codex is the raw configuration for the Codex runtime.
	// +kubebuilder:validation:Optional
	Codex *CodexConfigRaw `json:"codex,omitempty"`
}

AgentRuntimeConfigRaw contains raw configuration for the agent runtime.

NOTE: Do not embed this struct directly, use AgentRuntimeConfig instead. This is only used to read original AgentRuntimeConfig secret data and be able to inject it into the pod as env vars.

func (*AgentRuntimeConfigRaw) DeepCopy

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

func (*AgentRuntimeConfigRaw) DeepCopyInto

func (in *AgentRuntimeConfigRaw) DeepCopyInto(out *AgentRuntimeConfigRaw)

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

type AgentRuntimeList

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

AgentRuntimeList contains a list of AgentRuntime

func (*AgentRuntimeList) DeepCopy

func (in *AgentRuntimeList) DeepCopy() *AgentRuntimeList

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

func (*AgentRuntimeList) DeepCopyInto

func (in *AgentRuntimeList) DeepCopyInto(out *AgentRuntimeList)

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

func (*AgentRuntimeList) DeepCopyObject

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

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

type AgentRuntimeReference

type AgentRuntimeReference struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

func (*AgentRuntimeReference) DeepCopy

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

func (*AgentRuntimeReference) DeepCopyInto

func (in *AgentRuntimeReference) DeepCopyInto(out *AgentRuntimeReference)

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

type AgentRuntimeSpec

type AgentRuntimeSpec struct {
	// Name of this AgentRuntime.
	// If not provided, the name from AgentRuntime.ObjectMeta will be used.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty"`

	// Default indicates whether this is the default agent runtime for coding agents.
	// +kubebuilder:validation:Optional
	Default *bool `json:"default,omitempty"`

	// +kubebuilder:validation:Required
	TargetNamespace string `json:"targetNamespace"`

	// Type specifies the agent runtime to use for executing the stack.
	// One of CLAUDE, OPENCODE, GEMINI, CODEX, CUSTOM.
	// +kubebuilder:validation:Enum=CLAUDE;OPENCODE;GEMINI;CODEX;CUSTOM
	// +kubebuilder:validation:Required
	Type console.AgentRuntimeType `json:"type"`

	// Bindings define the creation permissions for this agent runtime.
	// +kubebuilder:validation:Optional
	Bindings *AgentRuntimeBindings `json:"bindings,omitempty"`

	// Template defines the pod template for this agent runtime.
	Template *corev1.PodTemplateSpec `json:"template,omitempty"`

	// Config contains typed configuration depending on the chosen runtime type.
	// +kubebuilder:validation:Optional
	Config *AgentRuntimeConfig `json:"config,omitempty"`

	// AiProxy specifies whether the agent runtime should be proxied through the AI proxy.
	AiProxy *bool `json:"aiProxy,omitempty"`

	// Dind enables Docker-in-Docker for this agent runtime.
	// When true, the runtime will be configured to run with DinD support.
	// +kubebuilder:validation:Optional
	Dind *bool `json:"dind,omitempty"`

	// AllowedRepositories the git repositories allowed to be used with this runtime.
	// +kubebuilder:validation:Optional
	AllowedRepositories []string `json:"allowedRepositories,omitempty"`

	// Browser configuration augments agent runtime with a headless browser.
	// When provided, the runtime will be configured to run with a headless browser available
	// for the agent to use.
	// +kubebuilder:validation:Optional
	Browser *BrowserConfig `json:"browser,omitempty"`

	// BootstrapScript is a bash script that will be executed inside the cloned repository
	// directory before the coding agent starts. It can be used to install dependencies,
	// configure tooling, or perform any other setup required by the agent.
	// +kubebuilder:validation:Optional
	BootstrapScript *string `json:"bootstrapScript,omitempty"`

	// Git configure commit signing on agent run. When provided, the runtime will be configured to sign git commits using the provided key reference.
	Git *GitSpec `json:"git,omitempty"`

	// BabysitInterval configures the interval for the operator to check on the health of the agent runtime and perform necessary babysitting actions (e.g. restarting unhealthy runtimes). When not provided, a default interval of 1 minute will be used.
	BabysitInterval *metav1.Duration `json:"babysitInterval,omitempty"`

	// ExaMcpServers defines external MCP servers that the agent runtime should connect to. When provided, the runtime will be configured to connect to these external MCP servers for tool and action execution.
	ExaMcpServers []ExaMcpServerConfig `json:"exaMcpServers,omitempty"`
}

AgentRuntimeSpec defines the desired state of AgentRuntime

func (*AgentRuntimeSpec) DeepCopy

func (in *AgentRuntimeSpec) DeepCopy() *AgentRuntimeSpec

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

func (*AgentRuntimeSpec) DeepCopyInto

func (in *AgentRuntimeSpec) DeepCopyInto(out *AgentRuntimeSpec)

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

type Binding

type Binding struct {
	// +kubebuilder:validation:Optional
	ID *string `json:"id,omitempty"`

	// +kubebuilder:validation:Optional
	UserID *string `json:"UserID,omitempty"`

	// +kubebuilder:validation:Optional
	UserEmail *string `json:"userEmail,omitempty"`

	// +kubebuilder:validation:Optional
	GroupID *string `json:"groupID,omitempty"`

	// +kubebuilder:validation:Optional
	GroupName *string `json:"groupName,omitempty"`
}

Binding ...

func (*Binding) Attributes

func (b *Binding) Attributes() *console.PolicyBindingAttributes

func (*Binding) DeepCopy

func (in *Binding) DeepCopy() *Binding

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

func (*Binding) DeepCopyInto

func (in *Binding) DeepCopyInto(out *Binding)

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

type Bindings

type Bindings struct {
	// Read bindings.
	// +kubebuilder:validation:Optional
	Read []Binding `json:"read,omitempty"`

	// Write bindings.
	// +kubebuilder:validation:Optional
	Write []Binding `json:"write,omitempty"`
}

Bindings represents a policy bindings that can be used to define read/write permissions to this resource for users/groups in the system.

func (*Bindings) DeepCopy

func (in *Bindings) DeepCopy() *Bindings

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

func (*Bindings) DeepCopyInto

func (in *Bindings) DeepCopyInto(out *Bindings)

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

type Browser

type Browser string

Browser defines the browser to use for the agent runtime.

const (
	BrowserChrome           Browser = "chrome"
	BrowserChromium         Browser = "chromium"
	BrowserFirefox          Browser = "firefox"
	BrowserSeleniumChrome   Browser = "selenium-chrome"
	BrowserSeleniumChromium Browser = "selenium-chromium"
	BrowserSeleniumFirefox  Browser = "selenium-firefox"
	BrowserSeleniumEdge     Browser = "selenium-edge"
	BrowserPuppeteer        Browser = "puppeteer"
	BrowserCustom           Browser = "custom"
)

type BrowserConfig

type BrowserConfig struct {
	// Enabled controls whether the browser runtime is enabled for this agent runtime.
	//
	// +kubebuilder:validation:Required
	Enabled bool `json:"enabled"`

	// Browser defines the browser to use. When using non-custom options,
	// predefined images with validated configurations will be used. Default configuration
	// can be overridden by specifying a custom Container. When using a "custom" browser,
	// a custom Container configuration must be provided.
	//
	// Available options are:
	// - chrome - uses browserless/chrome image
	// - chromium - uses browserless/chromium image
	// - firefox - uses browserless/firefox image
	// - selenium-chrome - uses selenium/standalone-chrome image
	// - selenium-chromium - uses selenium/standalone-chromium image
	// - selenium-firefox - uses selenium/standalone-firefox image
	// - selenium-edge - uses selenium/standalone-edge image
	// - puppeteer - uses browserless/chromium image
	// - custom
	//
	// Default: chrome
	//
	// +kubebuilder:validation:Enum:=chrome;chromium;firefox;selenium-chrome;selenium-chromium;selenium-firefox;selenium-edge;puppeteer;custom
	// +kubebuilder:default:=chrome
	// +kubebuilder:validation:Optional
	Browser *Browser `json:"browser,omitempty"`

	// Container defines the container to use for the browser runtime.
	// For custom images, ensure the container starts a browser server and binds to
	// the predetermined port 3000 for remote access from the main agent container.
	// When using a predefined image, only partial overrides are allowed, including:
	// - environment variables
	// - resource limits
	// - image pull policy
	//
	//
	// # Examples
	//
	// Selenium:
	//   name: browser
	//   image: selenium/standalone-chrome:144.0
	//   env:
	//   - name: SE_OPTS
	//     value: "--port 3000"
	//
	// +kubebuilder:validation:Optional
	Container *corev1.Container `json:"container,omitempty"`
}

BrowserConfig is the configuration for the browser runtime. It allows AgentRuntime to leverage a headless browser for executing and testing code.

func (*BrowserConfig) DeepCopy

func (in *BrowserConfig) DeepCopy() *BrowserConfig

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

func (*BrowserConfig) DeepCopyInto

func (in *BrowserConfig) DeepCopyInto(out *BrowserConfig)

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

func (*BrowserConfig) IsEnabled

func (in *BrowserConfig) IsEnabled() bool

type CapiConfigurationClusterSpec

type CapiConfigurationClusterSpec struct {
	// Cluster is a simplified representation of the Console API cluster
	// object. See [ClusterSpec] for more information.
	// +kubebuilder:validation:Optional
	Cluster *ClusterSpec `json:"cluster,omitempty"`

	// TokenSecretRef contains the reference to the secret holding the token to access the Console API
	// +kubebuilder:validation:Required
	ConsoleTokenSecretRef corev1.SecretKeySelector `json:"consoleTokenSecretRef"`

	// CapiClusterRef contains the reference to the CAPI cluster
	// +kubebuilder:validation:Required
	CapiClusterRef corev1.ObjectReference `json:"capiClusterRef"`

	// Agent allows configuring agent specific helm chart options.
	// +kubebuilder:validation:Optional
	Agent *AgentHelmConfiguration `json:"agent,omitempty"`
}

func (*CapiConfigurationClusterSpec) DeepCopy

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

func (*CapiConfigurationClusterSpec) DeepCopyInto

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

func (*CapiConfigurationClusterSpec) GetAgent

type ClaudeConfig

type ClaudeConfig struct {
	// ApiKeySecretRef Reference to a Kubernetes Secret containing the Claude API key.
	ApiKeySecretRef *corev1.SecretKeySelector `json:"apiKeySecretRef,omitempty"`

	// Model Name of the model to use.
	Model *string `json:"model,omitempty"`

	// Endpoint is the base URL for the Claude API (supports Bedrock/Anthropic-compatible endpoints).
	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty"`

	// ExtraArgs CLI args for advanced flags not modeled here
	ExtraArgs []string `json:"extraArgs,omitempty"`

	// Timeout bounds a single claude CLI run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// BashTimeout is the default timeout for any bash command Claude execute.
	// +kubebuilder:validation:Optional
	BashTimeout *metav1.Duration `json:"bashTimeout,omitempty"`

	// BashMaxTimeout is the maximum time Claude is permitted to wait
	// for a command before it is terminated.
	// +kubebuilder:validation:Optional
	BashMaxTimeout *metav1.Duration `json:"bashMaxTimeout,omitempty"`
}

ClaudeConfig contains configuration for the Claude CLI runtime.

func (*ClaudeConfig) DeepCopy

func (in *ClaudeConfig) DeepCopy() *ClaudeConfig

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

func (*ClaudeConfig) DeepCopyInto

func (in *ClaudeConfig) DeepCopyInto(out *ClaudeConfig)

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

func (*ClaudeConfig) ToClaudeConfigRaw

func (in *ClaudeConfig) ToClaudeConfigRaw(secretGetter func(corev1.SecretKeySelector) (*corev1.Secret, error)) (*ClaudeConfigRaw, error)

type ClaudeConfigRaw

type ClaudeConfigRaw struct {
	// ApiKey is the raw API key to use.
	ApiKey string `json:"apiKey"`

	// Model Name of the model to use.
	Model *string `json:"model,omitempty"`

	// Endpoint is the base URL for the Claude API (supports Bedrock/Anthropic-compatible endpoints).
	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty"`

	// ExtraArgs CLI args for advanced flags not modeled here
	ExtraArgs []string `json:"extraArgs,omitempty"`

	// Timeout bounds a single claude CLI run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// BashTimeout is the default timeout for any bash command Claude executes.
	// +kubebuilder:validation:Optional
	BashTimeout *metav1.Duration `json:"bashTimeout,omitempty"`

	// BashMaxTimeout is the maximum time Claude is permitted to wait
	// for a command before it is terminated.
	// +kubebuilder:validation:Optional
	BashMaxTimeout *metav1.Duration `json:"bashMaxTimeout,omitempty"`
}

ClaudeConfigRaw contains configuration for the Claude CLI runtime.

NOTE: Do not embed this struct directly, use ClaudeConfig instead. This is only used to read original ClaudeConfig secret data and be able to inject it into the pod as env vars.

func (*ClaudeConfigRaw) DeepCopy

func (in *ClaudeConfigRaw) DeepCopy() *ClaudeConfigRaw

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

func (*ClaudeConfigRaw) DeepCopyInto

func (in *ClaudeConfigRaw) DeepCopyInto(out *ClaudeConfigRaw)

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

type ClusterDrain

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

	Spec   ClusterDrainSpec   `json:"spec,omitempty"`
	Status ClusterDrainStatus `json:"status,omitempty"`
}

ClusterDrain is the Schema for the ClusterDrain object

func (*ClusterDrain) DeepCopy

func (in *ClusterDrain) DeepCopy() *ClusterDrain

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

func (*ClusterDrain) DeepCopyInto

func (in *ClusterDrain) DeepCopyInto(out *ClusterDrain)

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

func (*ClusterDrain) DeepCopyObject

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

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

func (*ClusterDrain) FindWaveProgress

func (c *ClusterDrain) FindWaveProgress(wave int) *Progress

func (*ClusterDrain) SetCondition

func (c *ClusterDrain) SetCondition(condition metav1.Condition)

func (*ClusterDrain) SetWaveProgress

func (c *ClusterDrain) SetWaveProgress(newProgress Progress) bool

type ClusterDrainList

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

ClusterDrainList contains a list of ClusterDrain

func (*ClusterDrainList) DeepCopy

func (in *ClusterDrainList) DeepCopy() *ClusterDrainList

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

func (*ClusterDrainList) DeepCopyInto

func (in *ClusterDrainList) DeepCopyInto(out *ClusterDrainList)

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

func (*ClusterDrainList) DeepCopyObject

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

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

type ClusterDrainSpec

type ClusterDrainSpec struct {
	FlowControl   FlowControl           `json:"flowControl"`
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}

ClusterDrainSpec defines the desired state of ClusterDrain

func (*ClusterDrainSpec) DeepCopy

func (in *ClusterDrainSpec) DeepCopy() *ClusterDrainSpec

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

func (*ClusterDrainSpec) DeepCopyInto

func (in *ClusterDrainSpec) DeepCopyInto(out *ClusterDrainSpec)

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

type ClusterDrainStatus

type ClusterDrainStatus struct {
	// Represents the observations of a HealthConvert current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
	Progress   []Progress         `json:"progress,omitempty"`
}

ClusterDrainStatus defines the observed state of ClusterDrain

func (*ClusterDrainStatus) DeepCopy

func (in *ClusterDrainStatus) DeepCopy() *ClusterDrainStatus

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

func (*ClusterDrainStatus) DeepCopyInto

func (in *ClusterDrainStatus) DeepCopyInto(out *ClusterDrainStatus)

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

type ClusterSpec

type ClusterSpec struct {
	// Handle is a short, unique human-readable name used to identify this cluster.
	// Does not necessarily map to the cloud resource name.
	// +kubebuilder:validation:Optional
	// +kubebuilder:example:=myclusterhandle
	Handle *string `json:"handle,omitempty"`

	// Tags used to filter clusters.
	// +kubebuilder:validation:Optional
	Tags map[string]string `json:"tags,omitempty"`

	// Metadata for the cluster
	// +kubebuilder:validation:Optional
	Metadata *runtime.RawExtension `json:"metadata,omitempty"`

	// Bindings contain read and write policies of this cluster
	// +kubebuilder:validation:Optional
	Bindings *Bindings `json:"bindings,omitempty"`
}

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type CodexConfig

type CodexConfig struct {
	// ApiKeySecretRef Reference to a Kubernetes Secret containing the Codex API key.
	ApiKeySecretRef *corev1.SecretKeySelector `json:"apiKeySecretRef,omitempty"`

	// Model to use.
	Model *string `json:"model,omitempty"`

	// Endpoint is the base URL for the Codex API (supports OpenAI/Azure-compatible endpoints).
	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty"`

	// Timeout bounds a single codex run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

func (*CodexConfig) DeepCopy

func (in *CodexConfig) DeepCopy() *CodexConfig

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

func (*CodexConfig) DeepCopyInto

func (in *CodexConfig) DeepCopyInto(out *CodexConfig)

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

func (*CodexConfig) ToCodexConfigRaw

func (in *CodexConfig) ToCodexConfigRaw(secretGetter func(corev1.SecretKeySelector) (*corev1.Secret, error)) (*CodexConfigRaw, error)

type CodexConfigRaw

type CodexConfigRaw struct {
	// ApiKey is the raw API key to use.
	ApiKey string `json:"apiKey"`

	// Model to use.
	Model *string `json:"model,omitempty"`

	// Endpoint is the base URL for the Codex API (supports OpenAI/Azure-compatible endpoints).
	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty"`

	// Timeout bounds a single codex run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

func (*CodexConfigRaw) DeepCopy

func (in *CodexConfigRaw) DeepCopy() *CodexConfigRaw

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

func (*CodexConfigRaw) DeepCopyInto

func (in *CodexConfigRaw) DeepCopyInto(out *CodexConfigRaw)

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

type ConditionMessage

type ConditionMessage string

func (ConditionMessage) String

func (c ConditionMessage) String() string

type ConditionReason

type ConditionReason string
const (
	ReadyConditionReason             ConditionReason = "Ready"
	ReadyConditionReasonError        ConditionReason = "Error"
	ErrorConditionReason             ConditionReason = "Error"
	SynchronizedConditionReason      ConditionReason = "Synchronized"
	SynchronizedConditionReasonError ConditionReason = "Error"
)

func (ConditionReason) String

func (c ConditionReason) String() string

type ConditionType

type ConditionType string
const (
	ReadonlyConditionType       ConditionType = "Readonly"
	ReadyConditionType          ConditionType = "Ready"
	SynchronizedConditionType   ConditionType = "Synchronized"
	VirtualClusterConditionType ConditionType = "VirtualCluster"
	AgentConditionType          ConditionType = "Agent"
)

func (ConditionType) String

func (c ConditionType) String() string

type CustomHealth

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

	Spec   CustomHealthSpec   `json:"spec,omitempty"`
	Status CustomHealthStatus `json:"status,omitempty"`
}

CustomHealth is the Schema for the HealthConverts API

func (*CustomHealth) DeepCopy

func (in *CustomHealth) DeepCopy() *CustomHealth

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

func (*CustomHealth) DeepCopyInto

func (in *CustomHealth) DeepCopyInto(out *CustomHealth)

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

func (*CustomHealth) DeepCopyObject

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

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

func (*CustomHealth) SetCondition

func (c *CustomHealth) SetCondition(condition metav1.Condition)

type CustomHealthList

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

CustomHealthList contains a list of CustomHealth

func (*CustomHealthList) DeepCopy

func (in *CustomHealthList) DeepCopy() *CustomHealthList

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

func (*CustomHealthList) DeepCopyInto

func (in *CustomHealthList) DeepCopyInto(out *CustomHealthList)

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

func (*CustomHealthList) DeepCopyObject

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

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

type CustomHealthSpec

type CustomHealthSpec struct {
	Script string `json:"script,omitempty"`
}

CustomHealthSpec defines the desired state of CustomHealth

func (*CustomHealthSpec) DeepCopy

func (in *CustomHealthSpec) DeepCopy() *CustomHealthSpec

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

func (*CustomHealthSpec) DeepCopyInto

func (in *CustomHealthSpec) DeepCopyInto(out *CustomHealthSpec)

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

type CustomHealthStatus

type CustomHealthStatus struct {
	// Represents the observations of a HealthConvert current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

CustomHealthStatus defines the observed state of CustomHealth

func (*CustomHealthStatus) DeepCopy

func (in *CustomHealthStatus) DeepCopy() *CustomHealthStatus

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

func (*CustomHealthStatus) DeepCopyInto

func (in *CustomHealthStatus) DeepCopyInto(out *CustomHealthStatus)

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

type ExaMcpServerConfig

type ExaMcpServerConfig struct {
	Name   string                    `json:"name"`
	Url    string                    `json:"url"`
	ApiKey *corev1.SecretKeySelector `json:"apiKey,omitempty"`
}

func (*ExaMcpServerConfig) DeepCopy

func (in *ExaMcpServerConfig) DeepCopy() *ExaMcpServerConfig

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

func (*ExaMcpServerConfig) DeepCopyInto

func (in *ExaMcpServerConfig) DeepCopyInto(out *ExaMcpServerConfig)

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

func (*ExaMcpServerConfig) ToExaMcpServerConfigRaw

func (in *ExaMcpServerConfig) ToExaMcpServerConfigRaw(secretGetter func(corev1.SecretKeySelector) (*corev1.Secret, error)) (*ExaMcpServerConfigRaw, error)

type ExaMcpServerConfigRaw

type ExaMcpServerConfigRaw struct {
	Name string `json:"name"`

	Url string `json:"url"`

	// ApiKey is the raw API key to use for the external MCP server.
	ApiKey *string `json:"apiKey,omitempty"`
}

func (*ExaMcpServerConfigRaw) DeepCopy

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

func (*ExaMcpServerConfigRaw) DeepCopyInto

func (in *ExaMcpServerConfigRaw) DeepCopyInto(out *ExaMcpServerConfigRaw)

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

type FlowControl

type FlowControl struct {
	Percentage     *int `json:"percentage,omitempty"`
	MaxConcurrency *int `json:"maxConcurrency,omitempty"`
}

func (*FlowControl) DeepCopy

func (in *FlowControl) DeepCopy() *FlowControl

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

func (*FlowControl) DeepCopyInto

func (in *FlowControl) DeepCopyInto(out *FlowControl)

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

type GateSpec

type GateSpec struct {
	// resuse JobSpec type from the kubernetes api
	JobSpec *batchv1.JobSpec `json:"job"`
}

GateSpec defines the detailed gate specifications

func (*GateSpec) DeepCopy

func (in *GateSpec) DeepCopy() *GateSpec

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

func (*GateSpec) DeepCopyInto

func (in *GateSpec) DeepCopyInto(out *GateSpec)

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

type GateState

type GateState console.GateState

+kubebuilder:validation:Enum=PENDING;OPEN;CLOSED;RUNNING GateState represents the state of a gate, reused from console client

type GateType

type GateType console.GateType

+kubebuilder:validation:Enum=APPROVAL;WINDOW;JOB GateType represents the type of a gate, reused from console client

type GeminiConfig

type GeminiConfig struct {
	// APIKeySecretRef is a reference to a Kubernetes Secret containing the Gemini API key.
	APIKeySecretRef corev1.SecretKeySelector `json:"apiKeySecretRef,omitempty"`

	// Model is the name of the model to use.
	// NOTE: gemini flash lite models and are not fit for the write (agent) mode, and
	// should only be used for analysis.
	// +kubebuilder:validation:Optional
	Model *string `json:"model,omitempty"`

	// Timeout bounds a single gemini run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// InactivityTimeout is the timeout for inactivity during a gemini run.
	// +kubebuilder:validation:Optional
	InactivityTimeout *metav1.Duration `json:"inactivityTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty"`
}

GeminiConfig contains configuration for the Gemini CLI runtime.

func (*GeminiConfig) DeepCopy

func (in *GeminiConfig) DeepCopy() *GeminiConfig

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

func (*GeminiConfig) DeepCopyInto

func (in *GeminiConfig) DeepCopyInto(out *GeminiConfig)

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

func (*GeminiConfig) Raw

func (in *GeminiConfig) Raw(secretGetter func(corev1.SecretKeySelector) (*corev1.Secret, error)) (*GeminiConfigRaw, error)

type GeminiConfigRaw

type GeminiConfigRaw struct {
	// APIKey is the raw Gemini API key to use.
	APIKey string `json:"apiKey"`

	// Model is the name of the model to use.
	Model *string `json:"model,omitempty"`

	// Timeout bounds a single gemini run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// InactivityTimeout is the timeout for inactivity during gemini run.
	// +kubebuilder:validation:Optional
	InactivityTimeout *metav1.Duration `json:"inactivityTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty"`
}

GeminiConfigRaw contains configuration for the Gemini CLI runtime.

NOTE: Do not embed this struct directly, use GeminiConfig instead. This is only used to read original GeminiConfig secret data and be able to inject it into the pod as env vars.

func (*GeminiConfigRaw) DeepCopy

func (in *GeminiConfigRaw) DeepCopy() *GeminiConfigRaw

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

func (*GeminiConfigRaw) DeepCopyInto

func (in *GeminiConfigRaw) DeepCopyInto(out *GeminiConfigRaw)

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

type GitSpec

type GitSpec struct {
	Proxy         *string                   `json:"proxy,omitempty"`
	SigningKeyRef *corev1.SecretKeySelector `json:"signingKeyRef,omitempty"`
}

func (*GitSpec) DeepCopy

func (in *GitSpec) DeepCopy() *GitSpec

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

func (*GitSpec) DeepCopyInto

func (in *GitSpec) DeepCopyInto(out *GitSpec)

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

type Hasher

type Hasher func(interface{}) (string, error)

Hasher +kubebuilder:object:generate:=false

type HelmConfiguration

type HelmConfiguration struct {
	// ChartName is a helm chart name.
	ChartName *string `json:"chartName,omitempty"`

	// RepoUrl is a url that points to this helm chart.
	// +kubebuilder:validation:Type:=string
	// +kubebuilder:validation:Optional
	RepoUrl *string `json:"repoUrl,omitempty"`

	// Values allows defining arbitrary YAML values to pass to the helm as values.yaml file.
	// Use only one of:
	// 	- Values
	//	- ValuesSecretRef
	//	- ValuesConfigMapRef
	// +kubebuilder:validation:Optional
	Values *runtime.RawExtension `json:"values,omitempty"`

	// ValuesSecretRef fetches helm values from a secret in this cluster.
	// Use only one of:
	// 	- Values
	//	- ValuesSecretRef
	//	- ValuesConfigMapRef
	// +kubebuilder:validation:Optional
	ValuesSecretRef *corev1.SecretKeySelector `json:"valuesSecretRef,omitempty"`

	// ValuesConfigMapRef fetches helm values from a config map in this cluster.
	// Use only one of:
	// 	- Values
	//	- ValuesSecretRef
	//	- ValuesConfigMapRef
	// +kubebuilder:validation:Optional
	ValuesConfigMapRef *corev1.ConfigMapKeySelector `json:"valuesConfigMapRef,omitempty"`
}

func (*HelmConfiguration) DeepCopy

func (in *HelmConfiguration) DeepCopy() *HelmConfiguration

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

func (*HelmConfiguration) DeepCopyInto

func (in *HelmConfiguration) DeepCopyInto(out *HelmConfiguration)

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

type HelmSpec

type HelmSpec struct {
	// Agent allows configuring agent specific helm chart options.
	// +kubebuilder:validation:Optional
	Agent *AgentHelmConfiguration `json:"agent,omitempty"`

	// VCluster allows configuring vcluster specific helm chart options.
	// +kubebuilder:validation:Optional
	VCluster *VClusterHelmConfiguration `json:"vcluster,omitempty"`
}

func (*HelmSpec) DeepCopy

func (in *HelmSpec) DeepCopy() *HelmSpec

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

func (*HelmSpec) DeepCopyInto

func (in *HelmSpec) DeepCopyInto(out *HelmSpec)

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

func (*HelmSpec) GetAgent

func (in *HelmSpec) GetAgent() *AgentHelmConfiguration

func (*HelmSpec) GetVCluster

func (in *HelmSpec) GetVCluster() *VClusterHelmConfiguration

type IngressReplica

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

	// Spec of the IngressReplica
	// +kubebuilder:validation:Required
	Spec IngressReplicaSpec `json:"spec"`

	// Status of the IngressReplica
	// +kubebuilder:validation:Optional
	Status Status `json:"status,omitempty"`
}

IngressReplica is the Schema for the console ingress replica +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:subresource:status

func (*IngressReplica) DeepCopy

func (in *IngressReplica) DeepCopy() *IngressReplica

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

func (*IngressReplica) DeepCopyInto

func (in *IngressReplica) DeepCopyInto(out *IngressReplica)

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

func (*IngressReplica) DeepCopyObject

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

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

func (*IngressReplica) SetCondition

func (in *IngressReplica) SetCondition(condition metav1.Condition)

type IngressReplicaList

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

IngressReplicaList contains a list of IngressReplica +kubebuilder:object:root=true

func (*IngressReplicaList) DeepCopy

func (in *IngressReplicaList) DeepCopy() *IngressReplicaList

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

func (*IngressReplicaList) DeepCopyInto

func (in *IngressReplicaList) DeepCopyInto(out *IngressReplicaList)

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

func (*IngressReplicaList) DeepCopyObject

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

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

type IngressReplicaSpec

type IngressReplicaSpec struct {
	// +kubebuilder:validation:Required
	IngressRef corev1.ObjectReference `json:"ingressRef"`

	// +kubebuilder:validation:Optional
	IngressClassName *string `json:"ingressClassName,omitempty"`

	// +kubebuilder:validation:Optional
	TLS []v1.IngressTLS `json:"tls,omitempty"`

	// +kubebuilder:validation:Required
	HostMappings map[string]string `json:"hostMappings"`
}

func (*IngressReplicaSpec) DeepCopy

func (in *IngressReplicaSpec) DeepCopy() *IngressReplicaSpec

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

func (*IngressReplicaSpec) DeepCopyInto

func (in *IngressReplicaSpec) DeepCopyInto(out *IngressReplicaSpec)

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

type KubecostExtractor

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

	Spec KubecostExtractorSpec `json:"spec"`

	// Status of the MetricsAggregate
	Status Status `json:"status,omitempty"`
}

KubecostExtractor +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status

func (*KubecostExtractor) DeepCopy

func (in *KubecostExtractor) DeepCopy() *KubecostExtractor

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

func (*KubecostExtractor) DeepCopyInto

func (in *KubecostExtractor) DeepCopyInto(out *KubecostExtractor)

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

func (*KubecostExtractor) DeepCopyObject

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

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

func (*KubecostExtractor) SetCondition

func (in *KubecostExtractor) SetCondition(condition metav1.Condition)

type KubecostExtractorList

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

KubecostExtractorList contains a list of KubecostExtractor +kubebuilder:object:root=true

func (*KubecostExtractorList) DeepCopy

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

func (*KubecostExtractorList) DeepCopyInto

func (in *KubecostExtractorList) DeepCopyInto(out *KubecostExtractorList)

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

func (*KubecostExtractorList) DeepCopyObject

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

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

type KubecostExtractorSpec

type KubecostExtractorSpec struct {
	// +kubebuilder:default="1h"
	// +kubebuilder:validation:Optional
	Interval           *string                `json:"interval,omitempty"`
	KubecostServiceRef corev1.ObjectReference `json:"kubecostServiceRef"`
	// +kubebuilder:validation:Optional
	KubecostPort *int32 `json:"kubecostPort,omitempty"`
	// RecommendationThreshold float value for example: `1.2 or 0.001`
	RecommendationThreshold string `json:"recommendationThreshold"`
	// +kubebuilder:validation:Optional
	RecommendationsSettings *RecommendationsSettings `json:"recommendationsSettings,omitempty"`
}

func (*KubecostExtractorSpec) DeepCopy

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

func (*KubecostExtractorSpec) DeepCopyInto

func (in *KubecostExtractorSpec) DeepCopyInto(out *KubecostExtractorSpec)

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

func (*KubecostExtractorSpec) GetInterval

func (in *KubecostExtractorSpec) GetInterval() time.Duration

func (*KubecostExtractorSpec) GetPort

func (in *KubecostExtractorSpec) GetPort() string

type MetricsAggregate

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

	// Status of the MetricsAggregate
	// +kubebuilder:validation:Optional
	// +kubebuilder:printcolumn:name="Nodes",type=integer,JSONPath=".status.nodes",description="Number of Cluster Nodes"
	// +kubebuilder:printcolumn:name="MemoryTotalBytes",type=integer,JSONPath=".status.memoryTotalBytes",description="Memory total bytes"
	// +kubebuilder:printcolumn:name="MemoryAvailableBytes",type=integer,JSONPath=".status.memoryAvailableBytes",description="Memory available bytes"
	// +kubebuilder:printcolumn:name="MemoryUsedPercentage",type=integer,JSONPath=".status.memoryUsedPercentage",description="Memory used percentage"
	// +kubebuilder:printcolumn:name="CPUTotalMillicores",type=integer,JSONPath=".status.cpuTotalMillicores",description="CPU total millicores"
	// +kubebuilder:printcolumn:name="CPUAvailableMillicores",type=integer,JSONPath=".status.cpuAvailableMillicores",description="CPU available millicores"
	// +kubebuilder:printcolumn:name="CPUUsedPercentage",type=integer,JSONPath=".status.cpuUsedPercentage",description="CPU used percentage"
	Status MetricsAggregateStatus `json:"status,omitempty"`
}

MetricsAggregate +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status

func (*MetricsAggregate) DeepCopy

func (in *MetricsAggregate) DeepCopy() *MetricsAggregate

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

func (*MetricsAggregate) DeepCopyInto

func (in *MetricsAggregate) DeepCopyInto(out *MetricsAggregate)

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

func (*MetricsAggregate) DeepCopyObject

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

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

func (*MetricsAggregate) SetCondition

func (in *MetricsAggregate) SetCondition(condition metav1.Condition)

type MetricsAggregateList

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

MetricsAggregateList contains a list of MetricsAggregate +kubebuilder:object:root=true

func (*MetricsAggregateList) DeepCopy

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

func (*MetricsAggregateList) DeepCopyInto

func (in *MetricsAggregateList) DeepCopyInto(out *MetricsAggregateList)

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

func (*MetricsAggregateList) DeepCopyObject

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

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

type MetricsAggregateStatus

type MetricsAggregateStatus struct {
	Nodes int `json:"nodes,omitempty"`
	// MemoryTotalBytes current memory usage in bytes
	MemoryTotalBytes int64 `json:"memoryTotalBytes,omitempty"`
	// MemoryAvailableBytes available memory for node
	MemoryAvailableBytes int64 `json:"memoryAvailableBytes,omitempty"`
	// MemoryUsedPercentage in percentage
	MemoryUsedPercentage int64 `json:"memoryUsedPercentage,omitempty"`
	// CPUTotalMillicores in m cores
	CPUTotalMillicores int64 `json:"cpuTotalMillicores,omitempty"`
	// CPUAvailableMillicores in m cores
	CPUAvailableMillicores int64 `json:"cpuAvailableMillicores,omitempty"`
	// CPUUsedPercentage in percentage
	CPUUsedPercentage int64 `json:"cpuUsedPercentage,omitempty"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*MetricsAggregateStatus) DeepCopy

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

func (*MetricsAggregateStatus) DeepCopyInto

func (in *MetricsAggregateStatus) DeepCopyInto(out *MetricsAggregateStatus)

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

type OpenCodeConfig

type OpenCodeConfig struct {
	// Provider is the OpenCode provider to use.
	// +kubebuilder:validation:Enum=plural;openai
	// +kubebuilder:validation:Required
	Provider string `json:"provider"`

	// Endpoint API endpoint for the OpenCode service.
	// +kubebuilder:validation:Required
	// Endpoint for the OpenCode service (can be any OpenAI-compatible API endpoint).
	Endpoint string `json:"endpoint"`

	// Model is the LLM model to use.
	// +kubebuilder:validation:Optional
	Model *string `json:"model,omitempty"`

	// TokenSecretRef is a reference to a Kubernetes Secret containing the API token for OpenCode.
	// +kubebuilder:validation:Required
	TokenSecretRef corev1.SecretKeySelector `json:"tokenSecretRef"`

	// ExtraArgs args for advanced or experimental CLI flags.
	//
	// Deprecated: It is being ignored by the agent harness.
	ExtraArgs []string `json:"extraArgs,omitempty"`

	// Timeout bounds a single opencode run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

OpenCodeConfig contains configuration for the OpenCode CLI runtime.

func (*OpenCodeConfig) DeepCopy

func (in *OpenCodeConfig) DeepCopy() *OpenCodeConfig

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

func (*OpenCodeConfig) DeepCopyInto

func (in *OpenCodeConfig) DeepCopyInto(out *OpenCodeConfig)

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

func (*OpenCodeConfig) ToOpenCodeConfigRaw

func (in *OpenCodeConfig) ToOpenCodeConfigRaw(secretGetter func(corev1.SecretKeySelector) (*corev1.Secret, error)) (*OpenCodeConfigRaw, error)

type OpenCodeConfigRaw

type OpenCodeConfigRaw struct {
	// Provider is the OpenCode provider to use.
	Provider string `json:"provider"`

	// Endpoint API endpoint for the OpenCode service.
	Endpoint string `json:"endpoint"`

	// Model is the LLM model to use.
	Model *string `json:"model,omitempty"`

	// Token is the raw API token for OpenCode.
	Token string `json:"tokenSecretRef"`

	// Timeout bounds a single opencode run invocation.
	// +kubebuilder:validation:Optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

OpenCodeConfigRaw contains configuration for the OpenCode CLI runtime.

NOTE: Do not embed this struct directly, use OpenCodeConfig instead. This is only used to read original OpenCodeConfig secret data and be able to inject it into the pod as env vars.

func (*OpenCodeConfigRaw) DeepCopy

func (in *OpenCodeConfigRaw) DeepCopy() *OpenCodeConfigRaw

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

func (*OpenCodeConfigRaw) DeepCopyInto

func (in *OpenCodeConfigRaw) DeepCopyInto(out *OpenCodeConfigRaw)

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

type PipelineGate

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

	Spec   PipelineGateSpec   `json:"spec,omitempty"`
	Status PipelineGateStatus `json:"status,omitempty"`
}

PipelineGate represents a gate blocking promotion along a release pipeline

func (*PipelineGate) CreateNewJobName

func (pg *PipelineGate) CreateNewJobName() string

func (*PipelineGate) CreateNewJobRef

func (pg *PipelineGate) CreateNewJobRef() console.NamespacedName

func (*PipelineGate) DeepCopy

func (in *PipelineGate) DeepCopy() *PipelineGate

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

func (*PipelineGate) DeepCopyInto

func (in *PipelineGate) DeepCopyInto(out *PipelineGate)

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

func (*PipelineGate) DeepCopyObject

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

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

type PipelineGateList

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

+kubebuilder:object:root=true PipelineGateList contains a list of PipelineGate

func (*PipelineGateList) DeepCopy

func (in *PipelineGateList) DeepCopy() *PipelineGateList

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

func (*PipelineGateList) DeepCopyInto

func (in *PipelineGateList) DeepCopyInto(out *PipelineGateList)

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

func (*PipelineGateList) DeepCopyObject

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

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

type PipelineGateSpec

type PipelineGateSpec struct {
	ID       string    `json:"id"`
	Name     string    `json:"name"`
	Type     GateType  `json:"type"`
	GateSpec *GateSpec `json:"gateSpec,omitempty"`
}

PipelineGateSpec defines the detailed gate specifications

func (*PipelineGateSpec) DeepCopy

func (in *PipelineGateSpec) DeepCopy() *PipelineGateSpec

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

func (*PipelineGateSpec) DeepCopyInto

func (in *PipelineGateSpec) DeepCopyInto(out *PipelineGateSpec)

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

type PipelineGateStatus

type PipelineGateStatus struct {
	State  *GateState              `json:"state,omitempty"`
	JobRef *console.NamespacedName `json:"jobRef,omitempty"`
	SHA    *string                 `json:"sha,omitempty"`
}

PipelineGateStatus defines the observed state of the PipelineGate

func (*PipelineGateStatus) DeepCopy

func (in *PipelineGateStatus) DeepCopy() *PipelineGateStatus

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

func (*PipelineGateStatus) DeepCopyInto

func (in *PipelineGateStatus) DeepCopyInto(out *PipelineGateStatus)

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

func (*PipelineGateStatus) GateUpdateAttributes

func (pgs *PipelineGateStatus) GateUpdateAttributes() console.GateUpdateAttributes

func (*PipelineGateStatus) GetConsoleGateState

func (pgs *PipelineGateStatus) GetConsoleGateState() *console.GateState

func (*PipelineGateStatus) GetSHA

func (pgs *PipelineGateStatus) GetSHA() string

func (*PipelineGateStatus) HasJobRef

func (pgs *PipelineGateStatus) HasJobRef() bool

func (*PipelineGateStatus) HasSHA

func (pgs *PipelineGateStatus) HasSHA() bool

func (*PipelineGateStatus) IsClosed

func (pgs *PipelineGateStatus) IsClosed() bool

func (*PipelineGateStatus) IsInitialized

func (pgs *PipelineGateStatus) IsInitialized() bool

func (*PipelineGateStatus) IsOpen

func (pgs *PipelineGateStatus) IsOpen() bool

func (*PipelineGateStatus) IsPending

func (pgs *PipelineGateStatus) IsPending() bool

func (*PipelineGateStatus) IsRunning

func (pgs *PipelineGateStatus) IsRunning() bool

func (*PipelineGateStatus) IsSHAEqual

func (pgs *PipelineGateStatus) IsSHAEqual(sha string) bool

func (*PipelineGateStatus) SetJobRef

func (pgs *PipelineGateStatus) SetJobRef(name string, namespace string) *PipelineGateStatus

func (*PipelineGateStatus) SetSHA

func (pgs *PipelineGateStatus) SetSHA(sha string) *PipelineGateStatus

func (*PipelineGateStatus) SetState

type PluralCAPICluster

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

	// Spec of the CAPI cluster configuration
	// +kubebuilder:validation:Required
	Spec CapiConfigurationClusterSpec `json:"spec"`

	// Status of the CAPI cluster configuration
	// +kubebuilder:validation:Optional
	Status Status `json:"status,omitempty"`
}

PluralCAPICluster is the Schema for the CAPI cluster configuration +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:subresource:status

func (*PluralCAPICluster) Attributes

func (in *PluralCAPICluster) Attributes() console.ClusterAttributes

func (*PluralCAPICluster) ClusterName

func (in *PluralCAPICluster) ClusterName() string

func (*PluralCAPICluster) DeepCopy

func (in *PluralCAPICluster) DeepCopy() *PluralCAPICluster

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

func (*PluralCAPICluster) DeepCopyInto

func (in *PluralCAPICluster) DeepCopyInto(out *PluralCAPICluster)

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

func (*PluralCAPICluster) DeepCopyObject

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

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

func (*PluralCAPICluster) Diff

func (in *PluralCAPICluster) Diff(hasher Hasher) (changed bool, sha string, err error)

func (*PluralCAPICluster) GetConsoleToken

func (in *PluralCAPICluster) GetConsoleToken(ctx context.Context, c k8sClient.Client) (string, error)

func (*PluralCAPICluster) SetCondition

func (in *PluralCAPICluster) SetCondition(condition metav1.Condition)

func (*PluralCAPICluster) UpdateAttributes

func (in *PluralCAPICluster) UpdateAttributes() console.ClusterUpdateAttributes

UpdateAttributes returns the update attributes for this CR by converting the value returned from Attributes().

type PluralCAPIClusterList

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

PluralCAPIClusterList contains a list of PluralCAPICluster +kubebuilder:object:root=true

func (*PluralCAPIClusterList) DeepCopy

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

func (*PluralCAPIClusterList) DeepCopyInto

func (in *PluralCAPIClusterList) DeepCopyInto(out *PluralCAPIClusterList)

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

func (*PluralCAPIClusterList) DeepCopyObject

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

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

type PodTemplateSpec

type PodTemplateSpec struct {
	// Labels to apply to the job for organization and selection.
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations to apply to the job for additional metadata.
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Specification of the desired behavior of the pod.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec corev1.PodSpec `json:"spec,omitempty"`
}

func (*PodTemplateSpec) DeepCopy

func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec

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

func (*PodTemplateSpec) DeepCopyInto

func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)

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

type Progress

type Progress struct {
	Wave       int                      `json:"wave"`
	Percentage int                      `json:"percentage"`
	Count      int                      `json:"count"`
	Failures   []corev1.ObjectReference `json:"failures,omitempty"`
	Cursor     *corev1.ObjectReference  `json:"cursor,omitempty"`
}

func (*Progress) DeepCopy

func (in *Progress) DeepCopy() *Progress

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

func (*Progress) DeepCopyInto

func (in *Progress) DeepCopyInto(out *Progress)

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

func (*Progress) SetStatus

func (p *Progress) SetStatus(failures []corev1.ObjectReference, cursor *corev1.ObjectReference)

type ProviderCredentials

type ProviderCredentials struct {
	// AWS defines attributes required to auth with AWS API.
	// +kubebuilder:validation:Optional
	AWS *AWSProviderCredentials `json:"aws,omitempty"`
}

func (*ProviderCredentials) DeepCopy

func (in *ProviderCredentials) DeepCopy() *ProviderCredentials

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

func (*ProviderCredentials) DeepCopyInto

func (in *ProviderCredentials) DeepCopyInto(out *ProviderCredentials)

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

type RecommendationsSettings

type RecommendationsSettings struct {
	ExcludeNamespaces  []string          `json:"excludeNamespaces,omitempty"`
	RequireAnnotations map[string]string `json:"requireAnnotations,omitempty"`
}

func (*RecommendationsSettings) DeepCopy

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

func (*RecommendationsSettings) DeepCopyInto

func (in *RecommendationsSettings) DeepCopyInto(out *RecommendationsSettings)

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

type SentinelRunJob

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

	Spec   SentinelRunJobSpec   `json:"spec,omitempty"`
	Status SentinelRunJobStatus `json:"status,omitempty"`
}

SentinelRunJob is the Schema for the sentinel run job

func (*SentinelRunJob) DeepCopy

func (in *SentinelRunJob) DeepCopy() *SentinelRunJob

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

func (*SentinelRunJob) DeepCopyInto

func (in *SentinelRunJob) DeepCopyInto(out *SentinelRunJob)

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

func (*SentinelRunJob) DeepCopyObject

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

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

func (*SentinelRunJob) SetCondition

func (s *SentinelRunJob) SetCondition(condition metav1.Condition)

type SentinelRunJobList

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

SentinelRunJobList contains a list of SentinelRunJob

func (*SentinelRunJobList) DeepCopy

func (in *SentinelRunJobList) DeepCopy() *SentinelRunJobList

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

func (*SentinelRunJobList) DeepCopyInto

func (in *SentinelRunJobList) DeepCopyInto(out *SentinelRunJobList)

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

func (*SentinelRunJobList) DeepCopyObject

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

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

type SentinelRunJobSpec

type SentinelRunJobSpec struct {
	// RunID from Console API
	RunID string `json:"runId"`
}

func (*SentinelRunJobSpec) DeepCopy

func (in *SentinelRunJobSpec) DeepCopy() *SentinelRunJobSpec

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

func (*SentinelRunJobSpec) DeepCopyInto

func (in *SentinelRunJobSpec) DeepCopyInto(out *SentinelRunJobSpec)

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

type SentinelRunJobStatus

type SentinelRunJobStatus struct {
	Status `json:",inline"`

	// JobRef Reference to the created Job
	JobRef *v1.LocalObjectReference `json:"jobRef,omitempty"`

	// JobStatus is the status of the Job.
	JobStatus string `json:"jobStatus,omitempty"`
}

func (*SentinelRunJobStatus) DeepCopy

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

func (*SentinelRunJobStatus) DeepCopyInto

func (in *SentinelRunJobStatus) DeepCopyInto(out *SentinelRunJobStatus)

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

type StackRunJob

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

	Spec   StackRunJobSpec   `json:"spec,omitempty"`
	Status StackRunJobStatus `json:"status,omitempty"`
}

StackRunJob is the Schema for the stack run job

func (*StackRunJob) DeepCopy

func (in *StackRunJob) DeepCopy() *StackRunJob

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

func (*StackRunJob) DeepCopyInto

func (in *StackRunJob) DeepCopyInto(out *StackRunJob)

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

func (*StackRunJob) DeepCopyObject

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

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

func (*StackRunJob) SetCondition

func (s *StackRunJob) SetCondition(condition metav1.Condition)

type StackRunJobList

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

SentinelRunJobList contains a list of SentinelRunJob

func (*StackRunJobList) DeepCopy

func (in *StackRunJobList) DeepCopy() *StackRunJobList

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

func (*StackRunJobList) DeepCopyInto

func (in *StackRunJobList) DeepCopyInto(out *StackRunJobList)

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

func (*StackRunJobList) DeepCopyObject

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

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

type StackRunJobSpec

type StackRunJobSpec struct {
	// RunID from Console API
	RunID string `json:"runId"`
}

func (*StackRunJobSpec) DeepCopy

func (in *StackRunJobSpec) DeepCopy() *StackRunJobSpec

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

func (*StackRunJobSpec) DeepCopyInto

func (in *StackRunJobSpec) DeepCopyInto(out *StackRunJobSpec)

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

type StackRunJobStatus

type StackRunJobStatus struct {
	Status `json:",inline"`

	// JobRef Reference to the created Job
	JobRef *v1.LocalObjectReference `json:"jobRef,omitempty"`

	// JobStatus is the status of the Job.
	JobStatus string `json:"jobStatus,omitempty"`
}

func (*StackRunJobStatus) DeepCopy

func (in *StackRunJobStatus) DeepCopy() *StackRunJobStatus

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

func (*StackRunJobStatus) DeepCopyInto

func (in *StackRunJobStatus) DeepCopyInto(out *StackRunJobStatus)

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

type Status

type Status struct {
	// ID of the resource in the Console API.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type:=string
	ID *string `json:"id,omitempty"`
	// SHA of last applied configuration.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type:=string
	SHA *string `json:"sha,omitempty"`
	// Represents the observations of a PrAutomation's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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

func (*Status) GetID

func (p *Status) GetID() string

func (*Status) GetSHA

func (p *Status) GetSHA() string

func (*Status) HasID

func (p *Status) HasID() bool

func (*Status) HasSHA

func (p *Status) HasSHA() bool

func (*Status) IsSHAEqual

func (p *Status) IsSHAEqual(sha string) bool

func (*Status) IsStatusConditionTrue

func (p *Status) IsStatusConditionTrue(condition ConditionType) bool

type UpgradeInsights

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

	Spec   UpgradeInsightsSpec `json:"spec,omitempty"`
	Status Status              `json:"status,omitempty"`
}

UpgradeInsights is the Schema for the UpgradeInsights API +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".status.id",description="ID of the UpgradeInsights in the Console API."

func (*UpgradeInsights) DeepCopy

func (in *UpgradeInsights) DeepCopy() *UpgradeInsights

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

func (*UpgradeInsights) DeepCopyInto

func (in *UpgradeInsights) DeepCopyInto(out *UpgradeInsights)

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

func (*UpgradeInsights) DeepCopyObject

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

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

func (*UpgradeInsights) SetCondition

func (in *UpgradeInsights) SetCondition(condition metav1.Condition)

type UpgradeInsightsDistro

type UpgradeInsightsDistro string

type UpgradeInsightsList

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

UpgradeInsightsList contains a list of UpgradeInsights +kubebuilder:object:root=true

func (*UpgradeInsightsList) DeepCopy

func (in *UpgradeInsightsList) DeepCopy() *UpgradeInsightsList

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

func (*UpgradeInsightsList) DeepCopyInto

func (in *UpgradeInsightsList) DeepCopyInto(out *UpgradeInsightsList)

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

func (*UpgradeInsightsList) DeepCopyObject

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

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

type UpgradeInsightsSpec

type UpgradeInsightsSpec struct {
	// Distro defines which provider API should be used to fetch latest upgrade insights.
	// If not provided, we get the distro from the Plural API cluster tied to this operator deploy token.
	// +kubebuilder:validation:Enum=EKS
	// +kubebuilder:validation:Optional
	Distro *console.ClusterDistro `json:"distro,omitempty"`

	// ClusterName is your cloud provider cluster identifier (usually name) that is used
	// to fetch latest upgrade insights information from the cloud provider API.
	// If not provided, we get the cluster name from the Plural API cluster tied to this
	// operator deploy token and assume that it is the same as the cluster name in your cloud provider.
	// +kubebuilder:validation:Optional
	ClusterName *string `json:"clusterName,omitempty"`

	// Interval defines how often should the upgrade insights information be fetched.
	// +kubebuilder:default="10m"
	// +kubebuilder:validation:Optional
	Interval *string `json:"interval,omitempty"`

	// Credentials allow overriding default provider credentials bound to the operator.
	// +kubebuilder:validation:Optional
	Credentials *ProviderCredentials `json:"credentials,omitempty"`
}

func (*UpgradeInsightsSpec) DeepCopy

func (in *UpgradeInsightsSpec) DeepCopy() *UpgradeInsightsSpec

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

func (*UpgradeInsightsSpec) DeepCopyInto

func (in *UpgradeInsightsSpec) DeepCopyInto(out *UpgradeInsightsSpec)

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

func (*UpgradeInsightsSpec) GetClusterName

func (in *UpgradeInsightsSpec) GetClusterName(defaultClusterName string) string

func (*UpgradeInsightsSpec) GetDistro

func (in *UpgradeInsightsSpec) GetDistro(defaultDistro *console.ClusterDistro) *console.ClusterDistro

func (*UpgradeInsightsSpec) GetInterval

func (in *UpgradeInsightsSpec) GetInterval() time.Duration

type VClusterHelmConfiguration

type VClusterHelmConfiguration struct {
	HelmConfiguration `json:",inline"`
}

func (*VClusterHelmConfiguration) DeepCopy

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

func (*VClusterHelmConfiguration) DeepCopyInto

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

func (*VClusterHelmConfiguration) GetChartName

func (in *VClusterHelmConfiguration) GetChartName() string

func (*VClusterHelmConfiguration) GetRepoUrl

func (in *VClusterHelmConfiguration) GetRepoUrl() string

type VirtualCluster

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

	// Spec ...
	// +kubebuilder:validation:Required
	Spec VirtualClusterSpec `json:"spec"`

	// Status ...
	// +kubebuilder:validation:Optional
	Status VirtualClusterStatus `json:"status,omitempty"`
}

VirtualCluster is the Schema for the virtual cluster API +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".status.id",description="ID of the VirtualCluster in the Console API."

func (*VirtualCluster) Attributes

func (in *VirtualCluster) Attributes() console.ClusterAttributes

func (*VirtualCluster) DeepCopy

func (in *VirtualCluster) DeepCopy() *VirtualCluster

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

func (*VirtualCluster) DeepCopyInto

func (in *VirtualCluster) DeepCopyInto(out *VirtualCluster)

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

func (*VirtualCluster) DeepCopyObject

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

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

func (*VirtualCluster) Diff

func (in *VirtualCluster) Diff(hasher Hasher) (changed bool, sha string, err error)

func (*VirtualCluster) SetCondition

func (in *VirtualCluster) SetCondition(condition metav1.Condition)

type VirtualClusterList

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

VirtualClusterList contains a list of VirtualCluster +kubebuilder:object:root=true

func (*VirtualClusterList) DeepCopy

func (in *VirtualClusterList) DeepCopy() *VirtualClusterList

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

func (*VirtualClusterList) DeepCopyInto

func (in *VirtualClusterList) DeepCopyInto(out *VirtualClusterList)

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

func (*VirtualClusterList) DeepCopyObject

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

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

type VirtualClusterSpec

type VirtualClusterSpec struct {
	// KubeconfigRef is a reference to the secret created by the
	// vcluster helm chart. It contains kubeconfig with information
	// on how to access created virtual cluster.
	// +kubebuilder:validation:Required
	KubeconfigRef corev1.LocalObjectReference `json:"kubeconfigRef"`

	// CredentialsRef is a reference to the secret pointing to the
	// key that holds Console API access token. It allows to communicate
	// with the standard Console API.
	// +kubebuilder:validation:Required
	CredentialsRef corev1.SecretKeySelector `json:"credentialsRef"`

	// Cluster is a simplified representation of the Console API cluster
	// object. See [ClusterSpec] for more information.
	// +kubebuilder:validation:Optional
	Cluster *ClusterSpec `json:"cluster,omitempty"`

	// External marks this virtual cluster as external one, meaning
	// that the vcluster deployment will not be automatically created.
	// User has to pre-provision vcluster and provide a valid KubeconfigRef
	// pointing to an existing vcluster installation.
	// +kubebuilder:validation:Optional
	External *bool `json:"external,omitempty"`

	// Helm allows configuring helm chart options of both agent and vcluster.
	// It is then deployed by the [VirtualCluster] CRD controller.
	// +kubebuilder:validation:Optional
	Helm *HelmSpec `json:"helm,omitempty"`
}

func (*VirtualClusterSpec) DeepCopy

func (in *VirtualClusterSpec) DeepCopy() *VirtualClusterSpec

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

func (*VirtualClusterSpec) DeepCopyInto

func (in *VirtualClusterSpec) DeepCopyInto(out *VirtualClusterSpec)

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

func (*VirtualClusterSpec) IsExternal

func (in *VirtualClusterSpec) IsExternal() bool

type VirtualClusterStatus

type VirtualClusterStatus struct {
	Status `json:",inline"`
}

func (*VirtualClusterStatus) DeepCopy

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

func (*VirtualClusterStatus) DeepCopyInto

func (in *VirtualClusterStatus) DeepCopyInto(out *VirtualClusterStatus)

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

func (*VirtualClusterStatus) IsAgentReady

func (in *VirtualClusterStatus) IsAgentReady() bool

func (*VirtualClusterStatus) IsVClusterReady

func (in *VirtualClusterStatus) IsVClusterReady() bool

Jump to

Keyboard shortcuts

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