Machines, Volumes and Registries
The infrastructure layer is what instances actually run on. It lives under Configuration and is manager-only.
Machines
A Machine is a server zCICD can reach and run work on.
| Field | Purpose |
|---|---|
| Name | Label |
| Host | Hostname or address |
| Type | Development-Machine or Production System |
| SSH User / SSH Key / SSH Pubkey | Credentials. The private key is manager-only |
| Proxy Jump | Another machine to tunnel through — for hosts not directly reachable |
| Homedir | Home directory on the machine |
| Odoo Command | The zodoo CLI to invoke. Default: odoo |
| Is Docker Host | Whether containers run here. Default: yes |
| External http-Address | Public URL for instances on this machine |
| Settings / Docker Compose | Machine-specific configuration applied on reload |
| CICD src dir | Where zCICD keeps its source checkouts |
Type is not cosmetic. Instance cycle-down, volume freeing and untouched-branch cleanup only ever act on machines of type Development-Machine. That is the hard guard that keeps automated teardown away from production — see Instance Lifecycle.
Transport
Transport controls how zCICD reaches the machine:
| Value | Behaviour |
|---|---|
| SSH (one connection per command) | Default. A fresh connection per command |
| Agent (persistent channel) | Uses a running hostagent over a persistent channel |
Agent transport is faster but needs the hostagent deployed. Switching back to SSH takes effect immediately and requires no deploy, which makes it the rollback lever if the agent misbehaves.
Health flags
git-cicd installed and odoo (wodoo) installed record whether the machine has the tooling zCICD depends on. Upgrade framework controls whether zCICD keeps the framework up to date there.
Volumes
Each machine has Volumes — paths with a declared purpose.
| Type | Used for |
|---|---|
| Dumps | Where dumps are stored |
| Dumps (just to import) | Incoming dumps, import only |
| Source | Source checkouts and instance workspaces |
| Tempdir | Scratch space |
| Other | Anything else |
Volumes track Used, Free and Total size, plus a Used %. Set Warn below percent (default 10) to be warned before a volume fills up — a full source volume is a common cause of builds failing in confusing ways.
A dumps volume can be associated with a repository via Repo associated with Dumps, which is how zCICD knows which dumps belong where.
Registries
A Registry is a Docker registry that built images are pushed to and pulled from. Using one means a production machine pulls a prebuilt image instead of building from source.
| Field | Purpose |
|---|---|
| Host / Port | Registry address. Port defaults to 5000 |
| Path | Namespace within the registry. Default /myspace1 |
| Username / Password | Push credentials. Password is manager-only |
| Hub URL | Full URL used for pushing |
| Hub URL Readonly | URL used for pulling |
| Username Readonly / Password Readonly | Pull-only credentials |
The split between write and read-only credentials is deliberate: production systems only ever need to pull, so they get the read-only pair.
Attach a registry to a repository (Docker Registry on the repository form) and to release actions, which control whether a release pushes images.
Postgres servers
A Postgres Server is a database server available to instances.
| Field | Purpose |
|---|---|
| DB Host | Default cicd_postgres |
| DB Port | Default 5432 |
| DB User / DB Password | Credentials. Password is manager-only |
| Type | The server's role |
| BTRFS/ZFS volumes (snapshotting) | Whether the underlying filesystem supports snapshots |
| Keep days | Retention for databases on this server |
| Databases | The databases currently on it |
BTRFS/ZFS is what makes the Snapshot and Restore Snapshot branch actions possible. On a server without a snapshotting filesystem those actions are unavailable, and dumps are the only checkpoint mechanism — see Database Backup and Restore.
A machine can also be told to run Postgres in a container with Use docker container for postgres.
Related configuration
Two more items sit under Configuration and are worth knowing:
- Schedules — recurring job definitions, used by compressors among others.
- Configuration Backup — export and restore of the zCICD configuration itself. Worth running before any significant infrastructure change.