Skip to main content
Version: main 🚧

Argo CD

Enterprise
Available in these plansFreeDevProdScale
Argo Integration

vCluster Platform provides several points of integration with Argo CD, a popular GitOps tool for Kubernetes. The Argo CD integration is designed to help users take advantage 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 tenant clusters to Argo CD
  2. Enable SSO Integration (sign in to Argo CD via vCluster Platform)
  3. Create Argo CD App Project per vCluster Platform Project

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 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 will configure Argo CD to allow users to authenticate via vCluster Platform. After enabling this setting users who browse to the Argo CD instance will see a button to login via vCluster Platform. All members of the project will be able to log in via vCluster Platform and gain access to Argo CD.

The final integration level is the App Project/Argo CD Project integration. This tier configures an App Project in Argo CD that corresponds to the vCluster Platform project. This option allows for configuring the Argo CD Project's source repositories (repositories that can be deployed to clusters in the given project), as well as RBAC roles to apply to the project.

Configuration of each of these integration modes all starts at the vCluster Platform project object. Argo CD can be enabled on a per-project basis, where multiple projects can be configured to integrate with a single Argo CD instance, or with different Argo CD instances depending on your requirements.

Project Integration​

Enable Argo CD Integration Per Project​

Integration Errors

If there are any errors establishing Argo CD integration, an Argo CD Error message will appear under the 'Project Settings' button.

  1. Select + New Project from the projects dropdown at the top of the left navigation bar.

  2. In the drawer that appears from the right, create your project as normal.

  3. Click the Argo CD configuration tab.

  4. Slide the Enable Argo CD Integration slider to enabled.

  5. In the new configurations that appeared under the Enable Argo CD Integration slider, select either Clusters or Tenant Clusters from the dropdown box in the Where is Argo CD running 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.

  6. In the next drop down to the right, select the name of the cluster or tenant cluster that your Argo CD instance is deployed in.

  7. If your Argo CD instance is deployed in a namespace other than argocd, enter the name of the namespace in the Argo CD Namespace box.

  8. Finish configuring anything else you'd like on your project, then click the button.

Disabling Argo CD Integration

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.

Enable Argo CD SSO Integration​

Projects may also enable SSO integration with Argo CD, which allows all members of the vCluster Platform project to log in to Argo CD via vCluster Platform.

Pre-Requisites

The loftHost vCluster Platform configuration must be set to enable this integration. The loftHost can be configured via with the Helm values, or in the Admin section of the UI on the Config pane.

  1. Select + New Project from the projects dropdown at the top of the left navigation bar.

  2. In the drawer that appears from the right, create your project as normal.

  3. Click the Argo CD configuration tab.

  4. Slide the Enable Argo CD Integration slider to enabled.

  5. In the new configurations that appeared under the Enable Argo CD Integration slider, select either Clusters or Tenant Clusters from the dropdown box in the Where is Argo CD running 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.

  6. In the next drop down to the right, select the name of the cluster or tenant cluster that your Argo CD instance is deployed in.

  7. If your Argo CD instance is deployed in a namespace other than argocd, enter the name of the namespace in the Argo CD Namespace box.

  8. Slide the Enable SSO Integration slider to enabled.

  9. In the ArgoCD Url field, enter the resolvable and reachable (from vCluster Platform) URL of your Argo CD instance.

  10. [Optional] select the desired RBAC role to assign to project members who log into Argo CD via vCluster Platform.

  11. Finish configuring anything else you'd like on your project, then click the button.

Enable Argo CD App Project Integration​

App Project integration, can be enabled by editing a project manifest and setting the argoCD.project.enabled field of the project spec to 'true'. Additionally, users may 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.

Tenant cluster integration​

Enable tenant cluster import​

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.

Make Sure Your Project Has Argo CD Enabled.

If the project your tenant cluster resides in does not have Argo CD integration enabled, you will not see the Argo CD import option!

  1. Select the project you intend to enable Argo CD from from the projects dropdown at the top of the left navigation bar.

  2. Click on Tenant Clusters and the button.

  3. In the popup, optionally select the tenant cluster template, then click the button.

  4. Find your desired tenant cluster in the tenant cluster list. Slide the ArgoCD slider to enabled.

Integration Errors

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 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.