org.osbuild.ostree.deploy
Deploy an OStree commit
Create an OSTree deployment[1] for a given ref.
Since OStree internally uses a hardlink farm to create the file system tree
for the deployment from the commit data, the mountpoints for the final image
need to be supplied via the mounts
option, as hardlinks must not span
across file systems and therefore the boundaries need to be known when doing
the deployment.
Creating a deployment also entails generating the Boot Loader Specification
entries to boot the system, which contain this the kernel command line.
The rootfs
option can be used to indicate the root file system, containing
the sysroot and the deployments. Additional kernel options can be passed via
kernel_opts
.
[1] https://ostree.readthedocs.io/en/latest/manual/deployment/
Schema 1
{}
Schema 2
{
"options": {
"additionalProperties": false,
"required": [
"osname"
],
"properties": {
"mounts": {
"description": "Mount points of the final file system",
"type": "array",
"items": {
"description": "Description of one mount point",
"type": "string"
}
},
"osname": {
"description": "Name of the stateroot to be used in the deployment",
"type": "string"
},
"kernel_opts": {
"description": "Additional kernel command line options",
"type": "array",
"items": {
"description": "A single kernel command line option",
"type": "string"
}
},
"ref": {
"description": "OStree ref to use for the deployment",
"type": "string"
},
"remote": {
"description": "optional OStree remote to use for the deployment",
"type": "string"
},
"rootfs": {
"description": "Identifier to locate the root file system",
"type": "object",
"oneOf": [
{
"required": [
"uuid"
]
},
{
"required": [
"label"
]
}
],
"properties": {
"label": {
"description": "Identify the root file system by label",
"type": "string"
},
"uuid": {
"description": "Identify the root file system by UUID",
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": false,
"required": [
"commits"
],
"properties": {
"commits": {
"type": "object",
"description": "OStree commit to deploy",
"additionalProperties": true
}
}
}
}