Skip to main content

Capabilities

The ArgoCD connector supports automatic account provisioning and deprovisioning. When a new account is created by C1, the account’s password will be sent to a vault. The connector also supports credential rotation for local accounts: C1 sets a new random password and sends it to a vault. ArgoCD rejects every session and API token issued before a password change, so rotation also cuts off the account’s existing access.

Connector actions

Connector actions are custom capabilities that extend C1 automations with app-specific operations.

Account lifecycle

The connector manages ArgoCD local accounts. ArgoCD’s Account API exposes no delete, disable or enable endpoint, so the connector changes accounts through the Kubernetes API, using the permissions described in Gather ArgoCD credentials.
  • Disable / enable (the disable_user and enable_user actions) are reversible. The account keeps its password and API tokens, which ArgoCD refuses while the account is disabled and accepts again once it is enabled.
  • Revoke API tokens (the revoke_tokens action) removes the account’s API tokens without touching the account itself.
  • Rotate password (credential rotation) sets a new random password and invalidates every session and API token issued before it.
  • Delete (account deprovisioning) is permanent. It revokes the account’s API tokens, removes its role grants and direct permissions, removes the account, and purges its stored credentials, so an account created later with the same name inherits none of them.
Use disable_user to suspend access you may need to restore, and delete to remove the account for good. Notes:
  • The built-in admin account cannot be disabled, enabled, rotated, stripped of its tokens or deleted. The connector also refuses to do any of these, except enable, to the account it authenticates as, since it would lock itself out of ArgoCD. SSO/Dex-managed identities are not local accounts, so there is nothing for the connector to manage for them.
  • Disabling a disabled account, enabling an enabled account, revoking the tokens of an account that has none, or deleting an account that is already gone is reported as success. The actions and rotation fail with a not-found error for an account ArgoCD does not know.
  • Account names may contain only alphanumerics, - and _. Names containing . are rejected, since ArgoCD cannot address them as accounts.
  • Deleting an account rewrites policy.csv in argocd-rbac-cm, which removes its # comment lines.
  • Revoking tokens and rotating another account’s password need the accounts, update ArgoCD RBAC permission for the connector’s account. Deleting accounts also requires the secrets Kubernetes permissions described below.

Gather ArgoCD credentials

Configuring the connector requires you to pass in credentials generated in ArgoCD. Gather these credentials before you move on.

Create a Role with required permissions

The connector needs permissions to read and modify ArgoCD ConfigMaps, and to read and patch the ArgoCD Secret. Create a Role that grants access to the following objects:
  • argocd-rbac-cm ConfigMap: Contains RBAC policies and role grants (needs read and write access)
  • argocd-cm ConfigMap: Contains ArgoCD configuration including user accounts (needs write access for provisioning, deprovisioning and the enable/disable actions)
  • argocd-secret Secret: Contains local accounts’ password hashes and API token records (needs read and write access for account deletion)
Required Permissions Explained:
  • get: Read individual ConfigMaps (required to read argocd-rbac-cm and argocd-cm)
  • list: List ConfigMaps in the namespace (required to discover and access the ConfigMaps)
  • patch: Partially update ConfigMaps (used to modify RBAC policies and user accounts)
  • update: Fully update ConfigMaps (used as an alternative to patch for modifying ConfigMaps)
  • get/patch on secrets: Read and purge a deleted account’s stored credentials in argocd-secret. Restricted to that one Secret by name, so the connector cannot read the repository and cluster credentials that also live in the argocd namespace. Only needed for account deletion; omit the rule entirely if you do not use it.
The argocd-secret permissions are new. Existing deployments must re-apply this role before account deletion is used. Without them the credential-purge step fails with a 403 after the account has already been deleted, leaving its stored credentials in place.
Apply with:

Create a RoleBinding

Bind the Role to the ServiceAccount so the connector can use the permissions:
Apply with:

Gather additional credentials

To set up the connector, you’ll need:
1
The username and password for your ArgoCD admin account, or for a dedicated service account you’ve set up. Make sure the account used to configure the connector has the relevant permissions:
  • To sync (read) users and roles: get and list permissions for users and roles
  • To provision (read-write) users and roles: get and list permissions for users and roles, plus create permission for users and update permission for user role assignments. The built-in admin role has these permissions, or you can create a custom role.
2
Your ArgoCD API URL, which is the URL you use to access the ArgoCD UI.
3
The kubeconfig path or file to connect to the cluster where ArgoCD is running.The connector should be deployed in the same Kubernetes cluster as ArgoCD (such as in the argocd namespace). This allows the connector to automatically use the in-cluster configuration from the pod’s service account. No kubeconfig file is needed in this case. If one is provided, it will take precedence over in-cluster.Find more information on setting up an in-cluster configuration in the connector repo.
4
(Optional) If your ArgoCD instance uses a self-signed TLS certificate, you’ll need one of the following:
  • For testing/development: Set BATON_INSECURE_SKIP_VERIFY=true to skip certificate verification.
  • For production: Obtain the CA certificate used to sign your ArgoCD server’s TLS certificate and save it as a file. You’ll pass its path as BATON_CA_CERT_PATH.
Done. Next, move on to the connector configuration instructions.

Configure the ArgoCD connector

To complete this task, you’ll need:
  • The Connector Administrator or Super Administrator role in C1
  • Access to the set of ArgoCD credentials generated by following the instructions above
Follow these instructions to use a built-in, no-code connector hosted by C1.This connector does not support cloud hosting.