Skip to content

swarm_config

The swarm_config domain has 5 actions. On the meta surface they are all reached through arcane_swarm_config; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.

ActionTitleKind
swarm_config.createCreate swarm configwrite
swarm_config.deleteDelete swarm configdestructive
swarm_config.getGet swarm configread
swarm_config.listList swarm configsread
swarm_config.updateUpdate swarm config labelswrite

Create swarm config

  • Kind: write
  • Required parameters: spec
  • Meta tool: arcane_swarm_config with "action": "create"
  • Individual tool: arcane_swarm_config_create
  • Arcane route: POST /api/environments/{id}/swarm/configs
  • Operation ID: create-swarm-config
  • Usage: spec uses Docker’s field names: {Name (required), Data (the content, base64-encoded), Labels}. Returns the created config with its id. Configs are immutable: to change one, create a new config and reference it in the service’s spec.TaskTemplate.ContainerSpec.Configs (ConfigID, ConfigName, File) with swarm_service.create or swarm_service.update. For sensitive data use swarm_secret.create. Requires the swarm:configs permission.
  • Related actions: swarm_config.list, swarm_service.create, swarm_service.update, swarm_secret.create

Delete swarm config

  • Kind: destructive — requires confirm: true
  • Required parameters: configId
  • Meta tool: arcane_swarm_config with "action": "delete"
  • Individual tool: arcane_swarm_config_delete
  • Arcane route: DELETE /api/environments/{id}/swarm/configs/{configId}
  • Operation ID: delete-swarm-config
  • Usage: configId (ID or name) from swarm_config.list. Refused while any service still references the config. Update or delete that service first, and its old tasks may take a moment to release it. Requires the swarm:configs permission.
  • Related actions: swarm_config.list, swarm_service.list, swarm_service.update, swarm_service.delete

Get swarm config

  • Kind: read
  • Required parameters: configId
  • Meta tool: arcane_swarm_config with "action": "get"
  • Individual tool: arcane_swarm_config_get
  • Arcane route: GET /api/environments/{id}/swarm/configs/{configId}
  • Operation ID: get-swarm-config
  • Usage: configId accepts the config’s ID or its name (from swarm_config.list). spec.Data holds the content, base64-encoded. Not found returns 404.
  • Related actions: swarm_config.list, swarm_config.delete

List swarm configs

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_swarm_config with "action": "list"
  • Individual tool: arcane_swarm_config_list
  • Arcane route: GET /api/environments/{id}/swarm/configs
  • Operation ID: list-swarm-configs
  • Usage: Returns a page of the environment’s swarm configs (start, limit default 20), each with id, spec (Name, Labels, Data base64-encoded), version and timestamps. search matches the name or ID, sort by name, createdAt or updatedAt with order asc or desc. The environment must be a swarm manager (check with swarm.status). Requires swarm:read.
  • Related actions: swarm_config.get, swarm_config.create, swarm_config.update, swarm.status

Update swarm config labels

  • Kind: write
  • Required parameters: configId, labels, version
  • Meta tool: arcane_swarm_config with "action": "update"
  • Individual tool: arcane_swarm_config_update
  • Arcane route: PUT /api/environments/{id}/swarm/configs/{configId}
  • Operation ID: update-swarm-config
  • Since: Arcane v2.17.0
  • Usage: Replaces the labels of a config (configId, ID or name, from swarm_config.list) with labels ({} clears them). The data, name and templating are immutable, so to change the content create a new config and point the services at it. version is the config’s version.Index from swarm_config.get (0 uses the current one), and a stale version is refused by Docker. Returns the updated config. Requires the swarm:configs permission.
  • Related actions: swarm_config.get, swarm_config.list, swarm_config.create