Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Before exposing the platform with Istio, ensure you have:

## Install Istio {#install-istio}

Install Istio on your platform host cluster:
Install Istio on your platform control plane cluster:

```bash title="Install Istio on your cluster"
istioctl install
Expand Down Expand Up @@ -86,7 +86,7 @@ For more information about setting up TLS certificates, see the [Istio Secure Ga

## Enable Tailscale connectivity {#enable-tailscale-connectivity}

For external virtual clusters or platform agents on connected clusters to communicate with the platform, apply this `EnvoyFilter`:
For external tenant clusters or platform agents on connected clusters to communicate with the platform, apply this `EnvoyFilter`:

```yaml title="Apply EnvoyFilter for Tailscale connectivity"
apiVersion: networking.istio.io/v1alpha3
Expand Down
24 changes: 12 additions & 12 deletions platform_versioned_docs/version-4.9.0/how-to/gitops-end-to-end.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
title: End-to-end GitOps with ArgoCD
sidebar_label: GitOps End-to-End
sidebar_position: 1
description: Complete guide to managing vCluster Platform and virtual clusters with ArgoCD, from platform installation to virtual cluster deployment.
description: Complete guide to managing vCluster Platform and tenant clusters with ArgoCD, from platform installation to tenant cluster deployment.
---

import InterpolatedCodeBlock from "@site/src/components/InterpolatedCodeBlock";

This guide walks through the full lifecycle of managing platform resources with ArgoCD, covering platform installation, cluster connections, project creation, and virtual cluster deployment. Each section references the detailed documentation for that step and provides the ArgoCD-specific configuration needed.
This guide walks through the full lifecycle of managing platform resources with ArgoCD, covering platform installation, cluster connections, project creation, and tenant cluster deployment. Each section references the detailed documentation for that step and provides the ArgoCD-specific configuration needed.

:::info
While this guide uses ArgoCD as the example, the same principles apply to other GitOps tools like Flux. Each section links to detailed documentation that includes tabs for alternative tooling.
Expand Down Expand Up @@ -79,9 +79,9 @@ ArgoCD does not deploy the Helm release secret. Platform configuration updates m

For the full set of Helm configuration options and alternative installation methods, see the [platform installation with ArgoCD guide](../install/gitops.mdx).

## 2. Connect a host cluster
## 2. Connect a control plane cluster

After the platform is running, connect host clusters where virtual clusters will be deployed. In a GitOps workflow, you can manage connected clusters as Kubernetes resources alongside your platform installation.
After the platform is running, connect control plane clusters where tenant clusters will be deployed. In a GitOps workflow, you can manage connected clusters as Kubernetes resources alongside your platform installation.

Each connected cluster requires two resources: a Cluster object and a Secret containing the cluster credentials.

Expand Down Expand Up @@ -181,7 +181,7 @@ For interactive setup methods using the UI or CLI, see the [connect a cluster gu

## 3. Create a project

Projects organize virtual clusters and control access, templates, and quotas. In a GitOps workflow, define projects as Project custom resources.
Projects organize tenant clusters and control access, templates, and quotas. In a GitOps workflow, define projects as Project custom resources.

<InterpolatedCodeBlock
code={`apiVersion: management.loft.sh/v1
Expand Down Expand Up @@ -211,7 +211,7 @@ spec:

### Enable ArgoCD integration on the project

To sync virtual clusters into ArgoCD as deployment targets, enable the ArgoCD integration on the project. This is configured through the project spec and allows virtual clusters to appear as available clusters in the ArgoCD UI.
To sync tenant clusters into ArgoCD as deployment targets, enable the ArgoCD integration on the project. This is configured through the project spec and allows tenant clusters to appear as available clusters in the ArgoCD UI.

See the [ArgoCD integration guide](../integrations/argocd.mdx) for UI-based setup and configuration of SSO integration and App Project mapping.

Expand All @@ -221,9 +221,9 @@ Define resources using the `management.loft.sh` API group. The `storage.loft.sh`

For interactive project creation using the UI, see the [create a project guide](../administer/projects/create.mdx).

## 4. Deploy virtual clusters
## 4. Deploy tenant clusters

With the platform, cluster, and project in place, deploy virtual clusters through ArgoCD. There are two approaches depending on how you want to manage the virtual cluster lifecycle.
With the platform, cluster, and project in place, deploy tenant clusters through ArgoCD. There are two approaches depending on how you want to manage the tenant cluster lifecycle.

### Option A: Deploy with VirtualClusterInstance

Expand Down Expand Up @@ -258,12 +258,12 @@ spec:
/>

:::tip
The namespace follows the pattern `loft-p-<project-name>`. The platform uses this convention to associate virtual clusters with projects.
The namespace follows the pattern `loft-p-<project-name>`. The platform uses this convention to associate tenant clusters with projects.
:::

### Option B: Deploy with Helm chart directly

Deploy the vCluster Helm chart through an ArgoCD Application. This approach gives you direct control over the Helm release but does not provide platform lifecycle features unless you [register the virtual cluster afterward](../use-platform/virtual-clusters/add-virtual-clusters.mdx).
Deploy the vCluster Helm chart through an ArgoCD Application. This approach gives you direct control over the Helm release but does not provide platform lifecycle features unless you [register the tenant cluster afterward](../use-platform/virtual-clusters/add-virtual-clusters.mdx).

<InterpolatedCodeBlock
code={`apiVersion: argoproj.io/v1alpha1
Expand Down Expand Up @@ -335,6 +335,6 @@ platform-gitops/
## Next steps

- [Configure platform settings](../configure/introduction.mdx) for authentication, audit logging, and more
- [Set up templates](../administer/templates/create-templates.mdx) to standardize virtual cluster configurations
- [Set up templates](../administer/templates/create-templates.mdx) to standardize tenant cluster configurations
- [Configure project quotas](../administer/projects/quotas.mdx) to control resource usage
- [Enable sleep mode](/docs/vcluster/manage/sleep-wakeup) to reduce costs on idle virtual clusters
- [Enable sleep mode](/docs/vcluster/manage/sleep-wakeup) to reduce costs on idle tenant clusters
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A Go template function is a built-in or user-defined helper function. It can be
transform data when rendering text. For example, in a Helm
chart (which uses Go templates), functions such as `default`, `upper`, and `quote` are commonly used to process values dynamically.

Templates in vCluster Platform standardize configurations for virtual clusters, namespaces, and applications.
Templates in vCluster Platform standardize configurations for tenant clusters, namespaces, and applications.
You can create templates through the vCluster Platform UI or by applying manifests directly to your cluster using vCluster CLI or Helm charts.
The platform provides the VirtualClusterTemplate CRD for defining templates.
For more information, see [Creating Templates](../administer/templates/create-templates).
Expand Down Expand Up @@ -63,7 +63,7 @@ spec:
parameters:
cpu: "{{ .Values.cpuLimit }}"
```
For example, You can use [connected host cluster parameter values](../administer/templates/parameters.mdx#connected-host-cluster-parameter-values) to specify the sleep mode timezone automatically:
For example, You can use [connected control plane cluster parameter values](../administer/templates/parameters.mdx#connected-control-plane-cluster-parameter-values) to specify the sleep mode timezone automatically:
```yaml
sleepMode:
enabled: true
Expand Down
64 changes: 32 additions & 32 deletions platform_versioned_docs/version-4.9.0/integrations/argocd.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,22 @@ import FeatureTable from '@site/src/components/FeatureTable';

vCluster Platform provides several points of integration with [Argo CD](https://argo-cd.readthedocs.io/en/stable/),
a popular GitOps tool for Kubernetes. The Argo CD integration is designed to help users take advantage
of the speed and ease of creating virtual clusters, as well as the power of Argo CD for managing and
deploying applications within those virtual clusters.
of the speed and ease of creating tenant clusters, as well as the power of Argo CD for managing and
deploying applications within those tenant clusters.

Argo CD Integration has three major components or levels, with each level adding additional
integration touch points.

1. Sync virtual clusters to Argo CD
1. Sync tenant clusters to Argo CD
2. Enable SSO Integration (sign in to Argo CD via vCluster Platform)
3. Create Argo CD [App Project](https://argo-cd.readthedocs.io/en/stable/user-guide/projects/)
per vCluster Platform Project

The simplest level of integration is syncing virtual clusters into Argo CD as available clusters
for deployments. In this deployment model, virtual clusters that are part of an Argo enabled
The simplest level of integration is syncing tenant clusters into Argo CD as available clusters
for deployments. In this deployment model, tenant clusters that are part of an Argo enabled
project, and have the `loft.sh/import-argocd` label set to `true` will be automatically "synced"
to Argo CD. These virtual clusters will show up as clusters that are available for deployments
in the Argo CD UI. When the virtual clusters are deleted, vCluster Platform will automatically remove the
to Argo CD. These tenant clusters will show up as clusters that are available for deployments
in the Argo CD UI. When the tenant clusters are deleted, vCluster Platform will automatically remove the
deleted cluster from Argo CD.

The second integration level is enabling SSO integration. This is a project level setting that
Expand Down Expand Up @@ -84,15 +84,15 @@ under the 'Project Settings' button.
In the new configurations that appeared under the{" "}
<Label>Enable Argo CD Integration</Label> slider, select either{" "}
<Label>Clusters</Label> or
<Label>Virtual Clusters</Label> from the dropdown box in the <Label>
<Label>Tenant Clusters</Label> from the dropdown box in the <Label>
Where is Argo CD running
</Label> dropdown. This tells vCluster Platform if your Argo CD instance lives
in a connected physical cluster, or if it is running inside of a virtual
cluster.
</Step>
<Step>
In the next drop down to the right, select the name of the cluster or
virtual cluster that your Argo CD instance is deployed in.
tenant cluster that your Argo CD instance is deployed in.
</Step>
<Step>
If your Argo CD instance is deployed in a namespace other than `argocd`,
Expand Down Expand Up @@ -123,15 +123,15 @@ under the 'Project Settings' button.
In the new configurations that appeared under the{" "}
<Label>Enable Argo CD Integration</Label> slider, select either{" "}
<Label>Clusters</Label> or
<Label>Virtual Clusters</Label> from the dropdown box in the <Label>
<Label>Tenant Clusters</Label> from the dropdown box in the <Label>
Where is Argo CD running
</Label> dropdown. This tells vCluster Platform if your Argo CD instance lives
in a connected physical cluster, or if it is running inside of a virtual
cluster.
</Step>
<Step>
In the next drop down to the right, select the name of the cluster or
virtual cluster that your Argo CD instance is deployed in.
tenant cluster that your Argo CD instance is deployed in.
</Step>
<Step>
If your Argo CD instance is deployed in a namespace other than `argocd`,
Expand All @@ -146,7 +146,7 @@ under the 'Project Settings' button.
</Tabs>

:::warning Disabling Argo CD Integration
Upon disabling of Argo integration at the project, all virtual clusters will be removed from Argo
Upon disabling of Argo integration at the project, all tenant clusters will be removed from Argo
CD, so be careful when disabling Argo CD at the project level.
:::

Expand Down Expand Up @@ -186,15 +186,15 @@ configured via with the Helm values, or in the `Admin` section of the UI on the
In the new configurations that appeared under the{" "}
<Label>Enable Argo CD Integration</Label> slider, select either{" "}
<Label>Clusters</Label> or
<Label>Virtual Clusters</Label> from the dropdown box in the <Label>
<Label>Tenant Clusters</Label> from the dropdown box in the <Label>
Where is Argo CD running
</Label> dropdown. This tells vCluster Platform if your Argo CD instance lives
in a connected physical cluster, or if it is running inside of a virtual
cluster.
</Step>
<Step>
In the next drop down to the right, select the name of the cluster or
virtual cluster that your Argo CD instance is deployed in.
tenant cluster that your Argo CD instance is deployed in.
</Step>
<Step>
If your Argo CD instance is deployed in a namespace other than `argocd`,
Expand Down Expand Up @@ -259,25 +259,25 @@ App Project integration, can be enabled by editing a project manifest and settin
provide metadata fields to apply the Argo CD App Project object, Argo CD RBAC roles to apply,
and an array of permissible source repositories that may be accessed within the project.

## Virtual Cluster Integration
## Tenant cluster integration

### Enable Virtual Cluster Import
### Enable tenant cluster import

Once a project has Argo CD enabled, virtual clusters within that project are eligible to be
synced to the Argo instance as available clusters. You can enable virtual cluster import into
Argo CD during the virtual cluster creation step, or by enabling this feature on existing
virtual clusters.
Once a project has Argo CD enabled, tenant clusters within that project are eligible to be
synced to the Argo instance as available clusters. You can enable tenant cluster import into
Argo CD during the tenant cluster creation step, or by enabling this feature on existing
tenant clusters.

:::info Make Sure Your Project Has Argo CD Enabled.
If the project your virtual cluster resides in does _not_ have Argo CD integration enabled, you
If the project your tenant cluster resides in does _not_ have Argo CD integration enabled, you
will not see the Argo CD import option!
:::

<Tabs
defaultValue="creation"
values={[
{ label: "During Virtual Cluster Creation", value: "creation" },
{ label: "On Existing Virtual Cluster", value: "existing" },
{ label: "During Tenant Cluster Creation", value: "creation" },
{ label: "On Existing Tenant Cluster", value: "existing" },
]}
>
<TabItem value="creation">
Expand All @@ -286,16 +286,16 @@ will not see the Argo CD import option!
Select the project you intend to enable Argo CD from from the projects dropdown at the top of the left navigation bar.
</Step>
<Step>
Click on Virtual Clusters and the{" "}
<Button>New Virtual Cluster</Button> button.
Click on Tenant Clusters and the{" "}
<Button>New Tenant Cluster</Button> button.
</Step>
<Step>
In the popup, optionally select the virtual cluster template, then click
In the popup, optionally select the tenant cluster template, then click
the
<Button>Create</Button> button.
</Step>
<Step>
Find your desired virtual cluster in the virtual cluster list. Slide the
Find your desired tenant cluster in the tenant cluster list. Slide the
<Label>ArgoCD</Label> slider to enabled.
</Step>
</Flow>
Expand All @@ -306,21 +306,21 @@ will not see the Argo CD import option!
Select the project you intend to enable Argo CD from from the projects dropdown at the top of the left navigation bar.
</Step>
<Step>
Find your desired virtual cluster in the virtual cluster list. Slide the
Find your desired tenant cluster in the tenant cluster list. Slide the
<Label>ArgoCD</Label> slider to enabled.
</Step>
</Flow>
</TabItem>
</Tabs>

:::warning Integration Errors
If there are any errors adding your virtual cluster to Argo CD, the virtual cluster status will
If there are any errors adding your tenant cluster to Argo CD, the tenant cluster status will
show a warning, clicking on the warning will give you a message indicating the cause of the issues.
:::

## Disable the Argo CD Integration

The Argo CD integration can be disabled on a per virtual cluster or per project level by toggling the same sliders
used to enable it. Disabling the integration at the virtual cluster level simply removes it as a registered cluster
in Argo CD. Disabling the integration at the project level removes all virtual clusters from Argo CD, so be careful
The Argo CD integration can be disabled on a per tenant cluster or per project level by toggling the same sliders
used to enable it. Disabling the integration at the tenant cluster level simply removes it as a registered cluster
in Argo CD. Disabling the integration at the project level removes all tenant clusters from Argo CD, so be careful
when disabled Argo at this level.
14 changes: 7 additions & 7 deletions platform_versioned_docs/version-4.9.0/integrations/gitlab-ci.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ When using vCluster Platform with GitLab you can use the
official image `ghcr.io/loft-sh/vcluster-cli` as either a base image or
directly. If additional tooling is needed for your CI/CD process, a custom image can be created.

## Virtual Clusters for Merge Requests
## Tenant clusters for merge requests

This example shows how to create and delete a Virtual Cluster for running end-to-end tests for
This example shows how to create and delete a Tenant Cluster for running end-to-end tests for
the default branch and merge requests. It assumes you have configured CI/CD variables `VCLUSTER_PRO_URL`,
`VCLUSTER_PRO_ACCESS_KEY`, and `VCLUSTER_PRO_PROJECT`.

Expand Down Expand Up @@ -55,15 +55,15 @@ or add the `--namespace` flag to the `vcluster platform create` command.
2. The `before_script` first logs in to vCluster Platform using the `$VCLUSTER_PRO_URL` and `$VCLUSTER_PRO_ACCESS_KEY`
variables that you defined in GitLab.
[See the GitLab docs for more information](https://docs.gitlab.com/ee/ci/variables/)
3. The `before_script` then creates a virtual cluster using
3. The `before_script` then creates a tenant cluster using
[predefined GitLab variables](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html)
to create a unique name. Optionally, the `--upgrade` flag can be used to reuse an existing virtual cluster instead of creating a new one.
to create a unique name. Optionally, the `--upgrade` flag can be used to reuse an existing tenant cluster instead of creating a new one.
4. Next `before_script` installs some additional tooling needed to run the end-to-end tests. For
more complex scenarios creating a custom image is recommended.
5. Then the `script` section uses `kubectl` to deploy the application to the space and waits for
the `my-app` deployment to become ready. `make` is then used to run an end-to-end test suite.
6. Finally `after_script` deletes the virtual cluster, and passes `--delete-namespace` to ensure the
corresponding namespace for the virtual cluster is deleted. By using `after_script` we can ensure the virtual cluster
is deleted even if the tests fail. You may wish to skip this step if reusing the virtual cluster with the `--upgrade` flag when creating the virtual cluster.
6. Finally `after_script` deletes the tenant cluster, and passes `--delete-namespace` to ensure the
corresponding namespace for the tenant cluster is deleted. By using `after_script` we can ensure the tenant cluster
is deleted even if the tests fail. You may wish to skip this step if reusing the tenant cluster with the `--upgrade` flag when creating the tenant cluster.


Loading
Loading