For the complete documentation index, see llms.txt. This page is also available as Markdown.

Trilio Operator API Specifications

API Specification for Trilio for Kubernetes Upstream Operator

Packages

Custom Resource Definition Resources

The main CRDs provided by TrilioVault Manager for Kubernetes.

TrilioVaultManager

TrilioVaultManager is the Schema for the triliovaultmanagers API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

TrilioVaultManager

Supporting Resources

Supporting types and specifications used by the main CRDs.

CSIConfig

Appears in:

Field
Description
Default
Validation

include string array

Include denotes the list of CSI drivers to be included in the non-snapshot functionality category

optional

exclude string array

Exclude denotes the list of CSI drivers to be excluded from the non-snapshot functionality category

optional

ComponentConfiguration

Appears in:

Field
Description
Default
Validation

control-plane HelmValues

ControlPlane holds all configuration for the control-plane deployment

optionalXPreserveUnknownFields: {}

exporter HelmValues

Exporter holds all configuration for the exporter deployment.

optionalXPreserveUnknownFields: {}

Web holds all configuration for the web deployment

optionalXPreserveUnknownFields: {}

web-backend HelmValues

WebBackend holds all configuration for the web-backend deployment

optionalXPreserveUnknownFields: {}

event-target HelmValues

EventTarget holds all configuration for the event-target deployment

optionalXPreserveUnknownFields: {}

ingress-controller HelmValues

IngressController holds all configuration for the ingress-controller deployment

optionalXPreserveUnknownFields: {}

gateway-controller HelmValues

GatewayController holds all configuration for the gateway-controller deployment

optionalXPreserveUnknownFields: {}

ConditionStatus

Underlying type: string

Appears in:

Field
Description

True

False

Unknown

Gateway

Gateway identifies an existing, user-managed gateway.networking.k8s.io Gateway resource that TVK's HTTPRoutes should attach to, instead of TVK creating a Gateway itself. Only used when gatewayConfig.gateway.name is set (see GatewayConfig for how this differs from the gatewayClass mode).

Appears in:

Field
Description
Default
Validation

name string

Name of the existing Gateway resource. Setting this switches routing into "existing Gateway" mode

optional

namespace string

Namespace of the existing Gateway resource

optional

sectionName string

Name of the existing Gateway's listener that HTTPRoutes should bind to. Required when name is set

optional

GatewayAPIConfig

GatewayAPIConfig holds field related to gateway API resource to access the TVK UI. Exposed as the gatewayAPI field on the TrilioVaultManager (TVM) CR spec, and is mutually exclusive with ingressConfig.ingressEnabled.

Appears in:

Field
Description
Default
Validation

enabled boolean

Enables Gateway API based routing for the TVK UI instead of classic Ingress

false

optional

gatewayConfig GatewayConfig

optional

host string

Hostname to expose TVK UI on. If not provided, wildcard DNS will be used

optional

GatewayConfig

GatewayConfig configures how TVK attaches its HTTPRoutes to a Kubernetes Gateway API Gateway. There are three mutually exclusive modes, selected by which fields are set (see Gateway API Configuration for a full walkthrough):

  1. TVK-managed gateway-controller (componentConfiguration.gateway-controller.enabled: true) — TVK deploys its own Gateway API controller, provisions its own GatewayClass, and creates the Gateway itself. gatewayClass, gateway and annotations must be left empty.

  2. Bring your own GatewayClass (gateway-controller disabled, gatewayClass set) — TVK creates the Gateway using the given GatewayClass. gateway is not used.

  3. Attach to an existing Gateway (gateway-controller disabled, gateway.name set) — TVK does not create a Gateway; it attaches HTTPRoutes to the existing Gateway's listener named gateway.sectionName. gatewayClass is not used.

Appears in:

Field
Description
Default
Validation

annotations object (keys:string, values:string)

Annotations to apply to the generated Gateway API resources. Must be empty when gateway-controller is enabled

optional

gatewayClass string

GatewayClass TVK should use to create the Gateway itself. Only used when gateway-controller is disabled and gateway.name is not set

optional

allowedNamespaces string

Namespaces from which HTTPRoutes are allowed to attach to the Gateway created by TVK

Enum: [Same All] optional

gateway Gateway

Reference to an existing, user-managed Gateway to attach HTTPRoutes to, instead of TVK creating one

optional

optional

GatewayTLSConfig

GatewayTLSConfig configures HTTPS termination for Gateway API based routing.

Appears in:

Field
Description
Default
Validation

enabled boolean

Enables TLS/HTTPS for Gateway API routing

false

optional

insecureListenerName string

Name of the existing Gateway's HTTP (non-TLS) listener, used for the HTTP→HTTPS redirect. Required only when enabled is true and an existing Gateway (gateway.name) is used

optional

secret TLSSecret

TLS secret containing the certificate used for HTTPS termination. Required whenever enabled is true

optional

Helm

Appears in:

Field
Description
Default
Validation

version string

Enum: [v3]

tillerNamespace string

optional

HelmValues

HelmValues takes any custom helm value user wants to provide to T4K helm chart

Validation:

  • XPreserveUnknownFields: {}

Appears in:

IngressConfig

IngressConfig holds field related to ingress resource to access the TVK UI. Mutually exclusive with gatewayAPI.enabled.

Appears in:

Field
Description
Default
Validation

ingressClass string

optional

annotations object (keys:string, values:string)

optional

host string

optional

tlsSecretName string

optional

ingressEnabled boolean

Enables Ingress based routing for the TVK UI. Set to false when using Gateway API

true

optional

LevelType

Underlying type: string

Appears in:

LogConfig

Appears in:

Field
Description
Default
Validation

logLevel LevelType

Enum: [Panic Fatal Error Warn Info Debug Trace] optional

datamoverLogLevel LevelType

Enum: [Panic Fatal Error Warn Info Debug Trace] optional

enableDualOutputLog boolean

EnableDualOutputLog is a flag to enable dual output log.

optional

maxLogFileSizeMB integer

MaxLogFileSizeMB is the maximum size of each log file in MB Valid range: 1-10 (inclusive)

optional

maxLogFiles integer

MaxLogFiles is the maximum number of log files to retain. Valid range: 1-10 (inclusive)

optional

bufferSize integer

BufferSize is the size of the log buffer. Valid range: 2000-50000 (inclusive)

optional

flushDurationMilliSeconds integer

FlushDurationMilliSeconds is the duration to flush the log buffer in millisecond Valid range: 100-5000 (inclusive)

optional

Resource Types

ResourceScope

Underlying type: string

Appears in:

Field
Description

Cluster

Namespaced

TLSSecret

TLSSecret references a Kubernetes Secret of type kubernetes.io/tls used for HTTPS termination on the Gateway.

Appears in:

Field
Description
Default
Validation

name string

Name of the TLS secret

optional

namespace string

Namespace of the TLS secret. Defaults to the TrilioVaultManager's namespace

optional

TrilioAppCondition

Appears in:

Field
Description
Default
Validation

Enum: [Initialized Deployed Updated ReleaseFailed Irreconcilable]

Enum: [True False Unknown]

Enum: [InstallSuccessful UpdateSuccessful UninstallSuccessful InstallError UpdateError ReconcileError UninstallError]

message string

MinLength: 0

lastTransitionTime Time

optional

TrilioAppConditionReason

Underlying type: string

Appears in:

Field
Description

InstallSuccessful

UpdateSuccessful

UninstallSuccessful

InstallError

UpdateError

ReconcileError

UninstallError

TrilioAppConditionType

Underlying type: string

Appears in:

Field
Description

Initialized

Deployed

Updated

ReleaseFailed

Irreconcilable

TrilioAppRelease

Appears in:

Field
Description
Default
Validation

name string

manifest string

TrilioVaultManagerSpec

TrilioVaultManagerSpec defines the desired state of TrilioVaultManager

Appears in:

Field
Description
Default
Validation

trilioVaultAppVersion string

Deprecated: TrilioVaultAppVersion Helm Chart version

optional

helmVersion Helm

Deprecated: Helm Version

optional

applicationScope ResourceScope

Scope for the application which will be installed in the cluster NamespaceScope or ClusterScope

Enum: [Cluster Namespaced]

restoreNamespaces string array

Deprecated: RestoreNamespaces are the namespace where you want to restore your applications. Restore Namespaces depends on your k8s RBAC

optional

Deprecated: Resources are the resource requirements for the containers.

optional

metadataJobResources ResourceRequirements

MetadataJobResources is the resource limits & requests for all the meta processing jobs.

optional

dataJobResources ResourceRequirements

DataJobResources is the resource limits & requests for all the data processing jobs.

optional

targetBrowserResources ResourceRequirements

TargetBrowserResources is the resource limits & requests for the target browser.

optional

nodeSelector object (keys:string, values:string)

NodeSelector specifies a map of key-value pairs. For the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels.

optional

affinity Affinity

The scheduling constraints on application pods.

optional

tolerations Toleration array

The toleration of application against the specific taints on the nodes

optional

workerJobsSchedulingConfig WorkloadSchedulingConfigs

WorkerJobsSchedulingConfig holds the scheduling constraints for tvk jobs and data-mover pods.

optional

helmValues HelmValues

HelmValues holds all the additional fields in the values.yaml of T4K helm chart.

optionalXPreserveUnknownFields: {}

componentConfiguration ComponentConfiguration

ComponentConfiguration holds all the field related to the T4K deployments.

optional

ingressConfig IngressConfig

IngressConfig holds field related to ingress resource to access the T4K UI.

optional

gatewayAPI GatewayAPIConfig

GatewayAPIConfig holds field related to gateway API resource to access the T4K UI. Mutually exclusive with ingressConfig.

optional

tvkInstanceName string

TVKInstanceName is a T4K installation name to be displayed on UI.

optional

logConfig LogConfig

LogConfig is a configuration for the T4K logging.

optional

logLevel LevelType

Deprecated: LogLevel is a level used in T4K logging now used under logConfig LogLevel is a level used in T4K logging.

Enum: [Panic Fatal Error Warn Info Debug Trace]

datamoverLogLevel LevelType

Deprecated: DatamoverLogLevel is a log level used in datamover i.e. data upload/restore part of the T4K now used under logConfig DatamoverLogLevel is a log level used in datamover i.e. data upload/restore part of the T4K.

Enum: [Panic Fatal Error Warn Info Debug Trace]

csiConfig CSIConfig

CSIConfig is the configuration for the CSI drivers which doesn't support snapshot functionality

optional

pauseSchedule boolean

PauseSchedule is flag to pause schedule backups or snapshot for all the backupplan/clusterbackupplan.

optional

TrilioVaultManagerStatus

TrilioVaultManagerStatus defines the observed state of TrilioVaultManager

Appears in:

Field
Description
Default
Validation

conditions TrilioAppCondition array

optional

deployedRelease TrilioAppRelease

releaseVersion string

helmRevision integer

dashboard string

WorkloadSchedulingConfigs

WorkloadSchedulingConfigs holds the scheduling constraints on tvk jobs and data-mover pods.

Appears in:

Field
Description
Default
Validation

affinity Affinity

Affinity specifies the affinity/anti-affinity settings for the pod.

optional

nodeSelector object (keys:string, values:string)

NodeSelector specifies a map of key-value pairs. For the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels.

optional

tolerations Toleration array

Tolerations specifies the tolerations of the pod against the specific taints on the nodes.

optional

topologySpreadConstraints TopologySpreadConstraint array

TopologySpreadConstraints defines topology spread constraints for workload pods.

optional

Generated with gen-crd-api-reference-docs on git commit ec84b9a.

Last updated

Was this helpful?