You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
doc(argocd): editorial polish across argo cd integration docs
Prose improvements across overview, connect-argocd, connect-akuity, and
deploy-applications: active voice, 25-word sentence target, no em dashes,
click/select distinction, table-before-tabs ordering, and parallel structure
between connector pages.
Structural changes: split akuity field reference into two tables, moved
agent sizing to a reference appendix after next steps, collapsed redundant
h3 into the deploy-to-tenant-cluster section, fixed broken relative links.
Added Akuity and kustomization to Vale vocabulary. Updated style guide with
click/select guidance.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This guide connects vCluster Platform to an [Akuity](https://akuity.io)-managed Argo CD instance. At the end you will have a connector that registers tenant clusters and control plane clusters with Akuity and provisions the Akuity agent inside each cluster automatically.
13
+
This guide connects vCluster Platform to an [Akuity](https://akuity.io)-managed Argo CD instance. After successful completion of the steps, you should have a connector that registers tenant clusters and control plane clusters with Akuity and provisions the Akuity agent inside each cluster automatically.
14
14
15
15
For a self-hosted Argo CD server, see [Connect to Argo CD](./connect-argocd.mdx) instead.
16
16
17
17
## How the Akuity agent works
18
18
19
-
When you use an Akuity connector, Argo CD does not connect directly to your cluster's API server. Instead, Akuity uses a lightweight agent running inside each registered cluster that establishes an outbound connection to the Akuity control plane. The managed Akuity Argo CD instance communicates with the cluster through that persistent connection.
20
-
21
-
This means the cluster's API server does not need to be publicly reachable — the agent runs inside the cluster and connects outward — so private clusters are fully supported.
19
+
When you use an Akuity connector, Argo CD does not connect directly to your cluster's API server. Instead, Akuity uses a lightweight agent running inside each registered cluster that establishes an outbound connection to the Akuity control plane. The agent's outbound connection becomes a bidirectional channel. Argo CD communicates with the cluster through it without requiring the cluster's API server to be directly reachable. Since the agent connects outward, private clusters are fully supported.
22
20
23
21
You do not install or manage the agent manually. When a cluster is registered with an Akuity connector, Platform:
24
22
25
23
1. Calls the Akuity API to register the cluster and retrieve the agent installation manifest.
26
-
2. Applies the manifest to the cluster. The agent is installed in its own namespace within the cluster.
24
+
2. Applies the manifest to the cluster. The agent installs in its own namespace within the cluster.
27
25
3. Stores a hash of the applied manifest in a cluster annotation. If the manifest changes (for example, after an Akuity agent version update), Platform detects the drift and applies the updated manifest automatically.
28
26
29
-
When the integration is disabled or the connector is changed, Platform removes the agent namespace from the cluster and deregisters it from Akuity.
27
+
When you disable the integration, Platform removes the agent namespace and deregisters the cluster from Akuity. When you change which connector a cluster references, Platform deregisters from the previous Akuity instance before registering with the new one.
30
28
31
29
## Prerequisites
32
30
33
-
- vCluster Platform running with admin access
31
+
- vCluster Platform running with [platform admin access](../../administer/users-permissions/overview.mdx)
34
32
- An Akuity organization with an active Argo CD instance
35
-
- An Akuity API key (see below)
33
+
- An Akuity API key. See [Akuity API key permissions](#akuity-api-key-permissions) for required permissions.
36
34
37
35
### Akuity API key permissions
38
36
@@ -49,11 +47,40 @@ See the [Akuity API key documentation](https://docs.akuity.io/organizations/api-
49
47
50
48
## Step 1: Create a connector
51
49
50
+
The connector Secret supports the following fields.
|`token`| If not using `username` and `password`| Argo CD API bearer token for the Akuity instance |
58
+
|`username`| If not using `token`| Argo CD username |
59
+
|`password`| If not using `token`| Argo CD password |
60
+
|`namespace`| No | Namespace where Argo CD is installed. Defaults to `argocd`|
61
+
|`insecure`| No | Set to `"true"` to skip TLS verification. Defaults to `"false"`|
62
+
63
+
**Akuity-specific fields:**
64
+
65
+
| Field | Required | Description |
66
+
|-------|----------|-------------|
67
+
|`connectorType`| Yes | Must be `"akuity"`|
68
+
|`akuityOrgId`| Yes | Akuity organization ID |
69
+
|`akuityInstanceId`| Yes | Argo CD instance ID within your Akuity organization |
70
+
|`akuityApiKeyId`| Yes | Akuity API key ID, used to register and manage clusters via the Akuity API |
71
+
|`akuityApiKeySecret`| Yes | Akuity API key secret |
72
+
|`akuityAgentSize`| No | Agent size profile: `CLUSTER_SIZE_SMALL`, `CLUSTER_SIZE_MEDIUM` (default), or `CLUSTER_SIZE_LARGE`. See [Agent sizing](#agent-sizing). |
73
+
|`akuityRepoServerReplicas`| No | Override the `argocd-repo-server` replica count. See [Agent sizing](#agent-sizing). |
74
+
|`akuityRepoServerMemory`| No | Override `argocd-repo-server` memory. Sets both `requests` and `limits`. See [Agent sizing](#agent-sizing). |
75
+
76
+
Select your authentication method and apply the Secret with `kubectl apply`:
@@ -66,7 +93,7 @@ See the [Akuity API key documentation](https://docs.akuity.io/organizations/api-
66
93
Click <Button>Add ArgoCD Connector</Button>.
67
94
</Step>
68
95
<Step>
69
-
In the <Label>Display name</Label> field, enter a human-readable name for the connector.
96
+
In <Label>Display name</Label>, enter a human-readable name for the connector.
70
97
The <Label>ArgoCD Connector ID</Label> is auto-generated from the display name and is used to reference this connector from clusters.
71
98
</Step>
72
99
<Step>
@@ -76,10 +103,10 @@ See the [Akuity API key documentation](https://docs.akuity.io/organizations/api-
76
103
- <Label>API Key ID</Label> and <Label>API Key Secret</Label>: your Akuity API key credentials
77
104
</Step>
78
105
<Step>
79
-
In the <Label>Server URL</Label> field, enter the Akuity instance URL. The format is `https://<akuityInstanceId>.cd.akuity.cloud/`.
106
+
In <Label>Server URL</Label>, enter the Akuity instance URL. The format is `https://<akuityInstanceId>.cd.akuity.cloud/`.
80
107
</Step>
81
108
<Step>
82
-
If Argo CD is installed in a namespace other than `argocd`, update the <Label>Argo CD Namespace</Label> field.
109
+
If Argo CD is installed in a namespace other than `argocd`, update <Label>Argo CD Namespace</Label>.
83
110
</Step>
84
111
<Step>
85
112
Select an authentication method and fill in the credentials:
@@ -88,26 +115,15 @@ See the [Akuity API key documentation](https://docs.akuity.io/organizations/api-
88
115
</Step>
89
116
<Step>
90
117
In the <Label>Agent Configuration</Label> section, select an <Label>Agent Size</Label> for the cluster workload.
91
-
Optionally override <Label>Replicas</Label> and <Label>Memory</Label> for the `argocd-repo-server` (see [Agent sizing](#agent-sizing) below).
118
+
Optionally override <Label>Replicas</Label> and <Label>Memory</Label> for the `argocd-repo-server` (see [Agent sizing](#agent-sizing)).
92
119
</Step>
93
120
<Step>
94
121
Click <Button>Create ArgoCD Connector</Button>.
95
122
</Step>
96
123
</Flow>
97
124
98
125
</TabItem>
99
-
<TabItemvalue="yaml">
100
-
101
-
Set `connectorType: "akuity"` to use Akuity. Akuity supports two authentication methods for the Argo CD API, controlled by the `authType` field. Apply the Secret with `kubectl apply`.
| `token` | If `authType` is `"token"` | Argo CD API bearer token for the Akuity instance |
175
-
| `username` | If `authType` is `"basic"` | Argo CD username |
176
-
| `password` | If `authType` is `"basic"` | Argo CD password |
177
-
| `namespace` | No | Namespace where Argo CD is installed. Defaults to `argocd` |
178
-
| `insecure` | No | Set to `"true"` to skip TLS verification. Defaults to `"false"` |
179
-
| `akuityOrgId` | Yes | Akuity organization ID |
180
-
| `akuityInstanceId` | Yes | Argo CD instance ID within your Akuity organization |
181
-
| `akuityApiKeyId` | Yes | Akuity API key ID, used to register and manage clusters via the Akuity API |
182
-
| `akuityApiKeySecret` | Yes | Akuity API key secret |
183
-
| `akuityAgentSize` | No | Agent size profile: `CLUSTER_SIZE_SMALL`, `CLUSTER_SIZE_MEDIUM` (default), or `CLUSTER_SIZE_LARGE`. See [Agent sizing](#agent-sizing). |
184
-
| `akuityRepoServerReplicas` | No | Override the `argocd-repo-server` replica count. See [Agent sizing](#agent-sizing). |
185
-
| `akuityRepoServerMemory` | No | Override `argocd-repo-server` memory. Sets both `requests` and `limits`. See [Agent sizing](#agent-sizing). |
186
-
187
-
</TabItem>
188
-
</Tabs>
189
-
190
-
## Agent sizing
191
-
192
-
Three fields in the connector Secret control how the Akuity agent is provisioned inside each registered cluster.
193
-
194
-
### `akuityAgentSize`
195
-
196
-
This field is sent to the Akuity API when the cluster is registered and determines the overall resource profile of the agent as defined by Akuity. It is an Akuity-level concept, not a direct Kubernetes resource value — Akuity translates this into the appropriate CPU and memory requests for the agent workloads on its end.
197
-
198
-
| Value | Recommended for |
199
-
|-------|----------------|
200
-
| `CLUSTER_SIZE_SMALL` | Development or low-traffic clusters with few Applications |
| `CLUSTER_SIZE_LARGE` | High-throughput clusters with many Applications or frequent syncs |
203
-
204
-
### `akuityRepoServerReplicas` and `akuityRepoServerMemory`
205
-
206
-
These fields let you override specific resource settings on the `argocd-repo-server` Deployment inside the cluster, independently of the size profile. Platform applies a kustomization patch to the agent manifest before installing it:
207
-
208
-
- `akuityRepoServerReplicas`sets `spec.replicas` on the `argocd-repo-server` Deployment.
209
-
- `akuityRepoServerMemory`sets both `resources.requests.memory` and `resources.limits.memory` to the same value on the `argocd-repo-server` container. Accepts standard Kubernetes memory quantity strings, for example `"1Gi"` or `"512Mi"`.
210
-
211
-
Both fields are optional and independent of `akuityAgentSize`. Use them when the size profile alone does not give you the control you need over repo server memory or replica count.
183
+
For details on the three sizing fields, see [Agent sizing](#agent-sizing).
212
184
213
185
## Step 2: Enable the connector on a cluster
214
186
215
187
### On a tenant cluster
216
188
217
-
Add the `integrations.argoCD` block to the tenant cluster's `vcluster.yaml`. The `connector` field references the Secret name from Step 1.
189
+
Add the `integrations.argoCD` block to the tenant cluster's `vcluster.yaml`. The `connector` field references the Secret name from [Step 1](#step-1-create-a-connector).
218
190
219
191
```yaml
220
192
integrations:
@@ -223,7 +195,7 @@ integrations:
223
195
connector: akuity-prod
224
196
```
225
197
226
-
The connector can also be set directly in the `VirtualClusterInstance` manifest:
198
+
You can also set the connector directly in the `VirtualClusterInstance` manifest:
227
199
228
200
```yaml
229
201
apiVersion: management.loft.sh/v1
@@ -233,15 +205,12 @@ metadata:
233
205
namespace: p-team-a
234
206
spec:
235
207
template:
236
-
metadata:
237
-
name: vcluster
238
-
spec:
239
-
helmRelease:
240
-
values: |
241
-
integrations:
242
-
argoCD:
243
-
enabled: true
244
-
connector: akuity-prod
208
+
helmRelease:
209
+
values: |
210
+
integrations:
211
+
argoCD:
212
+
enabled: true
213
+
connector: akuity-prod
245
214
```
246
215
247
216
When the `VirtualClusterInstance` reconciles, Platform registers the tenant cluster with Akuity, retrieves the agent manifest, and installs the agent into the cluster.
@@ -262,9 +231,31 @@ spec:
262
231
```
263
232
264
233
:::warning Disabling the integration
265
-
Disabling the integration removes the cluster from Akuity, uninstalls the agent namespace from the cluster, and deletes all `ArgoCDApplication` objects managed by Platform. This applies whether the integration is configured via `vcluster.yaml`, a `VirtualClusterInstance` manifest, or a `Cluster` object. Any applications deployed by the integration will be removed from Argo CD.
234
+
Disabling the integration removes the cluster from Akuity, uninstalls the agent namespace, and deletes all `ArgoCDApplication` objects managed by Platform. This applies whether you configure the integration using `vcluster.yaml`, a `VirtualClusterInstance` manifest, or a `Cluster` object. Any applications deployed by the integration are removed from Argo CD.
266
235
:::
267
236
268
237
## Next step
269
238
270
239
With the connector enabled, you can declare Argo CD Applications in your tenant cluster or control plane cluster configuration. See [Deploy applications](./deploy-applications.mdx).
240
+
241
+
## Agent sizing
242
+
243
+
Three fields in the connector Secret control how the Akuity agent is provisioned inside each registered cluster.
244
+
245
+
### `akuityAgentSize`
246
+
247
+
When you register a cluster, Platform sends this field to the Akuity API to set the agent's overall resource profile. This is an Akuity-level concept, not a direct Kubernetes resource value. Akuity translates it into the appropriate CPU and memory requests for the agent workloads.
248
+
249
+
| Value | Recommended for |
250
+
|-------|----------------|
251
+
| `CLUSTER_SIZE_SMALL` | Development or low-traffic clusters with few Applications |
| `CLUSTER_SIZE_LARGE` | High-throughput clusters with many Applications or frequent syncs |
254
+
255
+
### `akuityRepoServerReplicas`
256
+
257
+
This optional field overrides `spec.replicas` on the `argocd-repo-server` Deployment inside the cluster. Platform applies it as a kustomization patch to the agent manifest before installing. It is independent of `akuityAgentSize`.
258
+
259
+
### `akuityRepoServerMemory`
260
+
261
+
This optional field overrides memory on the `argocd-repo-server` container inside the cluster. Platform sets both `resources.requests.memory` and `resources.limits.memory` to the same value via a kustomization patch to the agent manifest. It is independent of `akuityAgentSize`. It accepts standard Kubernetes memory quantity strings, for example `"1Gi"` or `"512Mi"`.
0 commit comments