pve-agents
Concepts

Provisioning and the scheduler

Durable workspace operations and the scheduler that advances them.

A workspace operation advances one persisted phase at a time, so a controller restart resumes from the recorded state instead of starting over.

requested → clone-submitted → clone-confirmed → start-submitted → booted
          → addressed → reachable → bootstrapped → checked-out → seeded
          → runner-started → briefed

seeded writes operator-managed files after checkout and before the agent runner starts. ready means the agent has received its purpose and is working, not merely that the container booted.

Workspace names

The generated hostname, such as agent-c397, identifies the LXC, SSH target, and push branch. The sidebar title is the agent's short summary of the request. Until one is available, the UI uses the hostname.

Scheduler passes

Each worker pass awaits these operations in order, so they do not overlap:

  1. Operations advance queued lifecycle steps.
  2. Activity refreshes each ready workspace at most once per configured interval.
  3. Credentials renews short-lived GitHub credentials.
  4. Reaping removes eligible workspaces when enabled.

Activity runs before reaping so retention decisions use current state.

Safe reaping

Reaping declines to destroy a workspace when it is:

  • blocked on an operator decision;
  • holding uncommitted changes or unpushed commits; or
  • impossible to inspect.

The dashboard marks the reason. Push or discard changes to make a workspace eligible, or destroy it explicitly when you have finished with it.

Last updated on

On this page