Skip to content
Proud to collaborate with Microsoft for Startups

gitops.controller ​

Per-application poll loop that periodically reconciles via gitops.sync

Long-lived poll loop that keeps one GitOpsApplication reconciled.

Runs gitops.sync(trigger=poll) on an interval (the app's poll_interval_seconds), re-scheduling itself each tick via the engine's scheduled-transition outbox, and stops when the application is paused or deleted.

Inputs:

  • organization_uuid, application_uuid (required).

Start one per application (gitops.application.create does this). Transient sync failures are tolerated — the loop keeps running.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-gitops
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes——
application_uuiduuidYes——

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes——
application_uuiduuidYes——
poll_interval_secondsintegerNo——
last_statusstringNo——
ticksintegerNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—reconcile—
runningNoNo———
failedNoYesNo——
stoppedNoYesYes——

State Diagram ​

Transitions ​

FromActionToDescription
pendingreconcilerunning—
runningreconcilerunning—
runningstopstopped—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "gitops.controller",
  "initial_data": {
    "organization_uuid": "value",
    "application_uuid": "value"
  }
}