repligit.replica.subscribe ​
Subscribe one GitHub repository to one Repligit replica
Subscribe one GitHub repository as the source of one Repligit repository.
Creates the appliance repo when repository_uuid is omitted, stores the replica pair, applies GitHub once, and starts the 15-minute scheduled reconcile. Re-running for the same owner/repo returns the existing pair.
Inputs:
- source_repository: GitHub owner/repo (required)
- git_base_url: appliance Git HTTP base (required)
- admin_base_url: admin HTTPS base (required; create repo + snapshot)
- audience: JWT audience (default repligit)
- repository_uuid: existing appliance repo (optional)
- github_connection_uuid: GitHub CloudConnection (optional)
- reconcile_interval_seconds: stored interval; scheduled floor is 900
- source_token / source_username: private GitHub clone credentials
Overview ​
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-repligit |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
source_repository | string | Yes | — | GitHub source as owner/repo |
git_base_url | string | Yes | — | Appliance Git HTTP base URL |
admin_base_url | string | Yes | — | Admin HTTPS base URL |
audience | string | No | — | — |
repository_uuid | uuid | No | — | Existing appliance repository; created when omitted |
github_connection_uuid | uuid | No | — | — |
reconcile_interval_seconds | integer | No | — | Scheduled interval in seconds (floor 900 unless entitled) |
source_token | string | No | — | — |
source_username | string | No | — | — |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
replica_uuid | uuid | No | — | — |
repository_uuid | uuid | No | — | — |
source_repository | string | No | — | — |
scheduled_workflow_id | string | No | — | — |
already_subscribed | boolean | No | — | — |
refs_updated | integer | No | — | — |
needs_sync_to_github | json | No | — | — |
reconcile_interval_seconds | integer | No | — | — |
admin_base_url | string | No | — | — |
audience | string | No | — | — |
git_base_url | string | No | — | — |
github_connection_uuid | uuid | No | — | — |
source_token | string | No | — | — |
source_username | string | No | — | — |
failure_reason | string | No | — | — |
failure_type | string | No | — | — |
failed_action | string | No | — | — |
failed_at_state | string | No | — | — |
failed_step | string | No | — | — |
failed_layer | string | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | execute | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | execute | completed | — |
* (any state) | fail | failed | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "repligit.replica.subscribe",
"initial_data": {
"source_repository": "value",
"git_base_url": "value",
"admin_base_url": "value"
}
}