API Reference

Packages

solvio.io/v1

Package v1 contains API Schema definitions for the solvio.io v1 API group

Resource Types

ClusterPhase

Underlying type: string

Appears in:

ComponentPhase

Underlying type: string

Appears in:

ComponentReference

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringAPIVersion is the group and version of the component being referenced.
kind stringKind is the type of component being referenced
name stringName is the name of component being referenced
namespace stringNamespace is the namespace of component being referenced.
markedForDeletion booleanMarkedForDeletion specifies whether the component is marked for deletion

ComponentStatus

Appears in:

FieldDescriptionDefaultValidation
name stringName specifies the name of the component
namespace stringNamespace specifies the namespace of the component
version stringVersion specifies the version of the component
phase ComponentPhasePhase specifies the current phase of the component
message stringMessage specifies the info explaining the current phase of the component

EntityPhase

Underlying type: string

Appears in:

EntityResult

Underlying type: string

EntityResult is the last result from the invocation to a manager

Appears in:

GPU

Appears in:

FieldDescriptionDefaultValidation
gpuType GPUTypeGPUType specifies the type of the GPU to use. If set, GPU indexing is enabled.Enum: [nvidia amd]
forceHalfPrecision booleanForceHalfPrecision for f32 values while indexing.
f16 conversion will take place
only inside GPU memory and won’t affect storage type.
false
deviceFilter string arrayDeviceFilter for GPU devices by hardware name. Case-insensitive.
List of substrings to match against the gpu device name.
Example: [- “nvidia”]
If not specified, all devices are accepted.
MinItems: 1
devices string arrayDevices is a List of explicit GPU devices to use.
If host has multiple GPUs, this option allows to select specific devices
by their index in the list of found devices.
If deviceFilter is set, indexes are applied after filtering.
If not specified, all devices are accepted.
MinItems: 1
parallelIndexes integerParallelIndexes is the number of parallel indexes to run on the GPU.1Minimum: 1
groupsCount integerGroupsCount is the amount of used vulkan “groups” of GPU.
In other words, how many parallel points can be indexed by GPU.
Optimal value might depend on the GPU model.
Proportional, but doesn’t necessary equal to the physical number of warps.
Do not change this value unless you know what you are doing.
Minimum: 1
allowIntegrated booleanAllowIntegrated specifies whether to allow integrated GPUs to be used.false

GPUType

Underlying type: string

Appears in:

HelmRelease

Appears in:

FieldDescriptionDefaultValidation
markedForDeletionAt stringMarkedForDeletionAt specifies the time when the helm release was marked for deletion
object HelmReleaseObject specifies the helm release objectEmbeddedResource: {}

HelmRepository

Appears in:

FieldDescriptionDefaultValidation
markedForDeletionAt stringMarkedForDeletionAt specifies the time when the helm repository was marked for deletion
object HelmRepositoryObject specifies the helm repository objectEmbeddedResource: {}

InferenceConfig

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled specifies whether to enable inference for the cluster or not.false

Ingress

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled specifies whether to enable ingress for the cluster or not.
annotations object (keys:string, values:string)Annotations specifies annotations for the ingress.
ingressClassName stringIngressClassName specifies the name of the ingress class
host stringHost specifies the host for the ingress.
tls booleanTLS specifies whether to enable tls for the ingress.
The default depends on the ingress provider:
- KubernetesIngress: False
- NginxIngress: False
- SolvioCloudTraefik: Depending on the config.tls setting of the operator.
tlsSecretName stringTLSSecretName specifies the name of the secret containing the tls certificate.
nginx NGINXConfigNGINX specifies the nginx ingress specific configurations.
traefik TraefikConfigTraefik specifies the traefik ingress specific configurations.

KubernetesDistribution

Underlying type: string

Appears in:

KubernetesPod

Appears in:

FieldDescriptionDefaultValidation
annotations object (keys:string, values:string)Annotations specifies the annotations for the Pods.
labels object (keys:string, values:string)Labels specifies the labels for the Pods.
extraEnv EnvVar arrayExtraEnv specifies the extra environment variables for the Pods.

KubernetesService

Appears in:

FieldDescriptionDefaultValidation
type ServiceTypeType specifies the type of the Service: “ClusterIP”, “NodePort”, “LoadBalancer”.ClusterIP
annotations object (keys:string, values:string)Annotations specifies the annotations for the Service.

KubernetesStatefulSet

Appears in:

FieldDescriptionDefaultValidation
annotations object (keys:string, values:string)Annotations specifies the annotations for the StatefulSet.
pods KubernetesPodPods specifies the configuration of the Pods of the Solvio StatefulSet.

MetricSource

Underlying type: string

Appears in:

Monitoring

Appears in:

FieldDescriptionDefaultValidation
cAdvisorMetricSource MetricSourceCAdvisorMetricSource specifies the cAdvisor metric source
nodeMetricSource MetricSourceNodeMetricSource specifies the node metric source

NGINXConfig

Appears in:

FieldDescriptionDefaultValidation
allowedSourceRanges string arrayAllowedSourceRanges specifies the allowed CIDR source ranges for the ingress.
grpcHost stringGRPCHost specifies the host name for the GRPC ingress.

NodeInfo

Appears in:

FieldDescriptionDefaultValidation
name stringName specifies the name of the node
region stringRegion specifies the region of the node
zone stringZone specifies the zone of the node
instanceType stringInstanceType specifies the instance type of the node
arch stringArch specifies the CPU architecture of the node
capacity NodeResourceInfoCapacity specifies the capacity of the node
allocatable NodeResourceInfoAllocatable specifies the allocatable resources of the node

NodeResourceInfo

Appears in:

FieldDescriptionDefaultValidation
cpu stringCPU specifies the CPU resources of the node
memory stringMemory specifies the memory resources of the node
pods stringPods specifies the pods resources of the node
ephemeralStorage stringEphemeralStorage specifies the ephemeral storage resources of the node

NodeStatus

Appears in:

FieldDescriptionDefaultValidation
name stringName specifies the name of the node
started_at stringStartedAt specifies the time when the node started (in RFC3339 format)
state object (keys:PodConditionType, values:ConditionStatus)States specifies the condition states of the node
version stringVersion specifies the version of Solvio running on the node

Pause

Appears in:

FieldDescriptionDefaultValidation
owner stringOwner specifies the owner of the pause request.
reason stringReason specifies the reason for the pause request.
creationTimestamp stringCreationTimestamp specifies the time when the pause request was created.

SolvioCloudRegion

SolvioCloudRegion is the Schema for the solviocloudregions API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioCloudRegion
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioCloudRegionSpec

SolvioCloudRegionList

SolvioCloudRegionList contains a list of SolvioCloudRegion

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioCloudRegionList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioCloudRegion array

SolvioCloudRegionSpec

SolvioCloudRegionSpec defines the desired state of SolvioCloudRegion

Appears in:

FieldDescriptionDefaultValidation
id stringId specifies the unique identifier of the region
components ComponentReference arrayComponents specifies the list of components to be installed in the region
helmRepositories HelmRepository arrayHelmRepositories specifies the list of helm repositories to be created to the region
Deprecated: Use “Components” instead
helmReleases HelmRelease arrayHelmReleases specifies the list of helm releases to be created to the region
Deprecated: Use “Components” instead

SolvioCluster

SolvioCluster is the Schema for the solvioclusters API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioCluster
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioClusterSpec

SolvioClusterList

SolvioClusterList contains a list of SolvioCluster

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioCluster array

SolvioClusterRestore

SolvioClusterRestore is the Schema for the solvioclusterrestores API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterRestore
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioClusterRestoreSpec

SolvioClusterRestoreList

SolvioClusterRestoreList contains a list of SolvioClusterRestore objects

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterRestoreList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioClusterRestore array

SolvioClusterRestoreSpec

SolvioClusterRestoreSpec defines the desired state of SolvioClusterRestore

Appears in:

FieldDescriptionDefaultValidation
source RestoreSourceSource defines the source snapshot from which the restore will be done
destination RestoreDestinationDestination defines the destination cluster where the source data will end up

SolvioClusterScheduledSnapshot

SolvioClusterScheduledSnapshot is the Schema for the solvioclusterscheduledsnapshots API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterScheduledSnapshot
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioClusterScheduledSnapshotSpec

SolvioClusterScheduledSnapshotList

SolvioClusterScheduledSnapshotList contains a list of SolvioCluster

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterScheduledSnapshotList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioClusterScheduledSnapshot array

SolvioClusterScheduledSnapshotSpec

SolvioClusterScheduledSnapshotSpec defines the desired state of SolvioCluster

Appears in:

FieldDescriptionDefaultValidation
cluster-id stringId specifies the unique identifier of the cluster
scheduleShortId stringSpecifies short Id which identifies a scheduleMaxLength: 8
schedule stringCron expression for frequency of creating snapshots, see https://en.wikipedia.org/wiki/Cron.
The schedule is specified in UTC.
Pattern: `^(@(annually
retention stringRetention of schedule in hoursPattern: ^[0-9]+h$

SolvioClusterSnapshot

SolvioClusterSnapshot is the Schema for the solvioclustersnapshots API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterSnapshot
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioClusterSnapshotSpec

SolvioClusterSnapshotList

SolvioClusterSnapshotList contains a list of SolvioClusterSnapshot

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioClusterSnapshotList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioClusterSnapshot array

SolvioClusterSnapshotPhase

Underlying type: string

Appears in:

SolvioClusterSnapshotSpec

Appears in:

FieldDescriptionDefaultValidation
cluster-id stringThe cluster ID for which a Snapshot need to be taken
The cluster should be in the same namespace as this SolvioClusterSnapshot is located
creation-timestamp integerThe CreationTimestamp of the backup (expressed in Unix epoch format)
scheduleShortId stringSpecifies the short Id which identifies a schedule, if any.
This field should not be set if the backup is made manually.
MaxLength: 8
retention stringThe retention period of this snapshot in hours, if any.
If not set, the backup doesn’t have a retention period, meaning it will not be removed.
Pattern: ^[0-9]+h$

SolvioClusterSpec

SolvioClusterSpec defines the desired state of SolvioCluster

Appears in:

FieldDescriptionDefaultValidation
id stringId specifies the unique identifier of the cluster
version stringVersion specifies the version of Solvio to deploy
size integerSize specifies the desired number of Solvio nodes in the clusterMaximum: 30
Minimum: 1
servicePerNode booleanServicePerNode specifies whether the cluster should start a dedicated service for each node.true
clusterManager booleanClusterManager specifies whether to use the cluster manager for this cluster.
The Python-operator will deploy a dedicated cluster manager instance.
The Go-operator will use a shared instance.
If not set, the default will be taken from the operator config.
suspend booleanSuspend specifies whether to suspend the cluster.
If enabled, the cluster will be suspended and all related resources will be removed except the PVCs.
false
pauses Pause arrayPauses specifies a list of pause request by developer for manual maintenance.
Operator will skip handling any changes in the CR if any pause request is present.
image SolvioImageImage specifies the image to use for each Solvio node.
resources ResourcesResources specifies the resources to allocate for each Solvio node.
security SolvioSecurityContextSecurity specifies the security context for each Solvio node.
tolerations Toleration arrayTolerations specifies the tolerations for each Solvio node.
nodeSelector object (keys:string, values:string)NodeSelector specifies the node selector for each Solvio node.
config SolvioConfigurationConfig specifies the Solvio configuration setttings for the clusters.
ingress IngressIngress specifies the ingress for the cluster.
service KubernetesServiceService specifies the configuration of the Solvio Kubernetes Service.
gpu GPUGPU specifies GPU configuration for the cluster. If this field is not set, no GPU will be used.
statefulSet KubernetesStatefulSetStatefulSet specifies the configuration of the Solvio Kubernetes StatefulSet.
storageClassNames StorageClassNamesStorageClassNames specifies the storage class names for db and snapshots.
topologySpreadConstraints TopologySpreadConstraintTopologySpreadConstraints specifies the topology spread constraints for the cluster.
podDisruptionBudget PodDisruptionBudgetSpecPodDisruptionBudget specifies the pod disruption budget for the cluster.
restartAllPodsConcurrently booleanRestartAllPodsConcurrently specifies whether to restart all pods concurrently (also called one-shot-restart).
If enabled, all the pods in the cluster will be restarted concurrently in situations where multiple pods
need to be restarted, like when RestartedAtAnnotationKey is added/updated or the Solvio version needs to be upgraded.
This helps sharded but not replicated clusters to reduce downtime to a possible minimum during restart.
If unset, the operator is going to restart nodes concurrently if none of the collections if replicated.
startupDelaySeconds integerIf StartupDelaySeconds is set (> 0), an additional ‘sleep ’ will be emitted to the pod startup.
The sleep will be added when a pod is restarted, it will not force any pod to restart.
This feature can be used for debugging the core, e.g. if a pod is in crash loop, it provided a way
to inspect the attached storage.
rebalanceStrategy RebalanceStrategyRebalanceStrategy specifies the strategy to use for automaticially rebalancing shards the cluster.
Cluster-manager needs to be enabled for this feature to work.

SolvioConfiguration

Appears in:

FieldDescriptionDefaultValidation
collection SolvioConfigurationCollectionCollection specifies the default collection configuration for Solvio.
log_level stringLogLevel specifies the log level for Solvio.
service SolvioConfigurationServiceService specifies the service level configuration for Solvio.
tls SolvioConfigurationTLSTLS specifies the TLS configuration for Solvio.
storage StorageConfigStorage specifies the storage configuration for Solvio.
inference InferenceConfigInference configuration. This is used in Solvio Managed Cloud only. If not set Inference is not available to this cluster.

SolvioConfigurationCollection

Appears in:

FieldDescriptionDefaultValidation
replication_factor integerReplicationFactor specifies the default number of replicas of each shard
write_consistency_factor integerWriteConsistencyFactor specifies how many replicas should apply the operation to consider it successful
vectors SolvioConfigurationCollectionVectorsVectors specifies the default parameters for vectors

SolvioConfigurationCollectionVectors

Appears in:

FieldDescriptionDefaultValidation
on_disk booleanOnDisk specifies whether vectors should be stored in memory or on disk.

SolvioConfigurationService

Appears in:

FieldDescriptionDefaultValidation
api_key SolvioSecretKeyRefApiKey for the solvio instance
read_only_api_key SolvioSecretKeyRefReadOnlyApiKey for the solvio instance
jwt_rbac booleanJwtRbac specifies whether to enable jwt rbac for the solvio instance
Default is false
hide_jwt_dashboard booleanHideJwtDashboard specifies whether to hide the JWT dashboard of the embedded UI
Default is false
enable_tls booleanEnableTLS specifies whether to enable tls for the solvio instance
Default is false

SolvioConfigurationTLS

Appears in:

FieldDescriptionDefaultValidation
cert SolvioSecretKeyRefReference to the secret containing the server certificate chain file
key SolvioSecretKeyRefReference to the secret containing the server private key file
caCert SolvioSecretKeyRefReference to the secret containing the CA certificate file

SolvioEntity

SolvioEntity is the Schema for the solvioentities API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioEntity
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioEntitySpec

SolvioEntityList

SolvioEntityList contains a list of SolvioEntity objects

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioEntityList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioEntity array

SolvioEntitySpec

SolvioEntitySpec defines the desired state of SolvioEntity

Appears in:

FieldDescriptionDefaultValidation
id stringThe unique identifier of the entity (in UUID format).
entityType stringThe type of the entity.
clusterId stringThe optional cluster identifier
createdAt MicroTimeTimestamp when the entity was created.
lastUpdatedAt MicroTimeTimestamp when the entity was last updated.
deletedAt MicroTimeTimestamp when the entity was deleted (or is started to be deleting).
If not set the entity is not deleted
payload JSONGeneric payload for this entity

SolvioEntityStatusResult

SolvioEntityStatusResult is the last result from the invocation to a manager

Appears in:

FieldDescriptionDefaultValidation
result EntityResultThe result of last reconcile of the entityEnum: [Ok Pending Error]
reason stringThe reason of the result (e.g. in case of an error)
payload JSONThe optional payload of the status.

SolvioImage

Appears in:

FieldDescriptionDefaultValidation
repository stringRepository specifies the repository of the Solvio image.
If not specified defaults the config of the operator (or solvio/solvio if not specified in operator).
pullPolicy PullPolicyPullPolicy specifies the image pull policy for the Solvio image.
If not specified defaults the config of the operator (or IfNotPresent if not specified in operator).
pullSecretName stringPullSecretName specifies the pull secret for the Solvio image.

SolvioRelease

SolvioRelease describes an available Solvio release

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioRelease
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SolvioReleaseSpec

SolvioReleaseList

SolvioReleaseList contains a list of SolvioRelease

FieldDescriptionDefaultValidation
apiVersion stringsolvio.io/v1
kind stringSolvioReleaseList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SolvioRelease array

SolvioReleaseSpec

SolvioReleaseSpec defines the desired state of SolvioRelease

Appears in:

FieldDescriptionDefaultValidation
version stringVersion number (should be semver compliant).
E.g. “v1.10.1”
default booleanIf set, this version is default for new clusters on Cloud.
There should be only 1 Solvio version in the platform set as default.
false
image stringFull docker image to use for this version.
If empty, a default image will be derived from Version (and solvio/solvio is assumed).
unavailable booleanIf set, this version cannot be used for new clusters.false
endOfLife booleanIf set, this version is no longer actively supported.false
accountIds string arrayIf set, this version can only be used by accounts with given IDs.
accountPrivileges string arrayIf set, this version can only be used by accounts that have been given the listed privileges.
remarks stringGeneral remarks for human reading
releaseNotesURL stringRelease Notes URL for the specified version

SolvioSecretKeyRef

Appears in:

FieldDescriptionDefaultValidation
secretKeyRef SecretKeySelectorSecretKeyRef to the secret containing data to configure the solvio instance

SolvioSecurityContext

Appears in:

FieldDescriptionDefaultValidation
user integerUser specifies the user to run the Solvio process as.
group integerGroup specifies the group to run the Solvio process as.
fsGroup integerFsGroup specifies file system group to run the Solvio process as.

RebalanceStrategy

Underlying type: string

Appears in:

RegionCapabilities

Appears in:

FieldDescriptionDefaultValidation
volumeSnapshot booleanVolumeSnapshot specifies whether the Kubernetes cluster supports volume snapshot
volumeExpansion booleanVolumeExpansion specifies whether the Kubernetes cluster supports volume expansion

RegionPhase

Underlying type: string

Appears in:

ResourceRequests

Appears in:

FieldDescriptionDefaultValidation
cpu stringCPU specifies the CPU request for each Solvio node.
memory stringMemory specifies the memory request for each Solvio node.

Resources

Appears in:

FieldDescriptionDefaultValidation
cpu stringCPU specifies the CPU limit for each Solvio node.
memory stringMemory specifies the memory limit for each Solvio node.
storage stringStorage specifies the storage amount for each Solvio node.
requests ResourceRequestsRequests specifies the resource requests for each Solvio node.

RestoreDestination

Appears in:

FieldDescriptionDefaultValidation
name stringName of the destination cluster
namespace stringNamespace of the destination cluster

RestorePhase

Underlying type: string

Appears in:

RestoreSource

Appears in:

FieldDescriptionDefaultValidation
snapshotName stringSnapshotName is the name of the snapshot from which we wish to restore
namespace stringNamespace of the snapshot

ScheduledSnapshotPhase

Underlying type: string

Appears in:

StorageClass

Appears in:

FieldDescriptionDefaultValidation
name stringName specifies the name of the storage class
default booleanDefault specifies whether the storage class is the default storage class
provisioner stringProvisioner specifies the provisioner of the storage class
allowVolumeExpansion booleanAllowVolumeExpansion specifies whether the storage class allows volume expansion
reclaimPolicy stringReclaimPolicy specifies the reclaim policy of the storage class
parameters object (keys:string, values:string)Parameters specifies the parameters of the storage class

StorageClassNames

Appears in:

FieldDescriptionDefaultValidation
db stringDB specifies the storage class name for db volume.
snapshots stringSnapshots specifies the storage class name for snapshots volume.

StorageConfig

Appears in:

FieldDescriptionDefaultValidation
performance StoragePerformanceConfigPerformance configuration

StoragePerformanceConfig

Appears in:

FieldDescriptionDefaultValidation
optimizer_cpu_budget integerOptimizerCPUBudget defines the number of CPU allocation.
If 0 - auto selection, keep 1 or more CPUs unallocated depending on CPU size
If negative - subtract this number of CPUs from the available CPUs.
If positive - use this exact number of CPUs.
async_scorer booleanAsyncScorer enables io_uring when rescoring

TraefikConfig

Appears in:

FieldDescriptionDefaultValidation
allowedSourceRanges string arrayAllowedSourceRanges specifies the allowed CIDR source ranges for the ingress.
entryPoints string arrayEntryPoints is the list of traefik entry points to use for the ingress route.
If nothing is set, it will take the entryPoints configured in the operator config.

VolumeSnapshotClass

Appears in:

FieldDescriptionDefaultValidation
name stringName specifies the name of the volume snapshot class
driver stringDriver specifies the driver of the volume snapshot class

VolumeSnapshotInfo

Appears in:

FieldDescriptionDefaultValidation
volumeSnapshotName stringVolumeSnapshotName is the name of the volume snapshot
volumeName stringVolumeName is the name of the volume that was backed up
readyToUse booleanReadyToUse indicates if the volume snapshot is ready to use
snapshotHandle stringSnapshotHandle is the identifier of the volume snapshot in the respective cloud provider
Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.