Skip to main content

Capabilities

ResourceSyncProvision
Accounts
Roles
The ArgoCD connector supports automatic account provisioning. When a new account is created by ConductorOne, the account’s password will be sent to a vault. This connector does not support account deprovisioning. You must deprovision accounts directly in ArgoCD.

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. Create a Role that grants access to the following ConfigMaps:
  • argocd-rbac-cm: Contains RBAC policies and role grants (needs read and write access)
  • argocd-cm: Contains ArgoCD configuration including user accounts (needs write access for provisioning)
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: baton-argo-cd
  namespace: argocd
rules:
  - apiGroups: [""]
    resources: ["configmaps"]
    verbs: ["get", "list", "patch", "update"]
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)
Apply with:
kubectl apply -f role.yaml

Create a RoleBinding

Bind the Role to the ServiceAccount so the connector can use the permissions:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: baton-argo-cd
  namespace: argocd
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: baton-argo-cd
subjects:
  - kind: ServiceAccount
    name: baton-argo-cd
    namespace: argocd
Apply with:
kubectl apply -f rolebinding.yaml

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.
That’s it! 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 ConductorOne
  • 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 ConductorOne.This connector does not support cloud hosting.