Skip to main content

CLI Reference

The Arcan CLI communicates with the server over HTTPS. Global flags: --api-url (default http://localhost:9797), --debug, --version.

Server & Setup

CommandDescriptionExample
arcan serverStart the serverarcan server --port 9090
arcan loginSave server URL and tokenarcan login --token arc_abc123
arcan doctorRun 6-step local diagnosticsarcan doctor

Server flags: --port (-p, default 9797), --host (default 0.0.0.0), --data-dir (default ~/.arcan/data), --database-url (enables multi-node mode).

Environment variables: ARCAN_PORT, ARCAN_DATA_DIR, ARCAN_DATABASE_URL, DATABASE_URL, ARCAN_JWT_SECRET.

Secrets (KV)

Aliases: arcan secret, arcan secrets, arcan kv.

CommandDescriptionExample
arcan kv set <key> <value>Store a secretarcan kv set DB_URL "postgres://..." -r myapp -e prod
arcan kv get <key>Retrieve a secretarcan kv get DB_URL -r myapp -e prod
arcan kv listList secretsarcan kv list -r myapp -e prod
arcan kv delete <key>Delete a secretarcan kv delete OLD_KEY -r myapp
arcan kv exportExport as dotenv or JSONarcan kv export -r myapp -e prod --format=json
arcan kv run -- <cmd>Inject secrets into a processarcan kv run -r myapp -e prod -- node server.js
arcan kv encrypt [value]Encrypt a plaintext valuearcan kv encrypt "my-secret"
arcan apply -f <file>Bulk-apply secrets from YAMLarcan apply -f secrets.yaml --dry-run

Common flags: --realm (-r, default default), --env (-e, default dev).

Realms

Aliases: arcan realm, arcan realms.

CommandDescriptionExample
arcan realm create <slug> <name>Create a realmarcan realm create myapp "My App"
arcan realm listList all realmsarcan realm list
arcan realm delete <slug>Soft-delete a realmarcan realm delete myapp

Auth & Tokens

Aliases: arcan token, arcan tokens.

CommandDescriptionExample
arcan token createCreate API tokenarcan token create --name ci --scopes read,write
arcan token listList tokensarcan token list
arcan token revoke <id>Revoke a tokenarcan token revoke <uuid>

Scopes: read (secrets, realms, audit), write (create/update), delete (delete secrets, revoke tokens).

SSO

CommandDescriptionExample
arcan auth setupConfigure OIDC/SAML/LDAParcan auth setup --type oidc --name okta
arcan auth test <name>Test provider connectivityarcan auth test okta --debug
arcan auth update-presetsRefresh provider presetsarcan auth update-presets

See SSO Authentication for detailed provider setup.

Policy (RBAC)

CommandDescriptionExample
arcan policy rolesList roles and capabilitiesarcan policy roles
arcan policy bindAssign role to user in realmarcan policy bind -r myapp --user-id abc --role member
arcan policy unbindRemove role bindingarcan policy unbind -r myapp --user-id abc
arcan policy listList bindings in realmarcan policy list -r myapp

Operations

CommandDescriptionExample
arcan audit listQuery audit logarcan audit list --realm myapp --type secret.set
arcan master-key verifyValidate encryption keyarcan master-key verify
arcan master-key generateGenerate new master keyarcan master-key generate --force

Plugins

CommandDescriptionExample
arcan plugin initScaffold a new pluginarcan plugin init --name my-engine
arcan plugin listList installed enginesarcan plugin list
arcan plugin remove <name>Remove a pluginarcan plugin remove my-engine

Docker Integration

Docker Compose

Generate .env files from Arcan secrets for use with Docker Compose.

CommandDescriptionExample
arcan docker composeGenerate .env filearcan docker compose -r myapp -e prod

Flags:

FlagDefaultDescription
--realm, -rdefaultRealm slug
--env, -edevEnvironment (dev, staging, prod)
--output, -o.envOutput file path
--stdoutfalsePrint to stdout instead of writing file
--formatenvOutput format: env or json

Docker Swarm

Sync secrets to Docker Swarm's built-in secrets store.

CommandDescriptionExample
arcan docker swarm syncPush secrets to Swarmarcan docker swarm sync -r myapp -e prod
arcan docker swarm lsList Arcan-managed secretsarcan docker swarm ls
arcan docker swarm rmRemove Arcan-managed secretsarcan docker swarm rm --all

See Docker Integration for full usage examples.

Generate

Generate deployment manifests for various platforms.

CommandDescriptionExample
arcan generate dockerDocker Compose filearcan generate docker > docker-compose.yaml
arcan generate k8sKubernetes manifestsarcan generate k8s > arcan-k8s.yaml
arcan generate systemdsystemd unit filearcan generate systemd > arcan.service
arcan generate esoESO manifestsarcan generate eso --realm=prod --env=prod
arcan generate sidecarSidecar/init containerarcan generate sidecar --realm=prod --mode=init
arcan generate helmHelm chart (coming soon)arcan generate helm

See Sidecar Pattern for details on generate sidecar.

MCP Server

Start a Model Context Protocol server for AI assistant integration (Claude Desktop, Cursor, Windsurf).

arcan mcp

Communicates via JSON-RPC 2.0 over stdio. Secret values are never exposed to the AI -- sensitive operations direct the user to enter values via the CLI.

Available tools: arcan_health, arcan_kv_list, arcan_kv_set, arcan_kv_delete, arcan_realm_list, arcan_realm_create, arcan_audit_query, arcan_doctor, arcan_plugin_list, arcan_auth_providers.

Claude Desktop configuration:

{
"mcpServers": {
"arcan": {
"command": "arcan",
"args": ["mcp"]
}
}
}

Activation

CommandDescriptionExample
arcan activate <key>Activate enterprise featuresarcan activate ENT-XXXX-XXXX