From 1777c47d401e0c8af12265e3affb33ee422b46e8 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Tue, 3 Dec 2024 14:27:28 +0100 Subject: [PATCH] Private cloud 1.1.0 update --- .../private-cloud/api-reference.md | 171 +++++++++++------- .../documentation/private-cloud/changelog.md | 4 + .../private-cloud/configuration.md | 83 +++++---- .../private-cloud/private-cloud-setup.md | 4 +- 4 files changed, 163 insertions(+), 99 deletions(-) diff --git a/qdrant-landing/content/documentation/private-cloud/api-reference.md b/qdrant-landing/content/documentation/private-cloud/api-reference.md index c3ca7eba0..f3df44d84 100644 --- a/qdrant-landing/content/documentation/private-cloud/api-reference.md +++ b/qdrant-landing/content/documentation/private-cloud/api-reference.md @@ -24,8 +24,8 @@ Package v1 contains API Schema definitions for the qdrant.io v1 API group - [QdrantClusterScheduledSnapshotList](#qdrantclusterscheduledsnapshotlist) - [QdrantClusterSnapshot](#qdrantclustersnapshot) - [QdrantClusterSnapshotList](#qdrantclustersnapshotlist) -- [QdrantVersion](#qdrantversion) -- [QdrantVersionList](#qdrantversionlist) +- [QdrantRelease](#qdrantrelease) +- [QdrantReleaseList](#qdrantreleaselist) @@ -127,7 +127,6 @@ _Appears in:_ | `enabled` _boolean_ | Enabled specifies whether to enable ingress for the cluster or not. | | | | `annotations` _object (keys:string, values:string)_ | Annotations specifies annotations for the ingress. | | | | `ingressClassName` _string_ | IngressClassName specifies the name of the ingress class | | | -| `type` _[IngressType](#ingresstype)_ | Type specifies whether it is path or host based routing. | path | Enum: [path host]
| | `host` _string_ | Host specifies the host for the ingress. | | | | `tls` _boolean_ | TLS specifies whether to enable tls for the ingress.
The default depends on the ingress provider:
- KubernetesIngress: False
- NginxIngress: False
- QdrantCloudTraefik: Depending on the config.tls setting of the operator. | | | | `tlsSecretName` _string_ | TLSSecretName specifies the name of the secret containing the tls certificate. | | | @@ -135,7 +134,7 @@ _Appears in:_ | `traefik` _[TraefikConfig](#traefikconfig)_ | Traefik specifies the traefik ingress specific configurations. | | | -#### IngressType +#### KubernetesDistribution _Underlying type:_ _string_ @@ -144,7 +143,7 @@ _Underlying type:_ _string_ _Appears in:_ -- [Ingress](#ingress) +- [QdrantCloudRegionStatus](#qdrantcloudregionstatus) @@ -200,6 +199,36 @@ _Appears in:_ | `pods` _[KubernetesPod](#kubernetespod)_ | Pods specifies the configuration of the Pods of the Qdrant StatefulSet. | | | +#### MetricSource + +_Underlying type:_ _string_ + + + + + +_Appears in:_ +- [Monitoring](#monitoring) + + + +#### Monitoring + + + + + + + +_Appears in:_ +- [QdrantCloudRegionStatus](#qdrantcloudregionstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `cAdvisorMetricSource` _[MetricSource](#metricsource)_ | CAdvisorMetricSource specifies the cAdvisor metric source | | | +| `nodeMetricSource` _[MetricSource](#metricsource)_ | NodeMetricSource specifies the node metric source | | | + + #### NGINXConfig @@ -304,22 +333,6 @@ _Appears in:_ -#### OperatorVersion - -_Underlying type:_ _string_ - - - - - -_Appears in:_ -- [QdrantClusterRestoreSpec](#qdrantclusterrestorespec) -- [QdrantClusterScheduledSnapshotSpec](#qdrantclusterscheduledsnapshotspec) -- [QdrantClusterSnapshotSpec](#qdrantclustersnapshotspec) -- [QdrantClusterSpec](#qdrantclusterspec) - - - #### Pause @@ -482,7 +495,6 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `operatorVersion` _[OperatorVersion](#operatorversion)_ | The version of the operator which reconciles this instance | V1 | Enum: [V1 V2]
| | `source` _[RestoreSource](#restoresource)_ | Source defines the source snapshot from which the restore will be done | | | | `destination` _[RestoreDestination](#restoredestination)_ | Destination defines the destination cluster where the source data will end up | | | @@ -539,7 +551,6 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `operatorVersion` _[OperatorVersion](#operatorversion)_ | The version of the operator which reconciles this instance | V1 | Enum: [V1 V2]
| | `cluster-id` _string_ | Id specifies the unique identifier of the cluster | | | | `scheduleShortId` _string_ | Specifies short Id which identifies a schedule | | MaxLength: 8
| | `schedule` _string_ | Cron expression for frequency of creating snapshots, see https://en.wikipedia.org/wiki/Cron.
The schedule is specified in UTC. | | Pattern: `^(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)|((((\d+,)+\d+|([\d\*]+(\/|-)\d+)|\d+|\*) ?){5,7})$`
| @@ -611,7 +622,6 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `operatorVersion` _[OperatorVersion](#operatorversion)_ | The version of the operator which reconciles this instance | V1 | Enum: [V1 V2]
| | `cluster-id` _string_ | The cluster ID for which a Snapshot need to be taken
The cluster should be in the same namespace as this QdrantClusterSnapshot is located | | | | `creation-timestamp` _integer_ | The CreationTimestamp of the backup (expressed in Unix epoch format) | | | | `scheduleShortId` _string_ | Specifies the short Id which identifies a schedule, if any.
This field should not be set if the backup is made manually. | | MaxLength: 8
| @@ -633,12 +643,11 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `operatorVersion` _[OperatorVersion](#operatorversion)_ | The version of the operator which reconciles this instance | V1 | Enum: [V1 V2]
| | `id` _string_ | Id specifies the unique identifier of the cluster | | | | `version` _string_ | Version specifies the version of Qdrant to deploy | | | | `size` _integer_ | Size specifies the desired number of Qdrant nodes in the cluster | | Maximum: 30
Minimum: 1
| | `servicePerNode` _boolean_ | ServicePerNode specifies whether the cluster should start a dedicated service for each node. | true | | -| `clusterManager` _boolean_ | ClusterManager 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. | false | | +| `clusterManager` _boolean_ | ClusterManager 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` _boolean_ | Suspend 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](#pause) array_ | Pauses 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. | | | | `distributed` _boolean_ | Deprecated | | | @@ -654,6 +663,7 @@ _Appears in:_ | `storageClassNames` _[StorageClassNames](#storageclassnames)_ | StorageClassNames specifies the storage class names for db and snapshots. | | | | `topologySpreadConstraints` _[TopologySpreadConstraint](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#topologyspreadconstraint-v1-core)_ | TopologySpreadConstraints specifies the topology spread constraints for the cluster. | | | | `podDisruptionBudget` _[PodDisruptionBudgetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#poddisruptionbudgetspec-v1-policy)_ | PodDisruptionBudget specifies the pod disruption budget for the cluster. | | | +| `restartAllPodsConcurrently` _boolean_ | RestartAllPodsConcurrently 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 Qdrant version need to be upgraded.
This helps sharded but not replicated clusters to reduce downtime to possible minimum during restart. | | | @@ -675,6 +685,7 @@ _Appears in:_ | `log_level` _string_ | LogLevel specifies the log level for Qdrant. | | | | `service` _[QdrantConfigurationService](#qdrantconfigurationservice)_ | Service specifies the service level configuration for Qdrant. | | | | `tls` _[QdrantConfigurationTLS](#qdrantconfigurationtls)_ | TLS specifies the TLS configuration for Qdrant. | | | +| `storage` _[StorageConfig](#storageconfig)_ | Storage specifies the storage configuration for Qdrant. | | | #### QdrantConfigurationCollection @@ -727,6 +738,7 @@ _Appears in:_ | `api_key` _[QdrantSecretKeyRef](#qdrantsecretkeyref)_ | ApiKey for the qdrant instance | | | | `read_only_api_key` _[QdrantSecretKeyRef](#qdrantsecretkeyref)_ | ReadOnlyApiKey for the qdrant instance | | | | `jwt_rbac` _boolean_ | JwtRbac specifies whether to enable jwt rbac for the qdrant instance
Default is false | | | +| `hide_jwt_dashboard` _boolean_ | HideJwtDashboard specifies whether to hide the JWT dashboard of the embedded UI
Default is false | | | | `enable_tls` _boolean_ | EnableTLS specifies whether to enable tls for the qdrant instance
Default is false | | | @@ -765,100 +777,100 @@ _Appears in:_ | `pullSecretName` _string_ | PullSecretName specifies the pull secret for the Qdrant image. | | | -#### QdrantSecretKeyRef - +#### QdrantRelease +QdrantRelease describes an available Qdrant release _Appears in:_ -- [QdrantConfigurationService](#qdrantconfigurationservice) -- [QdrantConfigurationTLS](#qdrantconfigurationtls) +- [QdrantReleaseList](#qdrantreleaselist) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretkeyselector-v1-core)_ | SecretKeyRef to the secret containing data to configure the qdrant instance | | | +| `apiVersion` _string_ | `qdrant.io/v1` | | | +| `kind` _string_ | `QdrantRelease` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[QdrantReleaseSpec](#qdrantreleasespec)_ | | | | -#### QdrantSecurityContext +#### QdrantReleaseList +QdrantReleaseList contains a list of QdrantRelease -_Appears in:_ -- [QdrantClusterSpec](#qdrantclusterspec) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `user` _integer_ | User specifies the user to run the Qdrant process as. | | | -| `group` _integer_ | Group specifies the group to run the Qdrant process as. | | | -| `fsGroup` _integer_ | FsGroup specifies file system group to run the Qdrant process as. | | | +| `apiVersion` _string_ | `qdrant.io/v1` | | | +| `kind` _string_ | `QdrantReleaseList` | | | +| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `items` _[QdrantRelease](#qdrantrelease) array_ | | | | -#### QdrantVersion +#### QdrantReleaseSpec -QdrantVersion is the Schema for the qdrantversions API +QdrantReleaseSpec defines the desired state of QdrantRelease _Appears in:_ -- [QdrantVersionList](#qdrantversionlist) +- [QdrantRelease](#qdrantrelease) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `apiVersion` _string_ | `qdrant.io/v1` | | | -| `kind` _string_ | `QdrantVersion` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | -| `spec` _[QdrantVersionSpec](#qdrantversionspec)_ | | | | +| `version` _string_ | Version number (should be semver compliant).
E.g. "v1.10.1" | | | +| `default` _boolean_ | If set, this version is default for new clusters on Cloud.
There should be only 1 Qdrant version in the platform set as default. | false | | +| `image` _string_ | Full docker image to use for this version.
If empty, a default image will be derived from Version (and qdrant/qdrant is assumed). | | | +| `unavailable` _boolean_ | If set, this version cannot be used for new clusters. | false | | +| `endOfLife` _boolean_ | If set, this version is no longer actively supported. | false | | +| `accountIds` _string array_ | If set, this version can only be used by accounts with given IDs. | | | +| `accountPrivileges` _string array_ | If set, this version can only be used by accounts that have been given the listed privileges. | | | +| `remarks` _string_ | General remarks for human reading | | | +| `releaseNotesURL` _string_ | Release Notes URL for the specified version | | | -#### QdrantVersionList +#### QdrantSecretKeyRef -QdrantVersionList contains a list of QdrantVersion +_Appears in:_ +- [QdrantConfigurationService](#qdrantconfigurationservice) +- [QdrantConfigurationTLS](#qdrantconfigurationtls) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `apiVersion` _string_ | `qdrant.io/v1` | | | -| `kind` _string_ | `QdrantVersionList` | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | -| `items` _[QdrantVersion](#qdrantversion) array_ | | | | +| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretkeyselector-v1-core)_ | SecretKeyRef to the secret containing data to configure the qdrant instance | | | + +#### QdrantSecurityContext -#### QdrantVersionSpec -QdrantVersionSpec defines the desired state of QdrantVersion _Appears in:_ -- [QdrantVersion](#qdrantversion) +- [QdrantClusterSpec](#qdrantclusterspec) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `version` _string_ | Version number (should be semver compliant).
E.g. "v1.10.1" | | | -| `isDefault` _boolean_ | If set, this version is default for new clusters on Cloud.
There should be only 1 Qdrant version in the platform set as default. | false | | -| `image` _string_ | Full docker image to use for this version.
If empty, a default image will be derived from Version (and qdrant/qdrant is assumed). | | | -| `unavailable` _boolean_ | If set, this version cannot be used for new clusters. | false | | -| `isEndOfLife` _boolean_ | If set, this version is no longer actively supported. | false | | -| `accountIds` _string array_ | If set, this version can only be used by accounts with given IDs. | | | -| `accountPrivileges` _string array_ | If set, this version can only be used by accounts that have been given the listed privileges. | | | -| `remarks` _string_ | General remarks for human reading | | | -| `releaseNotesURL` _string_ | Release Notes URL for the specified version | | | +| `user` _integer_ | User specifies the user to run the Qdrant process as. | | | +| `group` _integer_ | Group specifies the group to run the Qdrant process as. | | | +| `fsGroup` _integer_ | FsGroup specifies file system group to run the Qdrant process as. | | | #### RegionCapabilities @@ -1017,6 +1029,39 @@ _Appears in:_ | `snapshots` _string_ | Snapshots specifies the storage class name for snapshots volume. | | | +#### StorageConfig + + + + + + + +_Appears in:_ +- [QdrantConfiguration](#qdrantconfiguration) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `performance` _[StoragePerformanceConfig](#storageperformanceconfig)_ | Performance configuration | | | + + +#### StoragePerformanceConfig + + + + + + + +_Appears in:_ +- [StorageConfig](#storageconfig) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `optimizerCPUBudget` _integer_ | OptimizerCPUBudget 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. | | | +| `asyncScorer` _boolean_ | AsyncScorer enables io_uring when rescoring | | | + + #### TraefikConfig @@ -1049,5 +1094,5 @@ _Appears in:_ | `volumeSnapshotName` _string_ | VolumeSnapshotName is the name of the volume snapshot | | | | `volumeName` _string_ | VolumeName is the name of the volume that was backed up | | | | `readyToUse` _boolean_ | ReadyToUse indicates if the volume snapshot is ready to use | | | - +| `snapshotHandle` _string_ | SnapshotHandle is the identifier of the volume snapshot in the respective cloud provider | | | diff --git a/qdrant-landing/content/documentation/private-cloud/changelog.md b/qdrant-landing/content/documentation/private-cloud/changelog.md index bd2b4ced3..7a1011dfa 100644 --- a/qdrant-landing/content/documentation/private-cloud/changelog.md +++ b/qdrant-landing/content/documentation/private-cloud/changelog.md @@ -5,6 +5,10 @@ weight: 5 # Changelog +## 1.1.0 + +* Activate cluster-manager for automatic shard replication + ## 1.0.0 * Initial release diff --git a/qdrant-landing/content/documentation/private-cloud/configuration.md b/qdrant-landing/content/documentation/private-cloud/configuration.md index 37e4687f8..0e46a8c59 100644 --- a/qdrant-landing/content/documentation/private-cloud/configuration.md +++ b/qdrant-landing/content/documentation/private-cloud/configuration.md @@ -30,10 +30,10 @@ operator: # Service account configuration serviceAccount: create: true - annotations: { } + annotations: {} # Additional pod annotations - podAnnotations: { } + podAnnotations: {} # pod security context podSecurityContext: @@ -46,7 +46,7 @@ operator: securityContext: capabilities: drop: - - ALL + - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 10001 @@ -66,22 +66,22 @@ operator: enabled: false # Resource requests and limits for the Qdrant operator - resources: { } + resources: {} # Node selector for the Qdrant operator - nodeSelector: { } + nodeSelector: {} # Tolerations for the Qdrant operator - tolerations: [ ] + tolerations: [] # Affinity configuration for the Qdrant operator - affinity: { } + affinity: {} watch: # If true, watches only the namespace where the Qdrant operator is deployed, otherwise watches the namespaces in watch.namespaces onlyReleaseNamespace: true # an empty list watches all namespaces. - namespaces: [ ] + namespaces: [] limitRBAC: true @@ -91,7 +91,7 @@ operator: appEnvironment: kubernetes # The log level for the operator # Available options: DEBUG | INFO | WARN | ERROR - logLevel: INFO + logLevel: INFO # Metrics contains the operator config related the metrics metrics: # The port used for metrics @@ -103,13 +103,16 @@ operator: # Controller related settings controller: # The period a forced recync is done by the controller (if watches are missed / nothing happened) - forceResyncPeriod: 2m + forceResyncPeriod: 10h # QPS indicates the maximum QPS to the master from this client. # Default is 200 qps: 200 # Maximum burst for throttle. # Default is 500. burst: 500 + # If set to true, the operator reconciles all watched CRs, + # fully ignoring operator.qdrant.com/version annotation on them + disableOperatorVersionCheck: true # Features contains the settings for enabling / disabling the individual features of the operator features: # ClusterManagement contains the settings for qdrant (database) cluster management @@ -121,16 +124,16 @@ operator: # The StorageClass used to make database and snapshot PVCs. # Default is nil, meaning the default storage class of Kubernetes. storageClass: - # The StorageClass used to make database PVCs. - # Default is nil, meaning the default storage class of Kubernetes. - #database: - # The StorageClass used to make snapshot PVCs. - # Default is nil, meaning the default storage class of Kubernetes. - #snapshot: + # The StorageClass used to make database PVCs. + # Default is nil, meaning the default storage class of Kubernetes. + #database: + # The StorageClass used to make snapshot PVCs. + # Default is nil, meaning the default storage class of Kubernetes. + #snapshot: # Qdrant config contains settings specific for the database qdrant: # The config where to find the image for qdrant - image: + image: # The repository where to find the image for qdrant # Default is "qdrant/qdrant" repository: registry.cloud.qdrant.io/qdrant/qdrant @@ -141,6 +144,18 @@ operator: # This secret should be available in the namespace where the cluster is running # Default not set pullSecretName: qdrant-registry-creds + # storage contains the settings for the storage of the Qdrant cluster + storage: + performance: + # CPU budget, how many CPUs (threads) to allocate for an optimization job. + # 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. + optimizerCpuBudget: 0 + # Enable async scorer which uses io_uring when rescoring. + # Only supported on Linux, must be enabled in your kernel. + # See: + asyncScorer: false # Qdrant DB log level # Available options: DEBUG | INFO | WARN | ERROR # Default is "INFO" @@ -169,21 +184,17 @@ operator: port: 6334 # Allow DNS resolution from qdrant pods at Kubernetes internal DNS server egress: - - to: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - ports: + - ports: - protocol: UDP port: 53 # Scheduling config contains the settings specific for scheduling scheduling: # Default topology spread constraints (list from type corev1.TopologySpreadConstraint) # Default is an empty list - topologySpreadConstraints: [ ] + topologySpreadConstraints: [] # Default pod disruption budget (object from type policyv1.PodDisruptionBudgetSpec) # Default is not set - podDisruptionBudget: { } + podDisruptionBudget: {} # ClusterManager config contains the settings specific for cluster manager clusterManager: # Whether or not the cluster manager (on operator level). @@ -201,11 +212,11 @@ operator: timeout: 30s # Specifies overrides for the manage rules manageRulesOverrides: - #dry_run: - #max_transfers: - #max_transfers_per_collection: - #rebalance: - #replicate: + #dry_run: + #max_transfers: + #max_transfers_per_collection: + #rebalance: + #replicate: # Ingress config contains the settings specific for ingress ingress: # Whether or not the Ingress feature is enabled. @@ -224,7 +235,7 @@ operator: secretName: "" # List of Traefik middlewares to apply # Default is an empty list - middlewares: [ ] + middlewares: [] # IP Allowlist Strategy for Traefik # Default is None ipAllowlistStrategy: @@ -233,14 +244,18 @@ operator: enableBodyValidatorPlugin: false # The specific settings when the Provider is KubernetesIngress kubernetesIngress: - # Name of the ingress class - # Default is None - #ingressClassName: + # Name of the ingress class + # Default is None + #ingressClassName: # TelemetryTimeout is the duration a single call to the cluster telemetry endpoint is allowed to take. # Default is 3 seconds telemetryTimeout: 3s # MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 20. - maxConcurrentReconciles: 20 + maxConcurrentReconciles: 20 + # VolumeExpansionMode specifies the expansion mode, which can be online or offline (e.g. in case of Azure). + # Available options: Online, Offline + # Default is Online + volumeExpansionMode: Online # BackupManagementConfig contains the settings for backup management backupManagement: # Whether or not the backup features are enabled. diff --git a/qdrant-landing/content/documentation/private-cloud/private-cloud-setup.md b/qdrant-landing/content/documentation/private-cloud/private-cloud-setup.md index 57c0b2be4..29d8c26e8 100644 --- a/qdrant-landing/content/documentation/private-cloud/private-cloud-setup.md +++ b/qdrant-landing/content/documentation/private-cloud/private-cloud-setup.md @@ -80,8 +80,8 @@ Once you are onboarded to Qdrant Private Cloud, you will receive credentials to kubectl create namespace qdrant-private-cloud kubectl create secret docker-registry qdrant-registry-creds --docker-server=registry.cloud.qdrant.io --docker-username='your-username' --docker-password='your-password' --namespace qdrant-private-cloud helm registry login 'registry.cloud.qdrant.io' --username 'your-username' --password 'your-password' -helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.3.0 --wait -helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.0.0 +helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.6.4 --wait +helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.1.0 ``` For a list of available versions consult the [Private Cloud Changelog](/documentation/private-cloud/changelog/).