Remote Infrastructure
Deploy the explicit ait-server and ait-runner boundary for remote authority, offsite recovery, and repository-owned CI.
Audience: Operators
Activate remote authority only when needed#
The normal local workflow requires no server. Remote infrastructure adds three separate capabilities when they solve a concrete need:
- remote management through shared, durable workflow authority;
- offsite preservation of recorded Snapshot and Line state for recovery; and
- repository-owned CI execution through typed Worker Jobs.
It also adds operator responsibility for authentication, TLS, network exposure, data-root backups, upgrades, and compatibility. Read ait-server: Remote Authority and Recovery for the complete data-flow, protection boundary, and recovery procedure.
Component boundary#
ait-serverowns the repository registry, shared workflow state, policy, evidence, and Worker Job queue.ait-runnerclaims compatible typed jobs, materializes exact Snapshot content, executes the repository's declared CI entrypoint, and returns bounded results.
The runner does not become repository authority and does not choose a language-specific build system.
Evaluate the RC.8 server locally#
Bind the evaluation container to loopback unless a reviewed secure ingress is already available.
docker network create ait-native-rc
docker volume create ait-native-rc-data
docker run --detach \
--name ait-server \
--network ait-native-rc \
--publish 127.0.0.1:8088:8088 \
--restart unless-stopped \
--volume ait-native-rc-data:/var/lib/ait \
ghcr.io/weita2026/ait-server:1.0.0-rc.8
curl --fail http://127.0.0.1:8088/healthzThe public container index covers Linux amd64 and arm64.
Register and configure the repository#
remote add registers a numeric Repository authority when the local repository does not have one, then stores the remote. It verifies that exact authority instead of allocating another one when a repository index is already configured.
ait remote add origin <server-url> --default
ait remote list --json
ait config show --json
ait repo show --remote origin --jsonDo not copy a repository index from another repository. The index is part of remote authority routing. Registration alone transfers no Snapshots; use the configured remote workflow or an explicit ait push to create a recoverable offsite copy of recorded state.
Runner contract#
The runner accepts version-compatible jobs for one registered repository and executes its exact ci/run.sh or ci/run.ps1 entrypoint. Source roots, attempt roots, worker identity, and repository index are operator-selected values.
Keep attempt storage isolated, monitor failed deliveries, and verify that attempt-owned data is cleaned after terminal results.
The dedicated ait-runner: Native CI Execution Plane chapter expands the exact RC.8 commands, Worker Job lifecycle, typed contracts, materialization limits, leases, evidence, deployment, and troubleshooting.
Readiness and closeout#
Remote work publishes a selected Patchset and records completed CI, attestation, review, and policy evidence before final Task closeout.
ait workflow ready <change-id> --apply
ait task land <task-or-change-id>The readiness commands report the exact next action when a gate is pending.
Recovery is explicit#
ait-server is a recovery source only for state that reached it. Dirty, untracked, and otherwise unrecorded workspace files are outside that boundary, and one server does not provide automatic failover. Keep the exact Repository index in the recovery inventory, protect the server data root independently, and rehearse the versioned recovery sequence in the detailed `ait-server` chapter.