>_ clavarium

How it works

The pieces of Clavarium, one picture each.

A git repository: one reference, the key stays on the server

The agent never holds the key. It only reads from the reference and commits in its own folder.

GitLab (origin) the team's repository Reference repository on the server, written by it alone • origin branches (a copy of GitLab) • the agent's commits, kept apart • no hook, no settings from the agent the key Shared work folder in the agent's machine (shared with the agents allowed in) the agent writes and commits here no key here 1 fetch with the key every 5 minutes or on demand 4 push with the key after review (Send) or automatic, allowed branches 2 read only: the agent runs git fetch from the reference 3 the server fetches the agent's commits (never hooks or settings) when it goes wrong GitLab moved on, a conflict, a refusal: both are told
uses the key (on the server)no key, nothing runread only, from the machine
  1. GitLab to the reference: the server fetches what is new, with the key.
  2. The reference to the agent: the agent fetches it itself, read only.
  3. The agent to the reference: the server fetches its commits; only commits travel, never its hooks or settings.
  4. The reference to GitLab: the server pushes, after your review, or by itself to the branches you allowed.