Skip to content

Latest commit

 

History

History
2082 lines (1432 loc) · 37.3 KB

File metadata and controls

2082 lines (1432 loc) · 37.3 KB

OLSConfig API specifications

Description

Red Hat {product-title} Lightspeed instance. OLSConfig is the Schema for the olsconfigs API

Type

object

Required
  • spec

Property Type Description

apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and might reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

Kind is a string value representing the REST resource this object represents. Servers might infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

object

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

OLSConfigSpec defines the desired state of OLSConfig

.metadata

Description
Type

object

.spec

Description

OLSConfigSpec defines the desired state of OLSConfig

Type

object

Required
  • llm

  • ols

Property Type Description

featureGates

array (string)

Feature Gates holds list of features to be enabled explicitly, otherwise they are disabled by default. possible values: MCPServer

llm

object

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

mcpServers

array

MCP Server settings

ols

object

OLSSpec defines the desired state of OLS deployment.

olsDataCollector

object

OLSDataCollectorSpec defines allowed OLS data collector configuration.

toolsApprovalConfig

object

ToolsApprovalConfig defines the configuration for tool execution approvals.

.spec.llm

Description

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

Type

object

Required
  • providers

Property Type Description

providers

array

.spec.llm.providers

Description
Type

array

.spec.llm.providers[]

Description

ProviderSpec defines the desired state of LLM provider.

Type

object

Required
  • credentialsSecretRef

  • models

  • name

  • type

Property Type Description

apiVersion

string

API Version for Azure OpenAI provider

credentialsSecretRef

object

The name of the secret object that stores API provider credentials

deploymentName

string

Azure OpenAI deployment name

models

array

List of models from the provider

name

string

Provider name

projectID

string

Watsonx Project ID

tlsSecurityProfile

object

TLS Security Profile used by connection to provider

type

string

Provider type

url

string

Provider API URL

.spec.llm.providers[].credentialsSecretRef

Description

The name of the secret object that stores API provider credentials

Type

object

Property Type Description

name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

.spec.llm.providers[].models

Description

List of models from the provider

Type

array

.spec.llm.providers[].models[]

Description

ModelSpec defines the LLM model to use and its parameters.

Type

object

Required
  • name

Property Type Description

contextWindowSize

integer

Defines the model’s context window size, in tokens. The default is 128k tokens.

name

string

Model name

parameters

object

Model API parameters

url

string

Model API URL

.spec.llm.providers[].models[].parameters

Description

Model API parameters

Type

object

Property Type Description

maxTokensForResponse

integer

Max tokens for response. The default is 2048 tokens.

.spec.llm.providers[].tlsSecurityProfile

Description

TLS Security Profile used by connection to provider

Type

object

Property Type Description

custom

``

custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this:

ciphers:

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

minTLSVersion: VersionTLS11

intermediate

``

intermediate is a TLS security profile based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29

and looks like this (yaml):

ciphers:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

minTLSVersion: VersionTLS12

modern

``

modern is a TLS security profile based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility

and looks like this (yaml):

ciphers:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

minTLSVersion: VersionTLS13

old

``

old is a TLS security profile based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility

and looks like this (yaml):

ciphers:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

- DHE-RSA-CHACHA20-POLY1305

- ECDHE-ECDSA-AES128-SHA256

- ECDHE-RSA-AES128-SHA256

- ECDHE-ECDSA-AES128-SHA

- ECDHE-RSA-AES128-SHA

- ECDHE-ECDSA-AES256-SHA384

- ECDHE-RSA-AES256-SHA384

- ECDHE-ECDSA-AES256-SHA

- ECDHE-RSA-AES256-SHA

- DHE-RSA-AES128-SHA256

- DHE-RSA-AES256-SHA256

- AES128-GCM-SHA256

- AES256-GCM-SHA384

- AES128-SHA256

- AES256-SHA256

- AES128-SHA

- AES256-SHA

- DES-CBC3-SHA

minTLSVersion: VersionTLS10

type

string

type is one of Old, Intermediate, Modern or Custom. Custom provides the ability to specify individual TLS security profile parameters. Old, Intermediate and Modern are TLS security profiles based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations

The profiles are intent based, so they might change over time as new ciphers are developed and existing ciphers are found to be insecure. Depending on precisely which ciphers are available to a process, the list might be reduced.

Note that the Modern profile is currently not supported because it is not yet well adopted by common software libraries.

.spec.mcpServers

Description

MCP Server settings

Type

array

Note

The introspectionEnabled field in the OLSConfig custom resource (CR) is true by default. You do not need to specify this field to use the built-in {k8s} MCP server. To disable the built-in {k8s} MCP server, you must set introspectionEnabled to false.

Important

The operator does not support direct modifications to the managed MCP server configuration. To customize this configuration, you must set the operator to an unmanaged state by adding the operator.openshift.io/managementState: Unmanaged annotation to the OLSConfig custom resource. Alternatively, you can deploy a standalone MCP server instance.

.spec.mcpServers[]

Description

MCPServer defines the settings for a single MCP server.

Type

object

Required
  • name

Property Type Description

args

array (string)

Custom arguments passed to the MCP server during initialization.

name

string

Name of the MCP server.

streamableHTTP

object

Streamable HTTP Transport settings.

valueFrom

object

(Optional) Configures the source type and reference parameters used for header authentication with the MCP server.

valueFrom.type

string

(Required if valueFrom is specified) Specifies the authentication mechanism type. Supported values are: secret or kubernetes.

valueFrom.secretRef

object

(Optional) Specifies the name of the {k8s} secret that contains the required token. This parameter applies only when the type parameter is set to secret.

Model Context Protocol authentication examples

The following configuration examples demonstrate how to map header authentication tokens through the valueFrom specification block.

Example of configuring authentication using a Kubernetes secret:

valueFrom:
  type: secret
  secretRef:
    name: mcp-server-token

Example of configuring authentication using a service account token:

valueFrom:
  type: kubernetes

.spec.mcpServers[].args

Description

Custom arguments passed directly to the MCP server process initialization command.

Type

array (string)

.spec.ols

Description

OLSSpec defines the desired state of OLS deployment.

Type

object

Required
  • defaultModel

  • defaultProvider

Property Type Description

additionalCAConfigMapRef

object

Additional CA certificates for TLS communication between OLS service and LLM Provider

byokRAGOnly

boolean

Only use BYOK RAG sources, ignore the {product-title} documentation RAG

conversationCache

object

Conversation cache settings

defaultModel

string

Default model for usage

defaultProvider

string

Default provider for usage

deployment

object

OLS deployment settings

introspectionEnabled

boolean

Enable introspection features

logLevel

string

Log level. Valid options are DEBUG, INFO, WARNING, ERROR and CRITICAL. Default: "INFO".

proxyConfig

object

Proxy settings for connecting to external servers, such as LLM providers.

queryFilters

array

Query filters

quotaHandlersConfig

object

LLM Token Quota Configuration

rag

array

RAG databases

storage

object

Persistent Storage Configuration

tlsConfig

object

TLS configuration of the Lightspeed backend’s HTTPS endpoint

tlsSecurityProfile

object

TLS Security Profile used by API endpoints

userDataCollection

object

User data collection switches

.spec.ols.additionalCAConfigMapRef

Description

Additional CA certificates for TLS communication between OLS service and LLM Provider

Type

object

Property Type Description

name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

.spec.ols.conversationCache

Description

Conversation cache settings

Type

object

Property Type Description

postgres

object

PostgresSpec defines the desired state of Postgres.

type

string

Conversation cache type. Default: "postgres"

.spec.ols.conversationCache.postgres

Description

PostgresSpec defines the desired state of Postgres.

Type

object

Property Type Description

credentialsSecret

string

Secret that holds postgres credentials

dbName

string

Postgres database name

maxConnections

integer

Postgres maxconnections. Default: "2000"

sharedBuffers

integer-or-string

Postgres sharedbuffers

user

string

Postgres user name

.spec.ols.deployment

Description

OLS deployment settings

Type

object

Property Type Description

api

object

API container settings.

console

object

Console container settings.

dataCollector

object

Data Collector container settings.

database

object

Database container settings.

mcpServer

object

MCP server container settings.

replicas

integer

Defines the number of desired OLS pods. Default: "1"

.spec.ols.deployment.api

Description

API container settings.

Type

object

Property Type Description

nodeSelector

object (string)

resources

object

ResourceRequirements describes the compute resource requirements.

tolerations

array

.spec.ols.deployment.api.resources

Description

ResourceRequirements describes the compute resource requirements.

Type

object

Property Type Description

claims

array

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

limits

integer-or-string

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

.spec.ols.deployment.api.resources.claims

Description

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

Type

array

.spec.ols.deployment.api.resources.claims[]

Description

ResourceClaim references one entry in PodSpec.ResourceClaims.

Type

object

Required
  • name

Property Type Description

name

string

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

request

string

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.ols.deployment.api.tolerations

Description
Type

array

.spec.ols.deployment.api.tolerations[]

Description

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type

object

Property Type Description

effect

string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

key

string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

operator

string

Operator represents a key’s relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

tolerationSeconds

integer

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

value

string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

.spec.ols.deployment.console

Description

Console container settings.

Type

object

Property Type Description

caCertificate

string

Certificate Authority (CA) certificate used by the console proxy endpoint.

nodeSelector

object (string)

replicas

integer

Defines the number of desired Console pods. Default: "1"

resources

object

ResourceRequirements describes the compute resource requirements.

tolerations

array

.spec.ols.deployment.console.resources

Description

ResourceRequirements describes the compute resource requirements.

Type

object

Property Type Description

claims

array

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

limits

integer-or-string

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

.spec.ols.deployment.console.resources.claims

Description

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

Type

array

.spec.ols.deployment.console.resources.claims[]

Description

ResourceClaim references one entry in PodSpec.ResourceClaims.

Type

object

Required
  • name

Property Type Description

name

string

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

request

string

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.ols.deployment.console.tolerations

Description
Type

array

.spec.ols.deployment.console.tolerations[]

Description

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type

object

Property Type Description

effect

string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

key

string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

operator

string

Operator represents a key’s relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

tolerationSeconds

integer

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

value

string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

.spec.ols.deployment.dataCollector

Description

Data Collector container settings.

Type

object

Property Type Description

resources

object

ResourceRequirements describes the compute resource requirements.

.spec.ols.deployment.dataCollector.resources

Description

ResourceRequirements describes the compute resource requirements.

Type

object

Property Type Description

claims

array

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

limits

integer-or-string

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

.spec.ols.deployment.dataCollector.resources.claims

Description

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

Type

array

.spec.ols.deployment.dataCollector.resources.claims[]

Description

ResourceClaim references one entry in PodSpec.ResourceClaims.

Type

object

Required
  • name

Property Type Description

name

string

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

request

string

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.ols.deployment.database

Description

Database container settings.

Type

object

Property Type Description

nodeSelector

object (string)

resources

object

ResourceRequirements describes the compute resource requirements.

tolerations

array

.spec.ols.deployment.database.resources

Description

ResourceRequirements describes the compute resource requirements.

Type

object

Property Type Description

claims

array

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

limits

integer-or-string

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

.spec.ols.deployment.database.resources.claims

Description

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

Type

array

.spec.ols.deployment.database.resources.claims[]

Description

ResourceClaim references one entry in PodSpec.ResourceClaims.

Type

object

Required
  • name

Property Type Description

name

string

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

request

string

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.ols.deployment.database.tolerations

Description
Type

array

.spec.ols.deployment.database.tolerations[]

Description

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type

object

Property Type Description

effect

string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

key

string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

operator

string

Operator represents a key’s relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

tolerationSeconds

integer

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

value

string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

.spec.ols.deployment.mcpServer

Description

MCP server container settings.

Type

object

Property Type Description

resources

object

ResourceRequirements describes the compute resource requirements.

.spec.ols.deployment.mcpServer.resources

Description

ResourceRequirements describes the compute resource requirements.

Type

object

Property Type Description

claims

array

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

limits

integer-or-string

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

integer-or-string

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

.spec.ols.deployment.mcpServer.resources.claims

Description

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

Type

array

.spec.ols.deployment.mcpServer.resources.claims[]

Description

ResourceClaim references one entry in PodSpec.ResourceClaims.

Type

object

Required
  • name

Property Type Description

name

string

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

request

string

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.ols.proxyConfig

Description

Proxy settings for connecting to external servers, such as LLM providers.

Type

object

Property Type Description

proxyCACertificate

object

The configmap holding proxy CA certificate

proxyURL

string

Proxy URL, e.g. https://proxy.example.com:8080 If not specified, the cluster wide proxy will be used, though env var "https_proxy".

.spec.ols.proxyConfig.proxyCACertificate

Description

The configmap holding proxy CA certificate

Type

object

Property Type Description

name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

.spec.ols.queryFilters

Description

Query filters

Type

array

.spec.ols.queryFilters[]

Description

QueryFiltersSpec defines filters to manipulate questions/queries.

Type

object

Property Type Description

name

string

Filter name.

pattern

string

Filter pattern.

replaceWith

string

Replacement for the matched pattern.

.spec.ols.quotaHandlersConfig

Description

LLM Token Quota Configuration

Type

object

Property Type Description

enableTokenHistory

boolean

Enable token history

limitersConfig

array

Token quota limiters

.spec.ols.quotaHandlersConfig.limitersConfig

Description

Token quota limiters

Type

array

.spec.ols.quotaHandlersConfig.limitersConfig[]

Description

LimiterConfig defines settings for a token quota limiter

Type

object

Required
  • initialQuota

  • name

  • period

  • quotaIncrease

  • type

Property Type Description

initialQuota

integer

Initial value of the token quota

name

string

Name of the limiter

period

string

Period of time the token quota is for

quotaIncrease

integer

Token quota increase step

type

string

Type of the limiter

.spec.ols.rag

Description

RAG databases

Type

array

.spec.ols.rag[]

Description

RAGSpec defines how to retrieve a RAG databases.

Type

object

Required
  • image

Property Type Description

image

string

The URL of the container image to use as a RAG source

indexID

string

The Index ID of the RAG database

indexPath

string

The path to the RAG database inside of the container image

.spec.ols.storage

Description

Persistent Storage Configuration

Type

object

Property Type Description

class

string

Storage class of the requested volume

size

integer-or-string

Size of the requested volume

.spec.ols.tlsConfig

Description

TLS configuration of the Lightspeed backend’s HTTPS endpoint

Type

object

Property Type Description

keyCertSecretRef

object

KeySecretRef is the secret that holds the TLS key.

.spec.ols.tlsConfig.keyCertSecretRef

Description

KeySecretRef is the secret that holds the TLS key.

Type

object

Property Type Description

name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

.spec.ols.tlsSecurityProfile

Description

TLS Security Profile used by API endpoints

Type

object

Property Type Description

custom

``

custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this:

ciphers:

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

minTLSVersion: VersionTLS11

intermediate

``

intermediate is a TLS security profile based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29

and looks like this (yaml):

ciphers:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

minTLSVersion: VersionTLS12

modern

``

modern is a TLS security profile based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility

and looks like this (yaml):

ciphers:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

minTLSVersion: VersionTLS13

old

``

old is a TLS security profile based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility

and looks like this (yaml):

ciphers:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

- DHE-RSA-CHACHA20-POLY1305

- ECDHE-ECDSA-AES128-SHA256

- ECDHE-RSA-AES128-SHA256

- ECDHE-ECDSA-AES128-SHA

- ECDHE-RSA-AES128-SHA

- ECDHE-ECDSA-AES256-SHA384

- ECDHE-RSA-AES256-SHA384

- ECDHE-ECDSA-AES256-SHA

- ECDHE-RSA-AES256-SHA

- DHE-RSA-AES128-SHA256

- DHE-RSA-AES256-SHA256

- AES128-GCM-SHA256

- AES256-GCM-SHA384

- AES128-SHA256

- AES256-SHA256

- AES128-SHA

- AES256-SHA

- DES-CBC3-SHA

minTLSVersion: VersionTLS10

type

string

type is one of Old, Intermediate, Modern or Custom. Custom provides the ability to specify individual TLS security profile parameters. Old, Intermediate and Modern are TLS security profiles based on:

https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations

The profiles are intent based, so they might change over time as new ciphers are developed and existing ciphers are found to be insecure. Depending on precisely which ciphers are available to a process, the list might be reduced.

Note that the Modern profile is currently not supported because it is not yet well adopted by common software libraries.

.spec.ols.userDataCollection

Description

User data collection switches

Type

object

Property Type Description

feedbackDisabled

boolean

transcriptsDisabled

boolean

.spec.olsDataCollector

Description

OLSDataCollectorSpec defines allowed OLS data collector configuration.

Type

object

Property Type Description

logLevel

string

Log level. Valid options are DEBUG, INFO, WARNING, ERROR and CRITICAL. Default: "INFO".