v1alpha1

package
v0.0.0-...-ac116b5 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ols v1alpha1 API group +kubebuilder:object:generate=true +groupName=ols.openshift.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ols.openshift.io", 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
)

Functions

This section is empty.

Types

type APIContainerConfig

type APIContainerConfig struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:tolerations"}
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:nodeSelector"}
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
}

func (*APIContainerConfig) DeepCopy

func (in *APIContainerConfig) DeepCopy() *APIContainerConfig

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

func (*APIContainerConfig) DeepCopyInto

func (in *APIContainerConfig) DeepCopyInto(out *APIContainerConfig)

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

type CacheType

type CacheType string

+kubebuilder:validation:Enum=postgres

const (
	Postgres CacheType = "postgres"
)

type ConsoleContainerConfig

type ConsoleContainerConfig struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:tolerations"}
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:nodeSelector"}
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Defines the number of desired Console pods. Default: "1"
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Number of replicas",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:podCount"}
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Certificate Authority (CA) certificate used by the console proxy endpoint.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CA Certificate",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:caCertificate"}
	// +kubebuilder:validation:Pattern=`^-----BEGIN CERTIFICATE-----([\s\S]*)-----END CERTIFICATE-----\s?$`
	// +optional
	CAcertificate string `json:"caCertificate,omitempty"`
}

func (*ConsoleContainerConfig) DeepCopy

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

func (*ConsoleContainerConfig) DeepCopyInto

func (in *ConsoleContainerConfig) DeepCopyInto(out *ConsoleContainerConfig)

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

type ConversationCacheSpec

type ConversationCacheSpec struct {
	// Conversation cache type. Default: "postgres"
	// +kubebuilder:default=postgres
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Cache Type"
	Type CacheType `json:"type,omitempty"`
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="PostgreSQL Settings"
	Postgres PostgresSpec `json:"postgres,omitempty"`
}

ConversationCacheSpec defines the desired state of OLS conversation cache.

func (*ConversationCacheSpec) DeepCopy

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

func (*ConversationCacheSpec) DeepCopyInto

func (in *ConversationCacheSpec) DeepCopyInto(out *ConversationCacheSpec)

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

type DataCollectorContainerConfig

type DataCollectorContainerConfig struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*DataCollectorContainerConfig) DeepCopy

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

func (*DataCollectorContainerConfig) DeepCopyInto

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

type DatabaseContainerConfig

type DatabaseContainerConfig struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:tolerations"}
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:nodeSelector"}
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
}

func (*DatabaseContainerConfig) DeepCopy

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

func (*DatabaseContainerConfig) DeepCopyInto

func (in *DatabaseContainerConfig) DeepCopyInto(out *DatabaseContainerConfig)

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

type DeploymentConfig

type DeploymentConfig struct {
	// Defines the number of desired OLS pods. Default: "1"
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Number of replicas",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:podCount"}
	Replicas *int32 `json:"replicas,omitempty"`
	// API container settings.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="API Container"
	APIContainer APIContainerConfig `json:"api,omitempty"`
	// Data Collector container settings.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Data Collector Container"
	DataCollectorContainer DataCollectorContainerConfig `json:"dataCollector,omitempty"`
	// Console container settings.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Console Container"
	ConsoleContainer ConsoleContainerConfig `json:"console,omitempty"`
	// Database container settings.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Database Container"
	DatabaseContainer DatabaseContainerConfig `json:"database,omitempty"`
	// MCP server container settings.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="MCP Server Container"
	MCPServerContainer MCPServerContainerConfig `json:"mcpServer,omitempty"`
}

DeploymentConfig defines the schema for overriding deployment of OLS instance.

func (*DeploymentConfig) DeepCopy

func (in *DeploymentConfig) DeepCopy() *DeploymentConfig

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

func (*DeploymentConfig) DeepCopyInto

func (in *DeploymentConfig) DeepCopyInto(out *DeploymentConfig)

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

type FeatureGate

type FeatureGate string

+kubebuilder:validation:Enum=MCPServer

type LLMSpec

type LLMSpec struct {
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Providers"
	Providers []ProviderSpec `json:"providers"`
}

LLMSpec defines the desired state of the large language model (LLM).

func (*LLMSpec) DeepCopy

func (in *LLMSpec) DeepCopy() *LLMSpec

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

func (*LLMSpec) DeepCopyInto

func (in *LLMSpec) DeepCopyInto(out *LLMSpec)

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

type LimiterConfig

type LimiterConfig struct {
	// Name of the limiter
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Limiter Name"
	Name string `json:"name"`
	// Type of the limiter
	// +kubebuilder:validation:Enum=cluster_limiter;user_limiter
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Limiter Type. Accepted Values: cluster_limiter, user_limiter."
	Type string `json:"type"`
	// Initial value of the token quota
	// +kubebuilder:validation:Minimum=0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Initial Token Quota"
	InitialQuota int `json:"initialQuota"`
	// Token quota increase step
	// +kubebuilder:validation:Minimum=0
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Token Quota Increase Step"
	QuotaIncrease int `json:"quotaIncrease"`
	// Period of time the token quota is for
	// +kubebuilder:validation:Pattern=`^(1\s+(day|month|year|d|m|y)|([2-9][0-9]*|[1-9][0-9]{2,})\s+(days|months|years|d|m|y))$`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Period of Time the Token Quota Is For"
	Period string `json:"period"`
}

LimiterConfig defines settings for a token quota limiter

func (*LimiterConfig) DeepCopy

func (in *LimiterConfig) DeepCopy() *LimiterConfig

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

func (*LimiterConfig) DeepCopyInto

func (in *LimiterConfig) DeepCopyInto(out *LimiterConfig)

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

type MCPServer

type MCPServer struct {
	// Name of the MCP server
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Name"
	Name string `json:"name,omitempty"`
	// Streamable HTTP Transport settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Streamable HTTP Transport"
	StreamableHTTP *MCPServerStreamableHTTPTransport `json:"streamableHTTP,omitempty"`
}

MCPServer defines the settings for a single MCP server.

func (*MCPServer) DeepCopy

func (in *MCPServer) DeepCopy() *MCPServer

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

func (*MCPServer) DeepCopyInto

func (in *MCPServer) DeepCopyInto(out *MCPServer)

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

type MCPServerContainerConfig

type MCPServerContainerConfig struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:resourceRequirements"}
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*MCPServerContainerConfig) DeepCopy

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

func (*MCPServerContainerConfig) DeepCopyInto

func (in *MCPServerContainerConfig) DeepCopyInto(out *MCPServerContainerConfig)

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

type MCPServerStreamableHTTPTransport

type MCPServerStreamableHTTPTransport struct {
	// URL of the MCP server
	// +kubebuilder:validation:Required
	// +required
	// +kubebuilder:validation:Pattern=`^https?://.*$`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="URL"
	URL string `json:"url,omitempty"`
	// Timeout for the MCP server, default is 5 seconds
	// +kubebuilder:default=5
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Timeout in seconds"
	Timeout int `json:"timeout,omitempty"`
	// SSE Read Timeout, default is 10 seconds
	// +kubebuilder:default=10
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="SSE Read Timeout in seconds"
	SSEReadTimeout int `json:"sseReadTimeout,omitempty"`
	// Headers to send to the MCP server
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Headers"
	Headers map[string]string `json:"headers,omitempty"`
	// Enable Server Sent Events
	// +kubebuilder:default=false
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Server Sent Events"
	EnableSSE bool `json:"enableSSE,omitempty"`
}

MCPServerStreamableHTTPTransport configures the MCP server to use streamable HTTP transport.

func (*MCPServerStreamableHTTPTransport) DeepCopy

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

func (*MCPServerStreamableHTTPTransport) DeepCopyInto

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

type ModelParametersSpec

type ModelParametersSpec struct {
	// Max tokens for response
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Max Tokens For Response"
	MaxTokensForResponse int `json:"maxTokensForResponse,omitempty"`
}

ModelParametersSpec

func (*ModelParametersSpec) DeepCopy

func (in *ModelParametersSpec) DeepCopy() *ModelParametersSpec

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

func (*ModelParametersSpec) DeepCopyInto

func (in *ModelParametersSpec) DeepCopyInto(out *ModelParametersSpec)

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

type ModelSpec

type ModelSpec struct {
	// Model name
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Name"
	Name string `json:"name"`
	// Model API URL
	// +kubebuilder:validation:Pattern=`^https?://.*$`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="URL"
	URL string `json:"url,omitempty"`
	// Defines the model's context window size. Default is specific to provider/model.
	// +kubebuilder:validation:Minimum=1024
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Context Window Size"
	ContextWindowSize uint `json:"contextWindowSize,omitempty"`
	// Model API parameters
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Parameters"
	Parameters ModelParametersSpec `json:"parameters,omitempty"`
}

ModelSpec defines the LLM model to use and its parameters.

func (*ModelSpec) DeepCopy

func (in *ModelSpec) DeepCopy() *ModelSpec

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

func (*ModelSpec) DeepCopyInto

func (in *ModelSpec) DeepCopyInto(out *ModelSpec)

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

type OLSConfig

type OLSConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:Required
	// +required
	Spec   OLSConfigSpec   `json:"spec"`
	Status OLSConfigStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:validation:XValidation:rule="self.metadata.name == 'cluster'",message=".metadata.name must be 'cluster'" Red Hat OpenShift Lightspeed instance. OLSConfig is the Schema for the olsconfigs API

func (*OLSConfig) DeepCopy

func (in *OLSConfig) DeepCopy() *OLSConfig

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

func (*OLSConfig) DeepCopyInto

func (in *OLSConfig) DeepCopyInto(out *OLSConfig)

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

func (*OLSConfig) DeepCopyObject

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

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

type OLSConfigList

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

+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster OLSConfigList contains a list of OLSConfig

func (*OLSConfigList) DeepCopy

func (in *OLSConfigList) DeepCopy() *OLSConfigList

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

func (*OLSConfigList) DeepCopyInto

func (in *OLSConfigList) DeepCopyInto(out *OLSConfigList)

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

func (*OLSConfigList) DeepCopyObject

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

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

type OLSConfigSpec

type OLSConfigSpec struct {
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="LLM Settings"
	LLMConfig LLMSpec `json:"llm"`
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OLS Settings"
	OLSConfig OLSSpec `json:"ols"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OLS Data Collector Settings"
	OLSDataCollectorConfig OLSDataCollectorSpec `json:"olsDataCollector,omitempty"`
	// MCP Server settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="MCP Server Settings"
	MCPServers []MCPServer `json:"mcpServers,omitempty"`
	// Feature Gates holds list of features to be enabled explicitly, otherwise they are disabled by default.
	// possible values: MCPServer
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Feature Gates"
	FeatureGates []FeatureGate `json:"featureGates,omitempty"`
}

OLSConfigSpec defines the desired state of OLSConfig

func (*OLSConfigSpec) DeepCopy

func (in *OLSConfigSpec) DeepCopy() *OLSConfigSpec

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

func (*OLSConfigSpec) DeepCopyInto

func (in *OLSConfigSpec) DeepCopyInto(out *OLSConfigSpec)

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

type OLSConfigStatus

type OLSConfigStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions"`
}

OLSConfigStatus defines the observed state of OLS deployment.

func (*OLSConfigStatus) DeepCopy

func (in *OLSConfigStatus) DeepCopy() *OLSConfigStatus

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

func (*OLSConfigStatus) DeepCopyInto

func (in *OLSConfigStatus) DeepCopyInto(out *OLSConfigStatus)

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

type OLSDataCollectorSpec

type OLSDataCollectorSpec struct {
	// Log level. Valid options are DEBUG, INFO, WARNING, ERROR and CRITICAL. Default: "INFO".
	// +kubebuilder:validation:Enum=DEBUG;INFO;WARNING;ERROR;CRITICAL
	// +kubebuilder:default=INFO
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Log level"
	LogLevel string `json:"logLevel,omitempty"`
}

OLSDataCollectorSpec defines allowed OLS data collector configuration.

func (*OLSDataCollectorSpec) DeepCopy

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

func (*OLSDataCollectorSpec) DeepCopyInto

func (in *OLSDataCollectorSpec) DeepCopyInto(out *OLSDataCollectorSpec)

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

type OLSSpec

type OLSSpec struct {
	// Conversation cache settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec,order=2,displayName="Conversation Cache"
	ConversationCache ConversationCacheSpec `json:"conversationCache,omitempty"`
	// OLS deployment settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec,order=1,displayName="Deployment"
	DeploymentConfig DeploymentConfig `json:"deployment,omitempty"`
	// Log level. Valid options are DEBUG, INFO, WARNING, ERROR and CRITICAL. Default: "INFO".
	// +kubebuilder:validation:Enum=DEBUG;INFO;WARNING;ERROR;CRITICAL
	// +kubebuilder:default=INFO
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Log level"
	LogLevel string `json:"logLevel,omitempty"`
	// Default model for usage
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Default Model",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	DefaultModel string `json:"defaultModel"`
	// Default provider for usage
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Default Provider",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	DefaultProvider string `json:"defaultProvider,omitempty"`
	// Query filters
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Query Filters"
	QueryFilters []QueryFiltersSpec `json:"queryFilters,omitempty"`
	// User data collection switches
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="User Data Collection"
	UserDataCollection UserDataCollectionSpec `json:"userDataCollection,omitempty"`
	// TLS configuration of the Lightspeed backend's HTTPS endpoint
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS Configuration"
	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
	// Additional CA certificates for TLS communication between OLS service and LLM Provider
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Additional CA Configmap",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	AdditionalCAConfigMapRef *corev1.LocalObjectReference `json:"additionalCAConfigMapRef,omitempty"`
	// TLS Security Profile used by API endpoints
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS Security Profile",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	TLSSecurityProfile *configv1.TLSSecurityProfile `json:"tlsSecurityProfile,omitempty"`
	// Enable introspection features
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Introspection Enabled",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	IntrospectionEnabled bool `json:"introspectionEnabled,omitempty"`
	// Proxy settings for connecting to external servers, such as LLM providers.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy Settings",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	// +kubebuilder:validation:Optional
	ProxyConfig *ProxyConfig `json:"proxyConfig,omitempty"`
	// RAG databases
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="RAG Databases",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	RAG []RAGSpec `json:"rag,omitempty"`
	// LLM Token Quota Configuration
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="LLM Token Quota Configuration"
	QuotaHandlersConfig *QuotaHandlersConfig `json:"quotaHandlersConfig,omitempty"`
	// Persistent Storage Configuration
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Persistent Storage Configuration",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	Storage *Storage `json:"storage,omitempty"`
}

OLSSpec defines the desired state of OLS deployment.

func (*OLSSpec) DeepCopy

func (in *OLSSpec) DeepCopy() *OLSSpec

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

func (*OLSSpec) DeepCopyInto

func (in *OLSSpec) DeepCopyInto(out *OLSSpec)

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

type PostgresSpec

type PostgresSpec struct {
	// Postgres user name
	// +kubebuilder:default="postgres"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="User Name"
	User string `json:"user,omitempty"`
	// Postgres database name
	// +kubebuilder:default="postgres"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Database Name"
	DbName string `json:"dbName,omitempty"`
	// Secret that holds postgres credentials
	// +kubebuilder:default="lightspeed-postgres-secret"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Credentials Secret"
	CredentialsSecret string `json:"credentialsSecret,omitempty"`
	// Postgres sharedbuffers
	// +kubebuilder:validation:XIntOrString
	// +kubebuilder:default="256MB"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Shared Buffer Size"
	SharedBuffers string `json:"sharedBuffers,omitempty"`
	// Postgres maxconnections. Default: "2000"
	// +kubebuilder:default=2000
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=262143
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Maximum Connections"
	MaxConnections int `json:"maxConnections,omitempty"`
}

PostgresSpec defines the desired state of Postgres.

func (*PostgresSpec) DeepCopy

func (in *PostgresSpec) DeepCopy() *PostgresSpec

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

func (*PostgresSpec) DeepCopyInto

func (in *PostgresSpec) DeepCopyInto(out *PostgresSpec)

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

type ProviderSpec

type ProviderSpec struct {
	// Provider name
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,order=1,displayName="Name"
	Name string `json:"name,omitempty"`
	// Provider API URL
	// +kubebuilder:validation:Pattern=`^https?://.*$`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,order=2,displayName="URL"
	URL string `json:"url,omitempty"`
	// The name of the secret object that stores API provider credentials
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,order=3,displayName="Credential Secret"
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"`
	// List of models from the provider
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Models"
	Models []ModelSpec `json:"models,omitempty"`
	// Provider type
	// +kubebuilder:validation:Required
	// +required
	// +kubebuilder:validation:Enum=azure_openai;bam;openai;watsonx;rhoai_vllm;rhelai_vllm;fake_provider
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Provider Type"
	Type string `json:"type"`
	// Azure OpenAI deployment name
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Azure OpenAI deployment name"
	AzureDeploymentName string `json:"deploymentName,omitempty"`
	// API Version for Azure OpenAI provider
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Azure OpenAI API Version"
	APIVersion string `json:"apiVersion,omitempty"`
	// Watsonx Project ID
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Watsonx Project ID"
	WatsonProjectID string `json:"projectID,omitempty"`
	// TLS Security Profile used by connection to provider
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS Security Profile",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	TLSSecurityProfile *configv1.TLSSecurityProfile `json:"tlsSecurityProfile,omitempty"`
}

ProviderSpec defines the desired state of LLM provider. +kubebuilder:validation:XValidation:message="'deploymentName' must be specified for 'azure_openai' provider",rule="self.type != \"azure_openai\" || self.deploymentName != \"\"" +kubebuilder:validation:XValidation:message="'projectID' must be specified for 'watsonx' provider",rule="self.type != \"watsonx\" || self.projectID != \"\""

func (*ProviderSpec) DeepCopy

func (in *ProviderSpec) DeepCopy() *ProviderSpec

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

func (*ProviderSpec) DeepCopyInto

func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)

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

type ProxyConfig

type ProxyConfig struct {
	// Proxy URL, e.g. https://proxy.example.com:8080
	// If not specified, the cluster wide proxy will be used, though env var "https_proxy".
	// +kubebuilder:validation:Pattern=`^https?://.*$`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy URL"
	ProxyURL string `json:"proxyURL,omitempty"`
	// The configmap holding proxy CA certificate
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Proxy CA Certificate"
	ProxyCACertificateRef *corev1.LocalObjectReference `json:"proxyCACertificate,omitempty"`
}

ProxyConfig defines the proxy settings for connecting to external servers, such as LLM providers.

func (*ProxyConfig) DeepCopy

func (in *ProxyConfig) DeepCopy() *ProxyConfig

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

func (*ProxyConfig) DeepCopyInto

func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig)

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

type QueryFiltersSpec

type QueryFiltersSpec struct {
	// Filter name.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Filter Name"
	Name string `json:"name,omitempty"`
	// Filter pattern.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="The pattern to replace"
	Pattern string `json:"pattern,omitempty"`
	// Replacement for the matched pattern.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Replace With"
	ReplaceWith string `json:"replaceWith,omitempty"`
}

QueryFiltersSpec defines filters to manipulate questions/queries.

func (*QueryFiltersSpec) DeepCopy

func (in *QueryFiltersSpec) DeepCopy() *QueryFiltersSpec

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

func (*QueryFiltersSpec) DeepCopyInto

func (in *QueryFiltersSpec) DeepCopyInto(out *QueryFiltersSpec)

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

type QuotaHandlersConfig

type QuotaHandlersConfig struct {
	// Token quota limiters
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Token Quota Limiters",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	LimitersConfig []LimiterConfig `json:"limitersConfig,omitempty"`
	// Enable token history
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Token History",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	EnableTokenHistory bool `json:"enableTokenHistory,omitempty"`
}

QuotaHandlersConfig defines the token quota configuration

func (*QuotaHandlersConfig) DeepCopy

func (in *QuotaHandlersConfig) DeepCopy() *QuotaHandlersConfig

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

func (*QuotaHandlersConfig) DeepCopyInto

func (in *QuotaHandlersConfig) DeepCopyInto(out *QuotaHandlersConfig)

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

type RAGSpec

type RAGSpec struct {
	// The path to the RAG database inside of the container image
	// +kubebuilder:default:="/rag/vector_db"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Index Path in the Image"
	IndexPath string `json:"indexPath,omitempty"`
	// The Index ID of the RAG database
	// +kubebuilder:default:="vector_db_index"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Index ID"
	IndexID string `json:"indexID,omitempty"`
	// The URL of the container image to use as a RAG source
	// +kubebuilder:validation:Required
	// +required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image"
	Image string `json:"image,omitempty"`
}

RAGSpec defines how to retrieve a RAG databases.

func (*RAGSpec) DeepCopy

func (in *RAGSpec) DeepCopy() *RAGSpec

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

func (*RAGSpec) DeepCopyInto

func (in *RAGSpec) DeepCopyInto(out *RAGSpec)

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

type Storage

type Storage struct {
	// Size of the requested volume
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Size of the Requested Volume"
	// +kubebuilder:validation:Optional
	Size resource.Quantity `json:"size,omitempty"`
	// Storage class of the requested volume
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Class of the Requested Volume"
	Class string `json:"class,omitempty"`
}

Persistent Storage Configuration

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type TLSConfig

type TLSConfig struct {
	// KeySecretRef is the secret that holds the TLS key.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Key Secret"
	KeyCertSecretRef corev1.LocalObjectReference `json:"keyCertSecretRef,omitempty"`
}

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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

type UserDataCollectionSpec

type UserDataCollectionSpec struct {
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Do Not Collect User Feedback"
	FeedbackDisabled bool `json:"feedbackDisabled,omitempty"`
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Do Not Collect Transcripts"
	TranscriptsDisabled bool `json:"transcriptsDisabled,omitempty"`
}

UserDataCollectionSpec defines how we collect user data.

func (*UserDataCollectionSpec) DeepCopy

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

func (*UserDataCollectionSpec) DeepCopyInto

func (in *UserDataCollectionSpec) DeepCopyInto(out *UserDataCollectionSpec)

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

Jump to

Keyboard shortcuts

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