Ir al contenido

gitops

El dominio gitops tiene 13 acciones. En la superficie meta se alcanzan todas a través de arcane_gitops; en la individual, cada una es una herramienta propia; en la dinámica se ejecutan con arcane_execute_action y el ID canónico.

AcciónTítuloTipo
gitops.backup_historyList Git backup historylectura
gitops.backup_previewPreview a Git backuplectura
gitops.backup_resolve_conflictResolve a Git backup conflictdestructiva
gitops.backup_revisionGet a Git backup revisionlectura
gitops.browse_filesBrowse GitOps sync fileslectura
gitops.createCreate a GitOps syncescritura
gitops.deleteDelete a GitOps syncdestructiva
gitops.getGet a GitOps synclectura
gitops.importImport GitOps syncsescritura
gitops.listList GitOps syncslectura
gitops.statusGet GitOps sync statuslectura
gitops.syncPerform a GitOps syncdestructiva
gitops.updateUpdate a GitOps syncescritura

List Git backup history

List repository revisions that changed the backup

  • Tipo: lectura
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "backup_history"
  • Herramienta individual: arcane_gitops_backup_history
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs/{syncId}/backup/history
  • ID de operación: listGitOpsBackupHistory
  • Desde: Arcane v2.12.0
  • Uso: Backup syncs only. syncId from gitops.list with mode=backup. Needs gitops:backup. Returns entries, newest first, of the commits on the branch that touched backupDirectory (commit, author, message, date, files relative to backupDirectory). limit defaults to 20, max 200. Pass an entry’s commit to gitops.backup_revision for its diffs.
  • Acciones relacionadas: gitops.backup_revision, gitops.backup_preview, gitops.list

Preview a Git backup

Show the files the next backup would commit and any conflicts

  • Tipo: lectura
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "backup_preview"
  • Herramienta individual: arcane_gitops_backup_preview
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs/{syncId}/backup/preview
  • ID de operación: previewGitOpsBackup
  • Desde: Arcane v2.12.0
  • Uso: Backup syncs only (mode=backup, else 400). syncId from gitops.list with mode=backup. Needs gitops:backup. Compares the project’s files with the repository without committing: state clean, changes, conflict (files edited in the repository since the last backup, listed in conflicts) or destination_occupied (backupDirectory already holds files Arcane did not write). changes lists what the next gitops.sync would commit, files the selected paths (.env files are never backed up), remoteCommit the branch head.
  • Acciones relacionadas: gitops.sync, gitops.backup_resolve_conflict, gitops.backup_history

Resolve a Git backup conflict

Resolve a backup that needs attention

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: syncId, strategy
  • Meta-herramienta: arcane_gitops con "action": "backup_resolve_conflict"
  • Herramienta individual: arcane_gitops_backup_resolve_conflict
  • Ruta de Arcane: POST /api/environments/{id}/gitops-syncs/{syncId}/backup/resolve
  • ID de operación: resolveGitOpsBackupConflict
  • Desde: Arcane v2.12.0
  • Uso: strategy=use_arcane overwrites the repository’s backup files with Arcane’s and commits. Check gitops.backup_preview (state conflict) first.
  • Acciones relacionadas: gitops.backup_preview, gitops.status, gitops.backup_history

Get a Git backup revision

Get one revision with per-file diffs

  • Tipo: lectura
  • Parámetros obligatorios: syncId, commit
  • Meta-herramienta: arcane_gitops con "action": "backup_revision"
  • Herramienta individual: arcane_gitops_backup_revision
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs/{syncId}/backup/history/{commit}
  • ID de operación: getGitOpsBackupRevision
  • Desde: Arcane v2.12.0
  • Uso: Backup syncs only. syncId from gitops.list with mode=backup, commit (hex hash) from gitops.backup_history. Needs gitops:backup. Returns entry (commit, author, message, date, files) and diffs with one unified patch per file inside backupDirectory, paths relative to it.
  • Acciones relacionadas: gitops.backup_history

Browse GitOps sync files

Browse files in the synced repository

  • Tipo: lectura
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "browse_files"
  • Herramienta individual: arcane_gitops_browse_files
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs/{syncId}/files
  • ID de operación: browseGitOpsSyncFiles
  • Uso: syncId from gitops.list. Clones the sync’s branch head and lists one directory level (name, path, type file or directory, size). path is relative to the repository root, not to composePath, and defaults to the root. Use it to find the composePath for gitops.update. git_repository.browse_files does the same for any branch before a sync exists.
  • Acciones relacionadas: gitops.list, gitops.update, git_repository.browse_files

Create a GitOps sync

Create a new GitOps sync configuration for an environment

  • Tipo: escritura
  • Parámetros obligatorios: branch, name, repositoryId
  • Meta-herramienta: arcane_gitops con "action": "create"
  • Herramienta individual: arcane_gitops_create
  • Ruta de Arcane: POST /api/environments/{id}/gitops-syncs
  • ID de operación: createGitOpsSync
  • Uso: repositoryId from git_repository.list, branch from git_repository.branches. Deploy mode (default) needs composePath and clones and syncs at once, creating the project (projectName, default the sync name), which it starts only when redeployAfterSync is true. syncDirectory defaults to false, so only the compose file (plus a .env and override file beside it) is copied unless it is true. Backup mode (mode=backup, projectId, backupDirectory, optional backupPaths, needs gitops:backup) commits the first backup at once and defaults autoSync to true. On a remote environment push the repository there first with environment.sync.
  • Acciones relacionadas: git_repository.list, git_repository.branches, gitops.sync, gitops.status, environment.sync

Delete a GitOps sync

Delete a GitOps sync configuration by ID

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "delete"
  • Herramienta individual: arcane_gitops_delete
  • Ruta de Arcane: DELETE /api/environments/{id}/gitops-syncs/{syncId}
  • ID de operación: deleteGitOpsSync
  • Uso: syncId from gitops.list. Stops the scheduled sync and any pending backup and unlinks the project, which stays in place with its containers and files (and becomes editable again). Nothing is removed from the repository. Remove the project with project.destroy if it is no longer wanted. A backup sync needs gitops:backup.
  • Acciones relacionadas: gitops.list, project.destroy

Get a GitOps sync

Get a GitOps sync by ID

  • Tipo: lectura
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "get"
  • Herramienta individual: arcane_gitops_get
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs/{syncId}
  • ID de operación: getGitOpsSync
  • Uso: syncId from gitops.list. Returns the full configuration: repository (with repositoryId), branch, composePath, targetType, projectId/projectName, mode, autoSync and syncInterval (minutes), syncDirectory, pullImageAfterSync, redeployAfterSync, sync limits, pre-deploy hook fields, backup fields (backupDirectory, backupPaths, backupOnSave, backupState) and the last run (lastSyncAt, lastSyncStatus, lastSyncError, lastSyncCommit, syncedFiles). Use it to verify gitops.update.
  • Acciones relacionadas: gitops.list, gitops.status, gitops.update, project.get

Import GitOps syncs

Import multiple GitOps sync configurations from JSON

  • Tipo: escritura
  • Parámetros obligatorios: body
  • Meta-herramienta: arcane_gitops con "action": "import"
  • Herramienta individual: arcane_gitops_import
  • Ruta de Arcane: POST /api/environments/{id}/gitops-syncs/import
  • ID de operación: importGitOpsSyncs
  • Uso: Creates syncs in bulk. Each item names its repository by git_repository name (gitRepo), not by URL or ID. Returns successCount, failedCount and errors (one message per failed item). The body is the array of items (syncName, gitRepo, branch, dockerComposePath, autoSync, syncInterval required). Every item becomes a deploy-mode project sync and runs its first sync at once, like gitops.create. An item counts as a success even when that first sync fails, so check lastSyncStatus with gitops.list or gitops.status.
  • Acciones relacionadas: git_repository.list, gitops.list, gitops.create, gitops.status

List GitOps syncs

Get a paginated list of GitOps syncs for an environment

  • Tipo: lectura
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_gitops con "action": "list"
  • Herramienta individual: arcane_gitops_list
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs
  • ID de operación: listGitOpsSyncs
  • Uso: The starting point for every syncId: returns a page of the environment’s syncs (id, name, mode deploy or backup, repositoryId, branch, composePath, projectId, autoSync, syncInterval in minutes, lastSyncStatus) plus counts (totalSyncs, activeSyncs = autoSync on, successfulSyncs, deploySyncs, backupSyncs). search matches name, branch, composePath or backupDirectory. Filter with mode, projectId, repositoryId (from git_repository.list) or autoSync=true/false, and paginate with start and limit (default 20).
  • Acciones relacionadas: gitops.get, gitops.status, gitops.create, git_repository.list

Get GitOps sync status

Get the current status of a GitOps sync

  • Tipo: lectura
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "status"
  • Herramienta individual: arcane_gitops_status
  • Ruta de Arcane: GET /api/environments/{id}/gitops-syncs/{syncId}/status
  • ID de operación: getGitOpsSyncStatus
  • Uso: syncId from gitops.list. A light check after gitops.sync or gitops.create: lastSyncStatus (success, failed, running), lastSyncError, lastSyncCommit, lastSyncAt and nextSyncAt (only when autoSync is on and the sync has run). Backup syncs add backupState (never, pending, backing_up, backed_up, paused, failed, needs_attention), backupPending and backupFailureReason. When gitops.sync returns only a generic failure, the cause is in lastSyncError here.
  • Acciones relacionadas: gitops.sync, gitops.get, gitops.backup_preview

Perform a GitOps sync

Manually trigger a sync operation

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "sync"
  • Herramienta individual: arcane_gitops_sync
  • Ruta de Arcane: POST /api/environments/{id}/gitops-syncs/{syncId}/sync
  • ID de operación: performGitOpsSync
  • Uso: Runs a sync now: pulls the branch into the project (deploy) or commits the project’s files to the repository (backup). syncId from gitops.list. Runs synchronously: the clone and the file sync have 5 minutes, and a project’s redeploy after them has no limit of its own (a swarm_stack target’s stack deploy runs inside those 5 minutes). A deploy sync whose files changed redeploys the project (rebuilding the images of services with a build section first, like project.redeploy with build=true) if it is running or redeployAfterSync is set, otherwise only pulls images when pullImageAfterSync is set, so a stopped project needs project.up, and a swarm_stack target redeploys its stack on every run. A backup sync needs gitops:backup. Returns success and message (success false with ‘sync already in progress’ when another run holds it). A failed run returns an error, with the cause in gitops.status lastSyncError.
  • Acciones relacionadas: gitops.list, gitops.status, gitops.backup_preview, project.up

Update a GitOps sync

Update an existing GitOps sync configuration

  • Tipo: escritura
  • Parámetros obligatorios: syncId
  • Meta-herramienta: arcane_gitops con "action": "update"
  • Herramienta individual: arcane_gitops_update
  • Ruta de Arcane: PUT /api/environments/{id}/gitops-syncs/{syncId}
  • ID de operación: updateGitOpsSync
  • Uso: syncId from gitops.list. Only the fields sent change (the rest keep their value). mode and backupDirectory cannot be changed. Deploy syncs reject backupPaths and backupOnSave. Backup syncs reject composePath, projectName and deploy options such as syncDirectory=true or redeployAfterSync=true. Changing branch or composePath does not sync by itself (run gitops.sync), but turning autoSync on runs one at once. Pre-deploy hook fields need gitops:lifecycle and the lifecycleEnabled setting, and editing a backup sync needs gitops:backup.
  • Acciones relacionadas: gitops.get, gitops.sync, gitops.list