apiVersion, a kind, a metadata block, and a spec block.
When you apply a manifest, Caravanserai stores the desired state and reconciles it continuously until the cluster matches what you declared.
Structure
Every manifest shares a common top-level shape:manifest.yaml
Common fields
TypeMeta — present in every resource:| Field | Value |
|---|---|
apiVersion | Always caravanserai/v1 |
kind | Node or Project |
| Field | Type | Description |
|---|---|---|
metadata.name | string | Unique identifier within the resource kind. Required. |
metadata.labels | map | Arbitrary key/value pairs for selection and grouping. Optional. |
Supported kinds
Node
Register and configure a physical or virtual machine in your cluster.
Project
Define one or more containers (services) to run as a co-located workload.
Applying manifests
Usecaractrl apply to create or update a resource from a manifest file.
Format support
caractrl apply accepts both YAML and JSON manifests. The following two manifests are equivalent:
- YAML
- JSON
manifest.yaml
The
status block is read-only and set by the system. You do not need to include it in your manifests — Caravanserai ignores any status fields you submit.