Skip to main content
Version: main 🚧

Move vCluster To Other Project

This API can be used to move a virtual cluster from one project to another.

Argo CD integration is not supported during project migration

Migrating a tenant cluster between projects while Argo CD integration is enabled is not supported. This operation deletes all Argo CD applications managed by Platform for that cluster and removes their workloads. Applications are not recreated in the destination project. The tenant cluster may also get stuck in Terminating.

Avoid this migration path when Argo CD integration is active. If migration is necessary, manually remove all Argo CD-managed applications and workloads before migrating, and reconfigure the integration in the destination project afterward. See Deploy applications for details on managing Argo CD integration.

Move a vCluster to another project example​

Example request:

apiVersion: management.loft.sh/v1
kind: ProjectMigrateVirtualClusterInstance
metadata: {}
sourceVirtualClusterInstance:
name: my-virtual-cluster
namespace: loft-p-my-other-project

Move a vCluster to another project reference​

sourceVirtualClusterInstance required object ​

SourceVirtualClusterInstance is the tenant cluster instance to migrate into this project

name string ​

Name of the tenant cluster instance to migrate

namespace string ​

Namespace of the tenant cluster instance to migrate

Move a vCluster to another project (create)​

Move a virtual cluster into another project using this API.

Create a file object.yaml with the following contents:

apiVersion: management.loft.sh/v1
kind: ProjectMigrateVirtualClusterInstance
metadata: {}
sourceVirtualClusterInstance:
name: my-virtual-cluster
namespace: loft-p-my-other-project

Then run the following curl command:

# Exchange my-object in the url below with the name of the Move Virtual Cluster To Other Project
curl -s -X POST --insecure \
"https://$LOFT_DOMAIN/kubernetes/management/apis/management.loft.sh/v1/projects/my-object/migratevirtualclusterinstance" \
--data-binary "$(cat object.yaml)" \
-H "Content-Type: application/yaml" \
-H "Authorization: Bearer $ACCESS_KEY"