stages: reformat meta.json files
Reformat all meta.json files for consistency. Formatted with `jq --indent 2 .`
This commit is contained in:
parent
fa7f26a229
commit
fa0605b89f
148 changed files with 9643 additions and 9643 deletions
|
|
@ -1,46 +1,46 @@
|
|||
{
|
||||
"summary": "Configure basic aspects of the anaconda installer",
|
||||
"description": [
|
||||
"Create an anaconda configuration file `90-osbuild.conf` in",
|
||||
"the folder `/etc/anaconda/conf.d` to configure anaconda.",
|
||||
"Currently only the list of enabled kickstart modules is",
|
||||
"configurable via the `kickstart-modules` option."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"kickstart-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to enable",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"activatable-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to activate",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"forbidden-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to forbid",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"optional-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to activate but are allowed to fail",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
"summary": "Configure basic aspects of the anaconda installer",
|
||||
"description": [
|
||||
"Create an anaconda configuration file `90-osbuild.conf` in",
|
||||
"the folder `/etc/anaconda/conf.d` to configure anaconda.",
|
||||
"Currently only the list of enabled kickstart modules is",
|
||||
"configurable via the `kickstart-modules` option."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"kickstart-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to enable",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"activatable-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to activate",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"forbidden-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to forbid",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"optional-modules": {
|
||||
"type": "array",
|
||||
"description": "Kick start modules to activate but are allowed to fail",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"summary": "Configure authentication sources using authconfig.",
|
||||
"description": [
|
||||
"Applies the default settings. Backups are cleared.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'authconfig' binary from the image in the chroot."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"description": "Configure authentication sources."
|
||||
}
|
||||
"summary": "Configure authentication sources using authconfig.",
|
||||
"description": [
|
||||
"Applies the default settings. Backups are cleared.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'authconfig' binary from the image in the chroot."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"description": "Configure authentication sources."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,34 @@
|
|||
{
|
||||
"summary": "Select system identity and authentication sources with authselect.",
|
||||
"description": [
|
||||
"Sets system identity and authentication sources.",
|
||||
"The stage calls `authselect select` to set authselect profile to 'profile'.",
|
||||
"Optionally a list of profile features to enable may be provided using 'features'",
|
||||
"option. The list of available profile features can be obtained by running",
|
||||
"`authselect list-features <profile>`.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'authselect' binary from the image in the chroot."
|
||||
"summary": "Select system identity and authentication sources with authselect.",
|
||||
"description": [
|
||||
"Sets system identity and authentication sources.",
|
||||
"The stage calls `authselect select` to set authselect profile to 'profile'.",
|
||||
"Optionally a list of profile features to enable may be provided using 'features'",
|
||||
"option. The list of available profile features can be obtained by running",
|
||||
"`authselect list-features <profile>`.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'authselect' binary from the image in the chroot."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"profile"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"profile"
|
||||
],
|
||||
"description": "Select system identity and authentication sources.",
|
||||
"properties": {
|
||||
"profile": {
|
||||
"type": "string",
|
||||
"description": "Desired authselect profile to activate."
|
||||
},
|
||||
"features": {
|
||||
"type": "array",
|
||||
"description": "Features of the selected profile to activate.",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"description": "Select system identity and authentication sources.",
|
||||
"properties": {
|
||||
"profile": {
|
||||
"type": "string",
|
||||
"description": "Desired authselect profile to activate."
|
||||
},
|
||||
"features": {
|
||||
"type": "array",
|
||||
"description": "Features of the selected profile to activate.",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,54 @@
|
|||
{
|
||||
"summary": "Run bootc install to-filesystem",
|
||||
"description": [
|
||||
"Note that this needs the disk.img in the inputs as one continous",
|
||||
"devices so that bootupd can install grub to the mbr. It also needs",
|
||||
"all relevant mount points for booting (e.g. /boot, /boot/efi) in",
|
||||
"mounted in the \"mounts\" path.",
|
||||
"Buildhost commands used: bootc"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"images"
|
||||
],
|
||||
"properties": {
|
||||
"images": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"root-ssh-authorized-keys": {
|
||||
"description": "array of SSH Public Keys to add to roots authorized_keys",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"kernel-args": {
|
||||
"description": "array of additional kernel arguments",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
"summary": "Run bootc install to-filesystem",
|
||||
"description": [
|
||||
"Note that this needs the disk.img in the inputs as one continous",
|
||||
"devices so that bootupd can install grub to the mbr. It also needs",
|
||||
"all relevant mount points for booting (e.g. /boot, /boot/efi) in",
|
||||
"mounted in the \"mounts\" path.",
|
||||
"Buildhost commands used: bootc"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"images"
|
||||
],
|
||||
"properties": {
|
||||
"images": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"root-ssh-authorized-keys": {
|
||||
"description": "array of SSH Public Keys to add to roots authorized_keys",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"kernel-args": {
|
||||
"description": "array of additional kernel arguments",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,158 +1,158 @@
|
|||
{
|
||||
"summary": "Assemble a file system tree for a bootable iso",
|
||||
"description": [
|
||||
"This stage prepares a file system tree for a bootable ISO, like the",
|
||||
"Anaconda installer. It follows the convention used by Lorax to",
|
||||
"create the boot isos: It takes an input `rootfs`, which will serve",
|
||||
"as the root file system. This is copied into a file with a `ext4`",
|
||||
"file system which in turn will be made into a squashfs file system.",
|
||||
"Options for controlling the root file-system creation can be given",
|
||||
"via `rootfs`, like it size and the compression to be used.",
|
||||
"The boot loader is configured via the `isolinux` and `efi` options.",
|
||||
"Which combination makes sense depends on the targeted platform and",
|
||||
"architecture.",
|
||||
"The kernel and initrd are taken from the tree given via the `kernel`",
|
||||
"input, or if that was not specified, from `rootfs`. In either case",
|
||||
"it will look for the specified kernel in the `/boot` directory.",
|
||||
"Additionally kernel command line flags can passed via `kernel_opts`.",
|
||||
"This stage has the `.mono` suffix to indicate that is a monolithic",
|
||||
"stage that could, and in the future will be, broken up into smaller",
|
||||
"pieces."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"product",
|
||||
"kernel",
|
||||
"isolabel"
|
||||
],
|
||||
"properties": {
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel": {
|
||||
"type": "string"
|
||||
},
|
||||
"isolabel": {
|
||||
"type": "string"
|
||||
},
|
||||
"efi": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"architectures",
|
||||
"vendor"
|
||||
],
|
||||
"properties": {
|
||||
"architectures": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"vendor": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isolinux": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"enabled"
|
||||
],
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"debug": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel boot options",
|
||||
"type": "string"
|
||||
},
|
||||
"templates": {
|
||||
"type": "string",
|
||||
"default": "99-generic"
|
||||
},
|
||||
"rootfs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"compression": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"gzip",
|
||||
"xz",
|
||||
"lz4"
|
||||
]
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"bcj": {
|
||||
"enum": [
|
||||
"x86",
|
||||
"arm",
|
||||
"armthumb",
|
||||
"powerpc",
|
||||
"sparc",
|
||||
"ia64"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"size": {
|
||||
"type": "integer",
|
||||
"description": "size in MB",
|
||||
"default": 3072
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Assemble a file system tree for a bootable iso",
|
||||
"description": [
|
||||
"This stage prepares a file system tree for a bootable ISO, like the",
|
||||
"Anaconda installer. It follows the convention used by Lorax to",
|
||||
"create the boot isos: It takes an input `rootfs`, which will serve",
|
||||
"as the root file system. This is copied into a file with a `ext4`",
|
||||
"file system which in turn will be made into a squashfs file system.",
|
||||
"Options for controlling the root file-system creation can be given",
|
||||
"via `rootfs`, like it size and the compression to be used.",
|
||||
"The boot loader is configured via the `isolinux` and `efi` options.",
|
||||
"Which combination makes sense depends on the targeted platform and",
|
||||
"architecture.",
|
||||
"The kernel and initrd are taken from the tree given via the `kernel`",
|
||||
"input, or if that was not specified, from `rootfs`. In either case",
|
||||
"it will look for the specified kernel in the `/boot` directory.",
|
||||
"Additionally kernel command line flags can passed via `kernel_opts`.",
|
||||
"This stage has the `.mono` suffix to indicate that is a monolithic",
|
||||
"stage that could, and in the future will be, broken up into smaller",
|
||||
"pieces."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"product",
|
||||
"kernel",
|
||||
"isolabel"
|
||||
],
|
||||
"properties": {
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rootfs"
|
||||
],
|
||||
"properties": {
|
||||
"rootfs": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"kernel": {
|
||||
"type": "string"
|
||||
},
|
||||
"isolabel": {
|
||||
"type": "string"
|
||||
},
|
||||
"efi": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"architectures",
|
||||
"vendor"
|
||||
],
|
||||
"properties": {
|
||||
"architectures": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"vendor": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"isolinux": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"enabled"
|
||||
],
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"debug": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel boot options",
|
||||
"type": "string"
|
||||
},
|
||||
"templates": {
|
||||
"type": "string",
|
||||
"default": "99-generic"
|
||||
},
|
||||
"rootfs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"compression": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"gzip",
|
||||
"xz",
|
||||
"lz4"
|
||||
]
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"bcj": {
|
||||
"enum": [
|
||||
"x86",
|
||||
"arm",
|
||||
"armthumb",
|
||||
"powerpc",
|
||||
"sparc",
|
||||
"ia64"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"size": {
|
||||
"type": "integer",
|
||||
"description": "size in MB",
|
||||
"default": 3072
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rootfs"
|
||||
],
|
||||
"properties": {
|
||||
"rootfs": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
{
|
||||
"summary": "Transforms /usr/lib/ostree-boot into a bootupd-compatible update payload.",
|
||||
"description": [
|
||||
"Scrapes metadata (e.g. RPM versions) about shim/grub and puts them along with their component files in",
|
||||
"`/usr/lib/bootupd/updates/`.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'bootupctl' binary from the image in the chroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false
|
||||
}
|
||||
"summary": "Transforms /usr/lib/ostree-boot into a bootupd-compatible update payload.",
|
||||
"description": [
|
||||
"Scrapes metadata (e.g. RPM versions) about shim/grub and puts them along with their component files in",
|
||||
"`/usr/lib/bootupd/updates/`.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'bootupctl' binary from the image in the chroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,111 +1,111 @@
|
|||
{
|
||||
"summary": "Install GRUB on both BIOS and UEFI systems,\nensuring that your bootloader stays up-to-date.",
|
||||
"description": [
|
||||
"Bootupd supports updating GRUB and shim for",
|
||||
"UEFI firmware on x86_64 and aarch64,",
|
||||
"and GRUB for BIOS firmware on x86_64.",
|
||||
"The project is deployed in Fedora CoreOS and derivatives"
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"static-configs": {
|
||||
"description": "Install the grub configs defined for Fedora CoreOS",
|
||||
"type": "boolean"
|
||||
},
|
||||
"bios": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"description": "Name of stage device to install GRUB for BIOS-based systems.",
|
||||
"type": "string"
|
||||
},
|
||||
"partition": {
|
||||
"description": "The partition on the stage device to install to, if installing to a partition",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
"summary": "Install GRUB on both BIOS and UEFI systems,\nensuring that your bootloader stays up-to-date.",
|
||||
"description": [
|
||||
"Bootupd supports updating GRUB and shim for",
|
||||
"UEFI firmware on x86_64 and aarch64,",
|
||||
"and GRUB for BIOS firmware on x86_64.",
|
||||
"The project is deployed in Fedora CoreOS and derivatives"
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"static-configs": {
|
||||
"description": "Install the grub configs defined for Fedora CoreOS",
|
||||
"type": "boolean"
|
||||
},
|
||||
"bios": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"description": "Name of stage device to install GRUB for BIOS-based systems.",
|
||||
"type": "string"
|
||||
},
|
||||
"partition": {
|
||||
"description": "The partition on the stage device to install to, if installing to a partition",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,36 @@
|
|||
{
|
||||
"summary": "Create subvolumes on a mounted btrfs partition.",
|
||||
"description": [
|
||||
"See `btrfs`(8).",
|
||||
"Buildhost commands used: `btrfs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"subvolumes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"summary": "Create subvolumes on a mounted btrfs partition.",
|
||||
"description": [
|
||||
"See `btrfs`(8).",
|
||||
"Buildhost commands used: `btrfs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"subvolumes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,41 +1,41 @@
|
|||
{
|
||||
"summary": "Create a /.buildstamp file describing the system",
|
||||
"description": [
|
||||
"This will create a './buildstamp' with the specified parameters."
|
||||
"summary": "Create a /.buildstamp file describing the system",
|
||||
"description": [
|
||||
"This will create a './buildstamp' with the specified parameters."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"arch",
|
||||
"product",
|
||||
"version",
|
||||
"final"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"arch",
|
||||
"product",
|
||||
"version",
|
||||
"final"
|
||||
],
|
||||
"properties": {
|
||||
"arch": {
|
||||
"description": "Build architecture.",
|
||||
"type": "string"
|
||||
},
|
||||
"product": {
|
||||
"description": "The product name.",
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"description": "The version .",
|
||||
"type": "string"
|
||||
},
|
||||
"final": {
|
||||
"description": "The product.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"variant": {
|
||||
"description": "The variant of the product.",
|
||||
"type": "string"
|
||||
},
|
||||
"bugurl": {
|
||||
"description": "The bugurl of the product.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"arch": {
|
||||
"description": "Build architecture.",
|
||||
"type": "string"
|
||||
},
|
||||
"product": {
|
||||
"description": "The product name.",
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"description": "The version .",
|
||||
"type": "string"
|
||||
},
|
||||
"final": {
|
||||
"description": "The product.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"variant": {
|
||||
"description": "The variant of the product.",
|
||||
"type": "string"
|
||||
},
|
||||
"bugurl": {
|
||||
"description": "The bugurl of the product.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,37 +1,37 @@
|
|||
{
|
||||
"summary": "Runs `chattr` to set file/directory attributes.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^mount://[^/]+/|^tree:///": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"immutable"
|
||||
],
|
||||
"properties": {
|
||||
"immutable": {
|
||||
"type": "boolean",
|
||||
"description": "Make the file/directory immutable",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Runs `chattr` to set file/directory attributes.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^mount://[^/]+/|^tree:///": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"immutable"
|
||||
],
|
||||
"properties": {
|
||||
"immutable": {
|
||||
"type": "boolean",
|
||||
"description": "Make the file/directory immutable",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,36 @@
|
|||
{
|
||||
"summary": "Change file mode bits",
|
||||
"description": [
|
||||
"Change the file mode bits of one or more files or directories inside the tree."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"mode"
|
||||
],
|
||||
"properties": {
|
||||
"mode": {
|
||||
"type": "string",
|
||||
"description": "Symbolic or numeric octal mode"
|
||||
},
|
||||
"recursive": {
|
||||
"type": "boolean",
|
||||
"description": "Change modes recursively",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Change file mode bits",
|
||||
"description": [
|
||||
"Change the file mode bits of one or more files or directories inside the tree."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"mode"
|
||||
],
|
||||
"properties": {
|
||||
"mode": {
|
||||
"type": "string",
|
||||
"description": "Symbolic or numeric octal mode"
|
||||
},
|
||||
"recursive": {
|
||||
"type": "boolean",
|
||||
"description": "Change modes recursively",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,70 +1,70 @@
|
|||
{
|
||||
"summary": "Change file owner and group",
|
||||
"description": [
|
||||
"Change the file user and/or group ownership of one or more files or directories inside the tree.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'chown' binary from the image in the chroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$": {
|
||||
"type": "object",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"user"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"group"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"user": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"pattern": "^[A-Za-z0-9_.][A-Za-z0-9_.-]{0,31}$"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
}
|
||||
],
|
||||
"description": "User name or UID"
|
||||
},
|
||||
"group": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_-]{0,31}$"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
}
|
||||
],
|
||||
"description": "Group name or GID"
|
||||
},
|
||||
"recursive": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Change ownership recursively"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Change file owner and group",
|
||||
"description": [
|
||||
"Change the file user and/or group ownership of one or more files or directories inside the tree.",
|
||||
"Notes:",
|
||||
" - Requires 'chroot' in the buildroot.",
|
||||
" - Runs the 'chown' binary from the image in the chroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$": {
|
||||
"type": "object",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"user"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"group"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"user": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"pattern": "^[A-Za-z0-9_.][A-Za-z0-9_.-]{0,31}$"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
}
|
||||
],
|
||||
"description": "User name or UID"
|
||||
},
|
||||
"group": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_-]{0,31}$"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
}
|
||||
],
|
||||
"description": "Group name or GID"
|
||||
},
|
||||
"recursive": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Change ownership recursively"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,96 +1,96 @@
|
|||
{
|
||||
"summary": "Configure chrony to set system time from the network.",
|
||||
"description": [
|
||||
"Configures `chrony` by modifying `/etc/chrony.conf`.",
|
||||
"Before new values are added to the chrony configuration, all lines starting with",
|
||||
"\"server\", \"pool\" or \"peer\" are removed.",
|
||||
"The 'timeservers' option provides a very high-level way of configuring chronyd",
|
||||
"with specific timeservers. Its value is a list of strings representing the",
|
||||
"hostname or IP address of the timeserver. For each list item, the following",
|
||||
"line will be added to the configuration:",
|
||||
"`server <HOSTNAME/IP> iburst`",
|
||||
"The 'servers' option provides a direct mapping to the `server` directive from",
|
||||
"chrony configuration. Its value is a list of dictionaries representing each",
|
||||
"timeserver which should be added to the configuration. For each list item,",
|
||||
"a `server` directive will be added the configuration. Currently supported",
|
||||
"subset of options which can be specified for each timeserver item:",
|
||||
" - 'hostname' (REQUIRED)",
|
||||
" - 'minpoll'",
|
||||
" - 'maxpoll'",
|
||||
" - 'iburst' (defaults to true)",
|
||||
" - 'prefer' (defaults to false)",
|
||||
"The 'leapsectz' option configures chrony behavior related to automatic checking",
|
||||
"of the next occurrence of the leap second, using the provided timezone. Its",
|
||||
"value is a string representing a timezone from the system tz database (e.g.",
|
||||
"'right/UTC'). If an empty string is provided, then all occurrences of",
|
||||
"'leapsectz' directive are removed from the configuration.",
|
||||
"Constraints:",
|
||||
" - Exactly one of 'timeservers' or 'servers' options must be provided."
|
||||
"summary": "Configure chrony to set system time from the network.",
|
||||
"description": [
|
||||
"Configures `chrony` by modifying `/etc/chrony.conf`.",
|
||||
"Before new values are added to the chrony configuration, all lines starting with",
|
||||
"\"server\", \"pool\" or \"peer\" are removed.",
|
||||
"The 'timeservers' option provides a very high-level way of configuring chronyd",
|
||||
"with specific timeservers. Its value is a list of strings representing the",
|
||||
"hostname or IP address of the timeserver. For each list item, the following",
|
||||
"line will be added to the configuration:",
|
||||
"`server <HOSTNAME/IP> iburst`",
|
||||
"The 'servers' option provides a direct mapping to the `server` directive from",
|
||||
"chrony configuration. Its value is a list of dictionaries representing each",
|
||||
"timeserver which should be added to the configuration. For each list item,",
|
||||
"a `server` directive will be added the configuration. Currently supported",
|
||||
"subset of options which can be specified for each timeserver item:",
|
||||
" - 'hostname' (REQUIRED)",
|
||||
" - 'minpoll'",
|
||||
" - 'maxpoll'",
|
||||
" - 'iburst' (defaults to true)",
|
||||
" - 'prefer' (defaults to false)",
|
||||
"The 'leapsectz' option configures chrony behavior related to automatic checking",
|
||||
"of the next occurrence of the leap second, using the provided timezone. Its",
|
||||
"value is a string representing a timezone from the system tz database (e.g.",
|
||||
"'right/UTC'). If an empty string is provided, then all occurrences of",
|
||||
"'leapsectz' directive are removed from the configuration.",
|
||||
"Constraints:",
|
||||
" - Exactly one of 'timeservers' or 'servers' options must be provided."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"timeservers"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"servers"
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"timeservers"
|
||||
]
|
||||
"properties": {
|
||||
"timeservers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Array of NTP server addresses."
|
||||
},
|
||||
"servers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hostname"
|
||||
],
|
||||
"properties": {
|
||||
"hostname": {
|
||||
"type": "string",
|
||||
"description": "Hostname or IP address of a NTP server."
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"servers"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"timeservers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Array of NTP server addresses."
|
||||
},
|
||||
"servers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hostname"
|
||||
],
|
||||
"properties": {
|
||||
"hostname": {
|
||||
"type": "string",
|
||||
"description": "Hostname or IP address of a NTP server."
|
||||
},
|
||||
"minpoll": {
|
||||
"type": "integer",
|
||||
"description": "Specifies the minimum interval between requests sent to the server as a power of 2 in seconds.",
|
||||
"minimum": -6,
|
||||
"maximum": 24
|
||||
},
|
||||
"maxpoll": {
|
||||
"type": "integer",
|
||||
"description": "Specifies the maximum interval between requests sent to the server as a power of 2 in seconds.",
|
||||
"minimum": -6,
|
||||
"maximum": 24
|
||||
},
|
||||
"iburst": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Configures chronyd behavior related to burst requests on startup."
|
||||
},
|
||||
"prefer": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Prefer this source over sources without the prefer option."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"leapsectz": {
|
||||
"type": "string",
|
||||
"description": "Timezone used by chronyd to determine when will the next leap second occur. Empty value will remove the option."
|
||||
"minpoll": {
|
||||
"type": "integer",
|
||||
"description": "Specifies the minimum interval between requests sent to the server as a power of 2 in seconds.",
|
||||
"minimum": -6,
|
||||
"maximum": 24
|
||||
},
|
||||
"maxpoll": {
|
||||
"type": "integer",
|
||||
"description": "Specifies the maximum interval between requests sent to the server as a power of 2 in seconds.",
|
||||
"minimum": -6,
|
||||
"maximum": 24
|
||||
},
|
||||
"iburst": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Configures chronyd behavior related to burst requests on startup."
|
||||
},
|
||||
"prefer": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Prefer this source over sources without the prefer option."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"leapsectz": {
|
||||
"type": "string",
|
||||
"description": "Timezone used by chronyd to determine when will the next leap second occur. Empty value will remove the option."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,43 +1,43 @@
|
|||
{
|
||||
"summary": "Bind a LUKS device using the specified policy.",
|
||||
"description": [
|
||||
"Buildhost commands used: `clevis`, `clevis-luks`, `clevis-pin-*`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"passphrase",
|
||||
"pin",
|
||||
"policy"
|
||||
],
|
||||
"properties": {
|
||||
"passphrase": {
|
||||
"description": "Passphrase to unlock the container",
|
||||
"type": "string"
|
||||
},
|
||||
"pin": {
|
||||
"description": "The pin to use",
|
||||
"type": "string"
|
||||
},
|
||||
"policy": {
|
||||
"description": "Policy to use with the given pin",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"summary": "Bind a LUKS device using the specified policy.",
|
||||
"description": [
|
||||
"Buildhost commands used: `clevis`, `clevis-luks`, `clevis-pin-*`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"passphrase",
|
||||
"pin",
|
||||
"policy"
|
||||
],
|
||||
"properties": {
|
||||
"passphrase": {
|
||||
"description": "Passphrase to unlock the container",
|
||||
"type": "string"
|
||||
},
|
||||
"pin": {
|
||||
"description": "The pin to use",
|
||||
"type": "string"
|
||||
},
|
||||
"policy": {
|
||||
"description": "Policy to use with the given pin",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,142 +1,142 @@
|
|||
{
|
||||
"summary": "Configure cloud-init",
|
||||
"description": [
|
||||
"The 'config' option allows to configure cloud-init by creating a",
|
||||
"configuration file under `/etc/cloud/cloud.cfg.d` with the name",
|
||||
"specified by `filename`.",
|
||||
"Constrains:",
|
||||
" - Each configuration file definition must contain at least one configuration",
|
||||
"Currently supported subset of cloud-init configuration:",
|
||||
" - 'system_info' section",
|
||||
" - 'default_user' section",
|
||||
" - 'name' option"
|
||||
"summary": "Configure cloud-init",
|
||||
"description": [
|
||||
"The 'config' option allows to configure cloud-init by creating a",
|
||||
"configuration file under `/etc/cloud/cloud.cfg.d` with the name",
|
||||
"specified by `filename`.",
|
||||
"Constrains:",
|
||||
" - Each configuration file definition must contain at least one configuration",
|
||||
"Currently supported subset of cloud-init configuration:",
|
||||
" - 'system_info' section",
|
||||
" - 'default_user' section",
|
||||
" - 'name' option"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"reporting_handlers": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"log",
|
||||
"print",
|
||||
"webhook",
|
||||
"hyperv"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config",
|
||||
"filename"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"reporting_handlers": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"log",
|
||||
"print",
|
||||
"webhook",
|
||||
"hyperv"
|
||||
]
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the cloud-init configuration file.",
|
||||
"pattern": "^[\\w.-]{1,251}\\.cfg$"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config",
|
||||
"filename"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "cloud-init configuration",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the cloud-init configuration file.",
|
||||
"pattern": "^[\\w.-]{1,251}\\.cfg$"
|
||||
},
|
||||
"config": {
|
||||
"system_info": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "'system_info' configuration section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"default_user": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "cloud-init configuration",
|
||||
"description": "Configuration of the 'default' user created by cloud-init.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"system_info": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "'system_info' configuration section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"default_user": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "Configuration of the 'default' user created by cloud-init.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "username of the 'default' user."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"reporting": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Define reporting endpoints.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"logging": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": {
|
||||
"$ref": "#/definitions/reporting_handlers"
|
||||
}
|
||||
}
|
||||
},
|
||||
"telemetry": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": {
|
||||
"$ref": "#/definitions/reporting_handlers"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"datasource_list": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Azure"
|
||||
]
|
||||
}
|
||||
},
|
||||
"datasource": {
|
||||
"type": "object",
|
||||
"description": "Sources of configuration data for cloud-init.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"Azure": {
|
||||
"type": "object",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"apply_network_config": {
|
||||
"type": "boolean",
|
||||
"description": "Whether to use network configuration described by Azure\u2019s IMDS endpoint",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"output": {
|
||||
"type": "object",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"init": {
|
||||
"description": "Redirect the output of the init stage",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"description": "Redirect the output of the config stage",
|
||||
"type": "string"
|
||||
},
|
||||
"final": {
|
||||
"description": "Redirect the output of the final stage",
|
||||
"type": "string"
|
||||
},
|
||||
"all": {
|
||||
"description": "Redirect the output of all stages",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "username of the 'default' user."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"reporting": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Define reporting endpoints.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"logging": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": {
|
||||
"$ref": "#/definitions/reporting_handlers"
|
||||
}
|
||||
}
|
||||
},
|
||||
"telemetry": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": {
|
||||
"$ref": "#/definitions/reporting_handlers"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"datasource_list": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Azure"
|
||||
]
|
||||
}
|
||||
},
|
||||
"datasource": {
|
||||
"type": "object",
|
||||
"description": "Sources of configuration data for cloud-init.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"Azure": {
|
||||
"type": "object",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"apply_network_config": {
|
||||
"type": "boolean",
|
||||
"description": "Whether to use network configuration described by Azure’s IMDS endpoint",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"output": {
|
||||
"type": "object",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"init": {
|
||||
"description": "Redirect the output of the init stage",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"description": "Redirect the output of the config stage",
|
||||
"type": "string"
|
||||
},
|
||||
"final": {
|
||||
"description": "Redirect the output of the final stage",
|
||||
"type": "string"
|
||||
},
|
||||
"all": {
|
||||
"description": "Redirect the output of all stages",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,34 @@
|
|||
{
|
||||
"summary": "Deploy a container.",
|
||||
"description": [
|
||||
"Buildhost commands used: podman skopeo"
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"images"
|
||||
],
|
||||
"properties": {
|
||||
"images": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"exclude": {
|
||||
"type": "array",
|
||||
"description": "Exclude paths from the deployment",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Deploy a container.",
|
||||
"description": [
|
||||
"Buildhost commands used: podman skopeo"
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"images"
|
||||
],
|
||||
"properties": {
|
||||
"images": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"exclude": {
|
||||
"type": "array",
|
||||
"description": "Exclude paths from the deployment",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,139 +1,139 @@
|
|||
{
|
||||
"summary": "Edit containers-storage.conf(5) files.",
|
||||
"description": [
|
||||
"This stage can be used to create or modify `containers-storage.conf`",
|
||||
"configuration files. The default strategy is to merge the specified",
|
||||
"options with the existing options."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"storage": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"driver": {
|
||||
"description": "container storage driver.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"overlay",
|
||||
"vfs",
|
||||
"devmapper",
|
||||
"aufs",
|
||||
"btrfs",
|
||||
"zfs"
|
||||
]
|
||||
},
|
||||
"graphroot": {
|
||||
"description": "container storage graph directory.",
|
||||
"type": "string"
|
||||
},
|
||||
"runroot": {
|
||||
"description": "container storage run directory.",
|
||||
"type": "string"
|
||||
},
|
||||
"transient_store": {
|
||||
"description": "Make the container store not persist across reboot.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"options": {
|
||||
"$ref": "#/definitions/storage-options"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage-options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"additionalimagestores": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"pull_options": {
|
||||
"$ref": "#/definitions/storage-options-pulloptions"
|
||||
},
|
||||
"overlay": {
|
||||
"$ref": "#/definitions/storage-options-overlay"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage-options-pulloptions": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"enable_partial_images": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
]
|
||||
},
|
||||
"use_hard_links": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
]
|
||||
},
|
||||
"convert_images": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage-options-overlay": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"mountopt": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Edit containers-storage.conf(5) files.",
|
||||
"description": [
|
||||
"This stage can be used to create or modify `containers-storage.conf`",
|
||||
"configuration files. The default strategy is to merge the specified",
|
||||
"options with the existing options."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"storage": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "location of the configuration file.",
|
||||
"default": "/etc/containers/storage.conf",
|
||||
"enum": [
|
||||
"/etc/containers/storage.conf",
|
||||
"/usr/share/containers/storage.conf"
|
||||
]
|
||||
},
|
||||
"filebase": {
|
||||
"type": "string",
|
||||
"description": "Read the base configuration from this file."
|
||||
},
|
||||
"comment": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "storage configuration",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"storage": {
|
||||
"$ref": "#/definitions/storage"
|
||||
}
|
||||
}
|
||||
}
|
||||
"driver": {
|
||||
"description": "container storage driver.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"overlay",
|
||||
"vfs",
|
||||
"devmapper",
|
||||
"aufs",
|
||||
"btrfs",
|
||||
"zfs"
|
||||
]
|
||||
},
|
||||
"graphroot": {
|
||||
"description": "container storage graph directory.",
|
||||
"type": "string"
|
||||
},
|
||||
"runroot": {
|
||||
"description": "container storage run directory.",
|
||||
"type": "string"
|
||||
},
|
||||
"transient_store": {
|
||||
"description": "Make the container store not persist across reboot.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"options": {
|
||||
"$ref": "#/definitions/storage-options"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage-options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"additionalimagestores": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"pull_options": {
|
||||
"$ref": "#/definitions/storage-options-pulloptions"
|
||||
},
|
||||
"overlay": {
|
||||
"$ref": "#/definitions/storage-options-overlay"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage-options-pulloptions": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"enable_partial_images": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
]
|
||||
},
|
||||
"use_hard_links": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
]
|
||||
},
|
||||
"convert_images": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage-options-overlay": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"mountopt": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "location of the configuration file.",
|
||||
"default": "/etc/containers/storage.conf",
|
||||
"enum": [
|
||||
"/etc/containers/storage.conf",
|
||||
"/usr/share/containers/storage.conf"
|
||||
]
|
||||
},
|
||||
"filebase": {
|
||||
"type": "string",
|
||||
"description": "Read the base configuration from this file."
|
||||
},
|
||||
"comment": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "storage configuration",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"storage": {
|
||||
"$ref": "#/definitions/storage"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,96 +1,96 @@
|
|||
{
|
||||
"summary": "Copy items",
|
||||
"description": [
|
||||
"Stage to copy items, that is files or trees, from inputs to mount",
|
||||
"points or the tree. Multiple items can be copied. The source and",
|
||||
"destination is an url. Supported locations ('schemes') are `tree`,",
|
||||
"`mount` and `input`.",
|
||||
"The path format follows the rsync convention that if the paths",
|
||||
"ends with a slash `/` the content of that directory is copied not",
|
||||
"the directory itself.",
|
||||
"Note that the stage by default does not remove the destination",
|
||||
"before copying. As a result, if the destination is an existing",
|
||||
"symlink to a file, then this file will be overwritten, instead of",
|
||||
"the symlink being replaced. If you want to replace the symlink",
|
||||
"with a file, you need to set the `remove_destination` option to",
|
||||
"`true`. This option works only for files, not directories or",
|
||||
"symlinks to directories."
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"summary": "Copy items",
|
||||
"description": [
|
||||
"Stage to copy items, that is files or trees, from inputs to mount",
|
||||
"points or the tree. Multiple items can be copied. The source and",
|
||||
"destination is an url. Supported locations ('schemes') are `tree`,",
|
||||
"`mount` and `input`.",
|
||||
"The path format follows the rsync convention that if the paths",
|
||||
"ends with a slash `/` the content of that directory is copied not",
|
||||
"the directory itself.",
|
||||
"Note that the stage by default does not remove the destination",
|
||||
"before copying. As a result, if the destination is an existing",
|
||||
"symlink to a file, then this file will be overwritten, instead of",
|
||||
"the symlink being replaced. If you want to replace the symlink",
|
||||
"with a file, you need to set the `remove_destination` option to",
|
||||
"`true`. This option works only for files, not directories or",
|
||||
"symlinks to directories."
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"paths"
|
||||
],
|
||||
"properties": {
|
||||
"paths": {
|
||||
"description": "Array of items to copy",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"paths"
|
||||
"from",
|
||||
"to"
|
||||
],
|
||||
"properties": {
|
||||
"paths": {
|
||||
"description": "Array of items to copy",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"from",
|
||||
"to"
|
||||
],
|
||||
"properties": {
|
||||
"from": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The source, if an input",
|
||||
"pattern": "^input://[^/]+/"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The source, if a mount",
|
||||
"pattern": "^mount://[^/]+/"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The source, if the tree",
|
||||
"pattern": "^tree:///"
|
||||
}
|
||||
]
|
||||
},
|
||||
"to": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The destination, if a mount",
|
||||
"pattern": "^mount://[^/]+/"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The destination, if the tree",
|
||||
"pattern": "^tree:///"
|
||||
}
|
||||
]
|
||||
},
|
||||
"remove_destination": {
|
||||
"type": "boolean",
|
||||
"description": "Remove the destination before copying. Works only for files, not directories.",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"from": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The source, if an input",
|
||||
"pattern": "^input://[^/]+/"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The source, if a mount",
|
||||
"pattern": "^mount://[^/]+/"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The source, if the tree",
|
||||
"pattern": "^tree:///"
|
||||
}
|
||||
]
|
||||
},
|
||||
"to": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The destination, if a mount",
|
||||
"pattern": "^mount://[^/]+/"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The destination, if the tree",
|
||||
"pattern": "^tree:///"
|
||||
}
|
||||
]
|
||||
},
|
||||
"remove_destination": {
|
||||
"type": "boolean",
|
||||
"description": "Remove the destination before copying. Works only for files, not directories.",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +1,42 @@
|
|||
{
|
||||
"summary": "Setup a CoreOS platform",
|
||||
"description": [
|
||||
"In CoreOS we have the concept of a platform (i.e. AWS, GCP, Metal, QEMU)",
|
||||
"where each platform has its own provided disk image with slightly",
|
||||
"differing settings/behavior. This stage will perform the necessary",
|
||||
"configuration for the given platform. This configuration boils down to",
|
||||
"a few steps:",
|
||||
"1. Locate the source of platform specific information that is provided",
|
||||
" in the CoreOS filesystem tree already (the platforms.json).",
|
||||
"2. Copy the platforms.json file into the /boot/ partition, which is",
|
||||
" sometimes used by coreos-installer.",
|
||||
"3. Read the platforms.json to fetch and platform specific kernel",
|
||||
" arguments or grub configuration to set. These arguments/config",
|
||||
" are primarily console settings.",
|
||||
"4. Apply any platform specific kernel arguments along with the",
|
||||
" `ignition.platform.id={platform-name}` kernel argument.",
|
||||
"5. Create the grub console.cfg file and apply any platform",
|
||||
" specific grub console configuration.",
|
||||
"This stage is highly CoreOS specific and subject to change in the",
|
||||
"future if/when we change the way platform specific information is",
|
||||
"defined in our broader efforts to share more defaults with OSBuild."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"platform": {
|
||||
"description": "The target platform name/ID",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
"summary": "Setup a CoreOS platform",
|
||||
"description": [
|
||||
"In CoreOS we have the concept of a platform (i.e. AWS, GCP, Metal, QEMU)",
|
||||
"where each platform has its own provided disk image with slightly",
|
||||
"differing settings/behavior. This stage will perform the necessary",
|
||||
"configuration for the given platform. This configuration boils down to",
|
||||
"a few steps:",
|
||||
"1. Locate the source of platform specific information that is provided",
|
||||
" in the CoreOS filesystem tree already (the platforms.json).",
|
||||
"2. Copy the platforms.json file into the /boot/ partition, which is",
|
||||
" sometimes used by coreos-installer.",
|
||||
"3. Read the platforms.json to fetch and platform specific kernel",
|
||||
" arguments or grub configuration to set. These arguments/config",
|
||||
" are primarily console settings.",
|
||||
"4. Apply any platform specific kernel arguments along with the",
|
||||
" `ignition.platform.id={platform-name}` kernel argument.",
|
||||
"5. Create the grub console.cfg file and apply any platform",
|
||||
" specific grub console configuration.",
|
||||
"This stage is highly CoreOS specific and subject to change in the",
|
||||
"future if/when we change the way platform specific information is",
|
||||
"defined in our broader efforts to share more defaults with OSBuild."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"platform": {
|
||||
"description": "The target platform name/ID",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,84 +1,84 @@
|
|||
{
|
||||
"summary": "Assembles the tree into a CPIO archive.",
|
||||
"description": [
|
||||
"Uses the buildhost's `cpio` command, to create an archive",
|
||||
"at `filename` with the contents of the input `tree`. If",
|
||||
"`append` is `true`, its files will be added to an existing",
|
||||
"archive. The default format is `newc` , the \"new (SVR4)",
|
||||
"portable format\", which is also used by `dracut`(8).",
|
||||
"Buildhost commands used: `cpio`"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Filename for tar archive",
|
||||
"type": "string"
|
||||
},
|
||||
"append": {
|
||||
"type": "boolean",
|
||||
"description": "Append to an existing archive.",
|
||||
"default": false
|
||||
},
|
||||
"format": {
|
||||
"description": "Archive format to use",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"bin",
|
||||
"odc",
|
||||
"newc",
|
||||
"crc",
|
||||
"tar",
|
||||
"ustar"
|
||||
],
|
||||
"default": "newc"
|
||||
},
|
||||
"root-node": {
|
||||
"description": "How to handle the root node: include or omit",
|
||||
"enum": [
|
||||
"include",
|
||||
"omit"
|
||||
],
|
||||
"default": "include"
|
||||
},
|
||||
"reproducible": {
|
||||
"type": "boolean",
|
||||
"description": "Produce device-independent, reproducible archives.",
|
||||
"default": true
|
||||
},
|
||||
"owner": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"user"
|
||||
],
|
||||
"properties": {
|
||||
"user": {
|
||||
"type": "string"
|
||||
},
|
||||
"group": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Assembles the tree into a CPIO archive.",
|
||||
"description": [
|
||||
"Uses the buildhost's `cpio` command, to create an archive",
|
||||
"at `filename` with the contents of the input `tree`. If",
|
||||
"`append` is `true`, its files will be added to an existing",
|
||||
"archive. The default format is `newc` , the \"new (SVR4)",
|
||||
"portable format\", which is also used by `dracut`(8).",
|
||||
"Buildhost commands used: `cpio`"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Filename for tar archive",
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tree"
|
||||
],
|
||||
"properties": {
|
||||
"tree": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"append": {
|
||||
"type": "boolean",
|
||||
"description": "Append to an existing archive.",
|
||||
"default": false
|
||||
},
|
||||
"format": {
|
||||
"description": "Archive format to use",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"bin",
|
||||
"odc",
|
||||
"newc",
|
||||
"crc",
|
||||
"tar",
|
||||
"ustar"
|
||||
],
|
||||
"default": "newc"
|
||||
},
|
||||
"root-node": {
|
||||
"description": "How to handle the root node: include or omit",
|
||||
"enum": [
|
||||
"include",
|
||||
"omit"
|
||||
],
|
||||
"default": "include"
|
||||
},
|
||||
"reproducible": {
|
||||
"type": "boolean",
|
||||
"description": "Produce device-independent, reproducible archives.",
|
||||
"default": true
|
||||
},
|
||||
"owner": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"user"
|
||||
],
|
||||
"properties": {
|
||||
"user": {
|
||||
"type": "string"
|
||||
},
|
||||
"group": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tree"
|
||||
],
|
||||
"properties": {
|
||||
"tree": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,61 +1,61 @@
|
|||
{
|
||||
"summary": "Run a script at regular intervals.",
|
||||
"description": [
|
||||
"Execute a script at regular intervals. This uses the cron drop-in",
|
||||
"directories in etc, which correspond to the supported intervals:",
|
||||
" `cron.hourly/`, `cron.daily/`, `cron.weekly/`, `cron.monthly/`",
|
||||
"NB: Does itself not create the directories so they must be created",
|
||||
"via the package that provides the facility, like `cronie` or on",
|
||||
"older systems `crontabs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"interval",
|
||||
"filename"
|
||||
],
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"simple"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"interval": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"hourly",
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly"
|
||||
]
|
||||
},
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the cron script",
|
||||
"pattern": "^[\\w.-]{1,255}$"
|
||||
},
|
||||
"simple": {
|
||||
"type": "object",
|
||||
"description": "A simple command to run.",
|
||||
"required": [
|
||||
"command"
|
||||
],
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"command": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Run a script at regular intervals.",
|
||||
"description": [
|
||||
"Execute a script at regular intervals. This uses the cron drop-in",
|
||||
"directories in etc, which correspond to the supported intervals:",
|
||||
" `cron.hourly/`, `cron.daily/`, `cron.weekly/`, `cron.monthly/`",
|
||||
"NB: Does itself not create the directories so they must be created",
|
||||
"via the package that provides the facility, like `cronie` or on",
|
||||
"older systems `crontabs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"interval",
|
||||
"filename"
|
||||
],
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"simple"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"interval": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"hourly",
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly"
|
||||
]
|
||||
},
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the cron script",
|
||||
"pattern": "^[\\w.-]{1,255}$"
|
||||
},
|
||||
"simple": {
|
||||
"type": "object",
|
||||
"description": "A simple command to run.",
|
||||
"required": [
|
||||
"command"
|
||||
],
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"command": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,66 +1,66 @@
|
|||
{
|
||||
"summary": "Create /etc/crypttab entries for encrypted block devices",
|
||||
"description": [
|
||||
"See crypttab(5) for a detailed description of the format but in brief:",
|
||||
"each item in the list of `volumes` describes an encrypted block device",
|
||||
"and how it should it should be setup. The block device is identified",
|
||||
"either by `uuid` or by `path` (device node path). The volume will be",
|
||||
"named as `volume`, i.e. made available as `/dev/mapper/$volume`.",
|
||||
"Additionally, a keyfile can (optionally) be specified via `keyfile`.",
|
||||
"Specific device options can be specified via `options`.",
|
||||
"This stage replaces /etc/crypttab, removing any existing entries."
|
||||
"summary": "Create /etc/crypttab entries for encrypted block devices",
|
||||
"description": [
|
||||
"See crypttab(5) for a detailed description of the format but in brief:",
|
||||
"each item in the list of `volumes` describes an encrypted block device",
|
||||
"and how it should it should be setup. The block device is identified",
|
||||
"either by `uuid` or by `path` (device node path). The volume will be",
|
||||
"named as `volume`, i.e. made available as `/dev/mapper/$volume`.",
|
||||
"Additionally, a keyfile can (optionally) be specified via `keyfile`.",
|
||||
"Specific device options can be specified via `options`.",
|
||||
"This stage replaces /etc/crypttab, removing any existing entries."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"volumes"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"volumes"
|
||||
],
|
||||
"properties": {
|
||||
"volumes": {
|
||||
"type": "array",
|
||||
"description": "array of volume objects",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"uuid",
|
||||
"volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"path",
|
||||
"volume"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"volume": {
|
||||
"description": "volume mountpoint",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "device UUID",
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"description": "device path",
|
||||
"type": "string"
|
||||
},
|
||||
"keyfile": {
|
||||
"description": "",
|
||||
"type": "string",
|
||||
"default": "none"
|
||||
},
|
||||
"options": {
|
||||
"description": "options (comma-separated)",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"volumes": {
|
||||
"type": "array",
|
||||
"description": "array of volume objects",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"uuid",
|
||||
"volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"path",
|
||||
"volume"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"volume": {
|
||||
"description": "volume mountpoint",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "device UUID",
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"description": "device path",
|
||||
"type": "string"
|
||||
},
|
||||
"keyfile": {
|
||||
"description": "",
|
||||
"type": "string",
|
||||
"default": "none"
|
||||
},
|
||||
"options": {
|
||||
"description": "options (comma-separated)",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"summary": "Set up an early root shell on a certain tty",
|
||||
"description": [
|
||||
"Creates a systemd unit file at /etc/systemd/system/osbuild-debug-shell.service",
|
||||
"which starts an early-boot root shell on the given `tty`.",
|
||||
"Also symlinks the service file into /etc/systemd/system/sysinit.target.wants/."
|
||||
"summary": "Set up an early root shell on a certain tty",
|
||||
"description": [
|
||||
"Creates a systemd unit file at /etc/systemd/system/osbuild-debug-shell.service",
|
||||
"which starts an early-boot root shell on the given `tty`.",
|
||||
"Also symlinks the service file into /etc/systemd/system/sysinit.target.wants/."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tty"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tty"
|
||||
],
|
||||
"properties": {
|
||||
"tty": {
|
||||
"type": "string",
|
||||
"description": "Absolute path of the tty device to start a root shell on."
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"tty": {
|
||||
"type": "string",
|
||||
"description": "Absolute path of the tty device to start a root shell on."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
{
|
||||
"summary": "Create a `.discinfo` file describing disk",
|
||||
"description": [
|
||||
"This will create a `.discinfo` file with the specified parameters."
|
||||
"summary": "Create a `.discinfo` file describing disk",
|
||||
"description": [
|
||||
"This will create a `.discinfo` file with the specified parameters."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"basearch",
|
||||
"release"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"basearch",
|
||||
"release"
|
||||
],
|
||||
"properties": {
|
||||
"basearch": {
|
||||
"description": "Build architecture.",
|
||||
"type": "string"
|
||||
},
|
||||
"release": {
|
||||
"description": "The product name.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"basearch": {
|
||||
"description": "Build architecture.",
|
||||
"type": "string"
|
||||
},
|
||||
"release": {
|
||||
"description": "The product name.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,47 +1,47 @@
|
|||
{
|
||||
"summary": "Change DNF Automatic configuration.",
|
||||
"description": [
|
||||
"The stage changes persistent DNF Automatic configuration. Currently, only",
|
||||
"a subset of options can be set:",
|
||||
" - 'commands' section",
|
||||
" - apply_updates",
|
||||
" - upgrade_type"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"commands": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "'commands' configuration section.",
|
||||
"properties": {
|
||||
"apply_updates": {
|
||||
"type": "boolean",
|
||||
"description": "Whether packages comprising the available updates should be installed."
|
||||
},
|
||||
"upgrade_type": {
|
||||
"type": "string",
|
||||
"description": "What kind of upgrades to look at.",
|
||||
"enum": [
|
||||
"default",
|
||||
"security"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Change DNF Automatic configuration.",
|
||||
"description": [
|
||||
"The stage changes persistent DNF Automatic configuration. Currently, only",
|
||||
"a subset of options can be set:",
|
||||
" - 'commands' section",
|
||||
" - apply_updates",
|
||||
" - upgrade_type"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"commands": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "DNF Automatic configuration.",
|
||||
"description": "'commands' configuration section.",
|
||||
"properties": {
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "configuration definition.",
|
||||
"properties": {
|
||||
"commands": {
|
||||
"$ref": "#/definitions/commands"
|
||||
}
|
||||
}
|
||||
}
|
||||
"apply_updates": {
|
||||
"type": "boolean",
|
||||
"description": "Whether packages comprising the available updates should be installed."
|
||||
},
|
||||
"upgrade_type": {
|
||||
"type": "string",
|
||||
"description": "What kind of upgrades to look at.",
|
||||
"enum": [
|
||||
"default",
|
||||
"security"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"description": "DNF Automatic configuration.",
|
||||
"properties": {
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "configuration definition.",
|
||||
"properties": {
|
||||
"commands": {
|
||||
"$ref": "#/definitions/commands"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,90 +1,90 @@
|
|||
{
|
||||
"summary": "Change DNF configuration.",
|
||||
"description": [
|
||||
"The stage changes persistent DNF configuration on the filesystem.",
|
||||
"Allows defining dnf variables via the `variables` option and",
|
||||
"specific configuration options via the `config` option. The",
|
||||
"latter will be saved in `/etc/dnf/dnf.conf`. See `dnf.conf(5)`",
|
||||
"for details about the configuration options."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"variable": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"value"
|
||||
],
|
||||
"description": "DNF variable to configure persistently.",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z0-9_]+$",
|
||||
"description": "Name of the variable."
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
"description": "Value of the variable."
|
||||
}
|
||||
}
|
||||
},
|
||||
"config_main": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"ip_resolve": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"4",
|
||||
"IPv4",
|
||||
"6",
|
||||
"IPv6"
|
||||
],
|
||||
"description": "Determines how DNF resolves host names."
|
||||
},
|
||||
"tsflags": {
|
||||
"type": "array",
|
||||
"description": "Extra flags for the RPM transaction.",
|
||||
"minItems": 1,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"noscripts",
|
||||
"test",
|
||||
"notriggers",
|
||||
"nodocs",
|
||||
"justdb",
|
||||
"nocontexts",
|
||||
"nocaps",
|
||||
"nocrypto"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Change DNF configuration.",
|
||||
"description": [
|
||||
"The stage changes persistent DNF configuration on the filesystem.",
|
||||
"Allows defining dnf variables via the `variables` option and",
|
||||
"specific configuration options via the `config` option. The",
|
||||
"latter will be saved in `/etc/dnf/dnf.conf`. See `dnf.conf(5)`",
|
||||
"for details about the configuration options."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"variable": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "DNF configuration.",
|
||||
"required": [
|
||||
"name",
|
||||
"value"
|
||||
],
|
||||
"description": "DNF variable to configure persistently.",
|
||||
"properties": {
|
||||
"variables": {
|
||||
"type": "array",
|
||||
"description": "DNF variables to configure persistently.",
|
||||
"items": {
|
||||
"$ref": "#/definitions/variable"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "DNF global configuration.",
|
||||
"properties": {
|
||||
"main": {
|
||||
"$ref": "#/definitions/config_main"
|
||||
}
|
||||
}
|
||||
}
|
||||
"name": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z0-9_]+$",
|
||||
"description": "Name of the variable."
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
"description": "Value of the variable."
|
||||
}
|
||||
}
|
||||
},
|
||||
"config_main": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"ip_resolve": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"4",
|
||||
"IPv4",
|
||||
"6",
|
||||
"IPv6"
|
||||
],
|
||||
"description": "Determines how DNF resolves host names."
|
||||
},
|
||||
"tsflags": {
|
||||
"type": "array",
|
||||
"description": "Extra flags for the RPM transaction.",
|
||||
"minItems": 1,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"noscripts",
|
||||
"test",
|
||||
"notriggers",
|
||||
"nodocs",
|
||||
"justdb",
|
||||
"nocontexts",
|
||||
"nocaps",
|
||||
"nocrypto"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"description": "DNF configuration.",
|
||||
"properties": {
|
||||
"variables": {
|
||||
"type": "array",
|
||||
"description": "DNF variables to configure persistently.",
|
||||
"items": {
|
||||
"$ref": "#/definitions/variable"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "DNF global configuration.",
|
||||
"properties": {
|
||||
"main": {
|
||||
"$ref": "#/definitions/config_main"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +1,38 @@
|
|||
{
|
||||
"summary": "Mark packages in the DNF state database.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"summary": "Mark packages in the DNF state database.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"packages": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"description": "Packages and their marks.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"mark"
|
||||
],
|
||||
"properties": {
|
||||
"packages": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"description": "Packages and their marks.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"mark"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "Package name."
|
||||
},
|
||||
"mark": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"install",
|
||||
"group"
|
||||
],
|
||||
"description": "Package mark."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "Package name."
|
||||
},
|
||||
"mark": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"install",
|
||||
"group"
|
||||
],
|
||||
"description": "Package mark."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,130 +1,130 @@
|
|||
{
|
||||
"summary": "Configure dracut.",
|
||||
"description": [
|
||||
"The 'config' option allows to create a dracut configuration file under",
|
||||
"`/usr/lib/dracut/dracut.conf.d/` with the name `filename`. Only a subset",
|
||||
"of configuration options is supported, with the intention to provide",
|
||||
"functional parity with `org.osbuild.dracut` stage.",
|
||||
"Constrains:",
|
||||
" - At least one configuration option must be specified for each configuration",
|
||||
"Supported configuration options:",
|
||||
" - compress",
|
||||
" - dracutmodules",
|
||||
" - add_dracutmodules",
|
||||
" - omit_dracutmodules",
|
||||
" - drivers",
|
||||
" - add_drivers",
|
||||
" - omit_drivers",
|
||||
" - force_drivers",
|
||||
" - filesystems",
|
||||
" - install_items",
|
||||
" - early_microcode",
|
||||
" - reproducible"
|
||||
"summary": "Configure dracut.",
|
||||
"description": [
|
||||
"The 'config' option allows to create a dracut configuration file under",
|
||||
"`/usr/lib/dracut/dracut.conf.d/` with the name `filename`. Only a subset",
|
||||
"of configuration options is supported, with the intention to provide",
|
||||
"functional parity with `org.osbuild.dracut` stage.",
|
||||
"Constrains:",
|
||||
" - At least one configuration option must be specified for each configuration",
|
||||
"Supported configuration options:",
|
||||
" - compress",
|
||||
" - dracutmodules",
|
||||
" - add_dracutmodules",
|
||||
" - omit_dracutmodules",
|
||||
" - drivers",
|
||||
" - add_drivers",
|
||||
" - omit_drivers",
|
||||
" - force_drivers",
|
||||
" - filesystems",
|
||||
" - install_items",
|
||||
" - early_microcode",
|
||||
" - reproducible"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config",
|
||||
"filename"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the dracut configuration file.",
|
||||
"pattern": "^[\\w.-]{1,250}\\.conf$"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config",
|
||||
"filename"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "dracut configuration.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the dracut configuration file.",
|
||||
"pattern": "^[\\w.-]{1,250}\\.conf$"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "dracut configuration.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"compress": {
|
||||
"description": "Compress the generated initramfs using the passed compression program.",
|
||||
"type": "string"
|
||||
},
|
||||
"dracutmodules": {
|
||||
"description": "Exact list of dracut modules to use.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"add_dracutmodules": {
|
||||
"description": "Additional dracut modules to include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"omit_dracutmodules": {
|
||||
"description": "Dracut modules to not include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"drivers": {
|
||||
"description": "Kernel modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"add_drivers": {
|
||||
"description": "Add a specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"omit_drivers": {
|
||||
"description": "Omit specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"force_drivers": {
|
||||
"description": "Add driver and ensure that they are tried to be loaded.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"filesystems": {
|
||||
"description": "Kernel filesystem modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"install_items": {
|
||||
"description": "Install the specified files.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Specify additional files to include in the initramfs."
|
||||
}
|
||||
},
|
||||
"early_microcode": {
|
||||
"description": "Combine early microcode with the initramfs.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"reproducible": {
|
||||
"description": "Create reproducible images.",
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
"compress": {
|
||||
"description": "Compress the generated initramfs using the passed compression program.",
|
||||
"type": "string"
|
||||
},
|
||||
"dracutmodules": {
|
||||
"description": "Exact list of dracut modules to use.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"add_dracutmodules": {
|
||||
"description": "Additional dracut modules to include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"omit_dracutmodules": {
|
||||
"description": "Dracut modules to not include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"drivers": {
|
||||
"description": "Kernel modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"add_drivers": {
|
||||
"description": "Add a specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"omit_drivers": {
|
||||
"description": "Omit specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"force_drivers": {
|
||||
"description": "Add driver and ensure that they are tried to be loaded.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"filesystems": {
|
||||
"description": "Kernel filesystem modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"install_items": {
|
||||
"description": "Install the specified files.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Specify additional files to include in the initramfs."
|
||||
}
|
||||
},
|
||||
"early_microcode": {
|
||||
"description": "Combine early microcode with the initramfs.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"reproducible": {
|
||||
"description": "Create reproducible images.",
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,131 +1,131 @@
|
|||
{
|
||||
"summary": "Create (re-create) the initial RAM file-system",
|
||||
"description": [
|
||||
"Uses `dracut` to re-create the initial RAM filesystem, see man dracut(8).",
|
||||
"The kernels for which the initramfs should be generated need to be provided",
|
||||
"via `kernel` matching their name on the disk, like \"5.6.6-300.fc32.x86_64\".",
|
||||
"Supports most options also found in `dracut`(8). See the respective man",
|
||||
"page and schema for this stage.",
|
||||
"NB: needs chroot for now as well as `strip` for stripping the initrfams."
|
||||
"summary": "Create (re-create) the initial RAM file-system",
|
||||
"description": [
|
||||
"Uses `dracut` to re-create the initial RAM filesystem, see man dracut(8).",
|
||||
"The kernels for which the initramfs should be generated need to be provided",
|
||||
"via `kernel` matching their name on the disk, like \"5.6.6-300.fc32.x86_64\".",
|
||||
"Supports most options also found in `dracut`(8). See the respective man",
|
||||
"page and schema for this stage.",
|
||||
"NB: needs chroot for now as well as `strip` for stripping the initrfams."
|
||||
],
|
||||
"schema": {
|
||||
"required": [
|
||||
"kernel"
|
||||
],
|
||||
"schema": {
|
||||
"required": [
|
||||
"kernel"
|
||||
],
|
||||
"properties": {
|
||||
"kernel": {
|
||||
"description": "List of target kernel versions",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel version"
|
||||
}
|
||||
},
|
||||
"compress": {
|
||||
"description": "Compress the initramfs, passed via `--compress`",
|
||||
"type": "string"
|
||||
},
|
||||
"modules": {
|
||||
"description": "Exact list of dracut modules to use.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"add_modules": {
|
||||
"description": "Additional dracut modules to include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"omit_modules": {
|
||||
"description": "Dracut modules to not include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"drivers": {
|
||||
"description": "Kernel modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"add_drivers": {
|
||||
"description": "Add a specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"omit_drivers": {
|
||||
"description": "Omit specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"force_drivers": {
|
||||
"description": "Add driver and ensure that they are tried to be loaded.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"filesystems": {
|
||||
"description": "Kernel filesystem modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"include": {
|
||||
"description": "Add custom files to the initramfs.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"description": "What (keys) to include where (values)"
|
||||
}
|
||||
},
|
||||
"install": {
|
||||
"description": "Install the specified files.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"early_microcode": {
|
||||
"description": "Combine early microcode with the initramfs.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"reproducible": {
|
||||
"description": "Create reproducible images.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"initoverlayfs": {
|
||||
"description": "Use initoverlayfs rather than initramfs, requires initoverlayfs rpm to be installed",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"extra": {
|
||||
"description": "Extra arguments to directly pass to dracut",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Individual extra arguments"
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"kernel": {
|
||||
"description": "List of target kernel versions",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel version"
|
||||
}
|
||||
},
|
||||
"compress": {
|
||||
"description": "Compress the initramfs, passed via `--compress`",
|
||||
"type": "string"
|
||||
},
|
||||
"modules": {
|
||||
"description": "Exact list of dracut modules to use.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"add_modules": {
|
||||
"description": "Additional dracut modules to include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"omit_modules": {
|
||||
"description": "Dracut modules to not include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A dracut module, e.g. base, nfs, network ..."
|
||||
}
|
||||
},
|
||||
"drivers": {
|
||||
"description": "Kernel modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"add_drivers": {
|
||||
"description": "Add a specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"omit_drivers": {
|
||||
"description": "Omit specific kernel modules.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension."
|
||||
}
|
||||
},
|
||||
"force_drivers": {
|
||||
"description": "Add driver and ensure that they are tried to be loaded.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"filesystems": {
|
||||
"description": "Kernel filesystem modules to exclusively include.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A kernel module without the .ko extension"
|
||||
}
|
||||
},
|
||||
"include": {
|
||||
"description": "Add custom files to the initramfs.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"description": "What (keys) to include where (values)"
|
||||
}
|
||||
},
|
||||
"install": {
|
||||
"description": "Install the specified files.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"early_microcode": {
|
||||
"description": "Combine early microcode with the initramfs.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"reproducible": {
|
||||
"description": "Create reproducible images.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"initoverlayfs": {
|
||||
"description": "Use initoverlayfs rather than initramfs, requires initoverlayfs rpm to be installed",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"extra": {
|
||||
"description": "Extra arguments to directly pass to dracut",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Individual extra arguments"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,74 +1,74 @@
|
|||
{
|
||||
"summary": "Create a file containing an erofs filesystem named `filename`.",
|
||||
"description": [
|
||||
"See https://en.wikipedia.org/wiki/EROFS for details about the",
|
||||
"filesystem.",
|
||||
"Buildhost commands used: `mkfs.erofs`"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Filename for the output",
|
||||
"type": "string"
|
||||
},
|
||||
"compression": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"description": "Compression method",
|
||||
"enum": [
|
||||
"lz4",
|
||||
"lz4hc",
|
||||
"lzma"
|
||||
]
|
||||
},
|
||||
"level": {
|
||||
"description": "Compression level. Note that different methods support different levels. See mkfs.erofs(1) for more details",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"description": "Extended options for the filesystem, see mkfs.erofs(1)",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items:": {
|
||||
"enum": [
|
||||
"all-fragments",
|
||||
"dedupe",
|
||||
"force-inode-compact",
|
||||
"force-inode-extended",
|
||||
"force-inode-blockmap",
|
||||
"force-chunk-indexes",
|
||||
"fragments",
|
||||
"noinline_data",
|
||||
"ztailpacking"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Create a file containing an erofs filesystem named `filename`.",
|
||||
"description": [
|
||||
"See https://en.wikipedia.org/wiki/EROFS for details about the",
|
||||
"filesystem.",
|
||||
"Buildhost commands used: `mkfs.erofs`"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Filename for the output",
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tree"
|
||||
],
|
||||
"properties": {
|
||||
"tree": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"compression": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"description": "Compression method",
|
||||
"enum": [
|
||||
"lz4",
|
||||
"lz4hc",
|
||||
"lzma"
|
||||
]
|
||||
},
|
||||
"level": {
|
||||
"description": "Compression level. Note that different methods support different levels. See mkfs.erofs(1) for more details",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"description": "Extended options for the filesystem, see mkfs.erofs(1)",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items:": {
|
||||
"enum": [
|
||||
"all-fragments",
|
||||
"dedupe",
|
||||
"force-inode-compact",
|
||||
"force-inode-extended",
|
||||
"force-inode-blockmap",
|
||||
"force-chunk-indexes",
|
||||
"fragments",
|
||||
"noinline_data",
|
||||
"ztailpacking"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tree"
|
||||
],
|
||||
"properties": {
|
||||
"tree": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"summary": "Return an error",
|
||||
"description": [
|
||||
"Error stage. Return the given error. Useful for testing, debugging, and",
|
||||
"wasting time."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"returncode": {
|
||||
"description": "What to return code to use",
|
||||
"type": "number",
|
||||
"default": 255
|
||||
}
|
||||
}
|
||||
"summary": "Return an error",
|
||||
"description": [
|
||||
"Error stage. Return the given error. Useful for testing, debugging, and",
|
||||
"wasting time."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"returncode": {
|
||||
"description": "What to return code to use",
|
||||
"type": "number",
|
||||
"default": 255
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,45 +1,45 @@
|
|||
{
|
||||
"summary": "Change OSTree configuration experimental options",
|
||||
"description": [
|
||||
"NOTE: This stage is experimental and subject to changes",
|
||||
"Change the configuration for an OSTree repository.",
|
||||
"Currently only the following values are supported:",
|
||||
" - `integrity.composefs`",
|
||||
"See `ostree.repo-config(5)` for more information."
|
||||
"summary": "Change OSTree configuration experimental options",
|
||||
"description": [
|
||||
"NOTE: This stage is experimental and subject to changes",
|
||||
"Change the configuration for an OSTree repository.",
|
||||
"Currently only the following values are supported:",
|
||||
" - `integrity.composefs`",
|
||||
"See `ostree.repo-config(5)` for more information."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"description": "OSTree configuration groups",
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "OSTree configuration groups",
|
||||
"properties": {
|
||||
"integrity": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Options concerning the sysroot",
|
||||
"properties": {
|
||||
"composefs": {
|
||||
"description": "Enable composefs image generation on deploy.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false",
|
||||
"maybe"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"integrity": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Options concerning the sysroot",
|
||||
"properties": {
|
||||
"composefs": {
|
||||
"description": "Enable composefs image generation on deploy.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false",
|
||||
"maybe"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
{
|
||||
"summary": "FDO initial DIUN certificates",
|
||||
"description": [
|
||||
"FDO stage to write down the initial DIUN pub key root certificates",
|
||||
"to be read by the manufacturer client",
|
||||
"This will create a '/fdo_diun_root_certs.pem' with content",
|
||||
"specified via the `rootcerts` input."
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rootcerts"
|
||||
],
|
||||
"properties": {
|
||||
"rootcerts": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false
|
||||
"summary": "FDO initial DIUN certificates",
|
||||
"description": [
|
||||
"FDO stage to write down the initial DIUN pub key root certificates",
|
||||
"to be read by the manufacturer client",
|
||||
"This will create a '/fdo_diun_root_certs.pem' with content",
|
||||
"specified via the `rootcerts` input."
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rootcerts"
|
||||
],
|
||||
"properties": {
|
||||
"rootcerts": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,85 +1,85 @@
|
|||
{
|
||||
"summary": "Configure firewall",
|
||||
"description": [
|
||||
"Configure firewalld using the `firewall-offline-cmd` from inside the target.",
|
||||
"This stage adds each of the given `ports` and `enabled_services` to the default",
|
||||
"firewall zone using the `--port` and `--service` options, then removes the",
|
||||
"services listed in `disabled_services` with `--remove-service`.",
|
||||
"Ports should be specified as \"portid:protocol\" or \"portid-portid:protocol\",",
|
||||
"where \"portid\" is a number (or a port name from `/etc/services`, like \"ssh\" or",
|
||||
"\"echo\") and \"protocol\" is one of \"tcp\", \"udp\", \"sctp\", or \"dccp\".",
|
||||
"Enabling or disabling a service that is already enabled or disabled will not",
|
||||
"cause an error.",
|
||||
"Attempting to enable/disable an unknown service name will cause this stage to",
|
||||
"fail. Known service names are determined by the contents of firewalld's",
|
||||
"configuration directories, usually `/{lib,etc}/firewalld/services/*.xml`, and",
|
||||
"may vary from release to release.",
|
||||
"WARNING: this stage uses `chroot` to run `firewall-offline-cmd` inside the",
|
||||
"target tree, which means it may fail unexpectedly when the buildhost and target",
|
||||
"are different arches or OSes."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"ports": {
|
||||
"description": "Ports (or port ranges) to open",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A port or port range: 'portid[-portid]:protocol'",
|
||||
"pattern": ".:(tcp|udp|sctp|dccp)$"
|
||||
}
|
||||
},
|
||||
"enabled_services": {
|
||||
"description": "Network services to allow in the default firewall zone",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Service name (from /{lib,etc}/firewalld/services/*.xml)"
|
||||
}
|
||||
},
|
||||
"disabled_services": {
|
||||
"description": "Network services to remove from the default firewall zone",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Service name (from /{lib,etc}/firewalld/services/*.xml)"
|
||||
}
|
||||
},
|
||||
"default_zone": {
|
||||
"description": "Set default zone for connections and interfaces where no zone has been selected.",
|
||||
"type": "string"
|
||||
},
|
||||
"zones": {
|
||||
"description": "Bind a list of network sources to a zone to restrict traffic from those sources based on the settings of the zone.",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "configuration for each zone",
|
||||
"required": [
|
||||
"name",
|
||||
"sources"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "name of the zone, if left empty the sources will apply to the default zone.",
|
||||
"pattern": "^[a-zA-Z0-9_-]+$"
|
||||
},
|
||||
"sources": {
|
||||
"type": "array",
|
||||
"description": "list of sources for the zone",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "string",
|
||||
"description": "A source: <source>[/<mask>]|<MAC>|ipset:<ipset>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Configure firewall",
|
||||
"description": [
|
||||
"Configure firewalld using the `firewall-offline-cmd` from inside the target.",
|
||||
"This stage adds each of the given `ports` and `enabled_services` to the default",
|
||||
"firewall zone using the `--port` and `--service` options, then removes the",
|
||||
"services listed in `disabled_services` with `--remove-service`.",
|
||||
"Ports should be specified as \"portid:protocol\" or \"portid-portid:protocol\",",
|
||||
"where \"portid\" is a number (or a port name from `/etc/services`, like \"ssh\" or",
|
||||
"\"echo\") and \"protocol\" is one of \"tcp\", \"udp\", \"sctp\", or \"dccp\".",
|
||||
"Enabling or disabling a service that is already enabled or disabled will not",
|
||||
"cause an error.",
|
||||
"Attempting to enable/disable an unknown service name will cause this stage to",
|
||||
"fail. Known service names are determined by the contents of firewalld's",
|
||||
"configuration directories, usually `/{lib,etc}/firewalld/services/*.xml`, and",
|
||||
"may vary from release to release.",
|
||||
"WARNING: this stage uses `chroot` to run `firewall-offline-cmd` inside the",
|
||||
"target tree, which means it may fail unexpectedly when the buildhost and target",
|
||||
"are different arches or OSes."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"ports": {
|
||||
"description": "Ports (or port ranges) to open",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "A port or port range: 'portid[-portid]:protocol'",
|
||||
"pattern": ".:(tcp|udp|sctp|dccp)$"
|
||||
}
|
||||
},
|
||||
"enabled_services": {
|
||||
"description": "Network services to allow in the default firewall zone",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Service name (from /{lib,etc}/firewalld/services/*.xml)"
|
||||
}
|
||||
},
|
||||
"disabled_services": {
|
||||
"description": "Network services to remove from the default firewall zone",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Service name (from /{lib,etc}/firewalld/services/*.xml)"
|
||||
}
|
||||
},
|
||||
"default_zone": {
|
||||
"description": "Set default zone for connections and interfaces where no zone has been selected.",
|
||||
"type": "string"
|
||||
},
|
||||
"zones": {
|
||||
"description": "Bind a list of network sources to a zone to restrict traffic from those sources based on the settings of the zone.",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "configuration for each zone",
|
||||
"required": [
|
||||
"name",
|
||||
"sources"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "name of the zone, if left empty the sources will apply to the default zone.",
|
||||
"pattern": "^[a-zA-Z0-9_-]+$"
|
||||
},
|
||||
"sources": {
|
||||
"type": "array",
|
||||
"description": "list of sources for the zone",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "string",
|
||||
"description": "A source: <source>[/<mask>]|<MAC>|ipset:<ipset>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"summary": "Execute commands on first-boot",
|
||||
"description": [
|
||||
"Sequentially execute a list of commands on first-boot / instantiation.",
|
||||
"This stage uses a logic similar to systemd's first-boot to execute a given",
|
||||
"script only the first time the image is booted.",
|
||||
"An empty flag file /etc/osbuild-first-boot is written to /etc and a systemd",
|
||||
"service is enabled that is only run when the file exits, and will remove it",
|
||||
"before executing the given commands.",
|
||||
"If the flag-file cannot be removed, the service fails without executing",
|
||||
"any further first-boot commands."
|
||||
"summary": "Execute commands on first-boot",
|
||||
"description": [
|
||||
"Sequentially execute a list of commands on first-boot / instantiation.",
|
||||
"This stage uses a logic similar to systemd's first-boot to execute a given",
|
||||
"script only the first time the image is booted.",
|
||||
"An empty flag file /etc/osbuild-first-boot is written to /etc and a systemd",
|
||||
"service is enabled that is only run when the file exits, and will remove it",
|
||||
"before executing the given commands.",
|
||||
"If the flag-file cannot be removed, the service fails without executing",
|
||||
"any further first-boot commands."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commands"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commands"
|
||||
],
|
||||
"properties": {
|
||||
"commands": {
|
||||
"type": "array",
|
||||
"description": "The command lines to execute",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"wait_for_network": {
|
||||
"type": "boolean",
|
||||
"description": "Wait for the network to be up before executing",
|
||||
"default": false
|
||||
}
|
||||
"properties": {
|
||||
"commands": {
|
||||
"type": "array",
|
||||
"description": "The command lines to execute",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"wait_for_network": {
|
||||
"type": "boolean",
|
||||
"description": "Wait for the network to be up before executing",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
{
|
||||
"summary": "Fix paths in /boot/loader/entries",
|
||||
"description": [
|
||||
"Fixes paths in /boot/loader/entries that have incorrect paths for /boot.",
|
||||
"This happens because some boot loader config tools (e.g. grub2-mkrelpath)",
|
||||
"examine /proc/self/mountinfo to find the \"real\" path to /boot, and find the",
|
||||
"path to the osbuild tree - which won't be valid at boot time for this image.",
|
||||
"The paths in the Bootloader Specification are relative to the partition",
|
||||
"they are located on, i.e. `/boot/loader/...` if `/boot` is on the root",
|
||||
"file-system partition. If `/boot` is on a separate partition, the correct",
|
||||
"path would be `/loader/.../` The `prefix` can be used to adjust for that.",
|
||||
"By default it is `/boot`, i.e. assumes `/boot` is on the root file-system.",
|
||||
"This stage reads and (re)writes all .conf files in /boot/loader/entries."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"prefix": {
|
||||
"description": "Prefix to use, normally `/boot`",
|
||||
"type": "string",
|
||||
"default": "/boot"
|
||||
}
|
||||
}
|
||||
"summary": "Fix paths in /boot/loader/entries",
|
||||
"description": [
|
||||
"Fixes paths in /boot/loader/entries that have incorrect paths for /boot.",
|
||||
"This happens because some boot loader config tools (e.g. grub2-mkrelpath)",
|
||||
"examine /proc/self/mountinfo to find the \"real\" path to /boot, and find the",
|
||||
"path to the osbuild tree - which won't be valid at boot time for this image.",
|
||||
"The paths in the Bootloader Specification are relative to the partition",
|
||||
"they are located on, i.e. `/boot/loader/...` if `/boot` is on the root",
|
||||
"file-system partition. If `/boot` is on a separate partition, the correct",
|
||||
"path would be `/loader/.../` The `prefix` can be used to adjust for that.",
|
||||
"By default it is `/boot`, i.e. assumes `/boot` is on the root file-system.",
|
||||
"This stage reads and (re)writes all .conf files in /boot/loader/entries."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"prefix": {
|
||||
"description": "Prefix to use, normally `/boot`",
|
||||
"type": "string",
|
||||
"default": "/boot"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,169 +1,169 @@
|
|||
{
|
||||
"summary": "Create /etc/fstab entries for filesystems",
|
||||
"description": [
|
||||
"Each filesystem item must have at least the fs_spec, i.e `uuid`,",
|
||||
"`label`, `partlabel` or `device` and a `path` (mount point).",
|
||||
"This stage replaces /etc/fstab, removing any existing entries.",
|
||||
"NB: The ostree configuration options are experimental and might",
|
||||
"be replaced with a different mechanism in the near future."
|
||||
"summary": "Create /etc/fstab entries for filesystems",
|
||||
"description": [
|
||||
"Each filesystem item must have at least the fs_spec, i.e `uuid`,",
|
||||
"`label`, `partlabel` or `device` and a `path` (mount point).",
|
||||
"This stage replaces /etc/fstab, removing any existing entries.",
|
||||
"NB: The ostree configuration options are experimental and might",
|
||||
"be replaced with a different mechanism in the near future."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filesystems"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"ostree": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filesystems"
|
||||
"deployment"
|
||||
],
|
||||
"properties": {
|
||||
"ostree": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
],
|
||||
"deployment": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"filesystems": {
|
||||
"type": "array",
|
||||
"description": "array of filesystem objects",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"device",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"uuid",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"label",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"partlabel",
|
||||
"path"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"description": "Device node",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "Filesystem UUID",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Filesystem label",
|
||||
"type": "string"
|
||||
},
|
||||
"partlabel": {
|
||||
"description": "Partition label.",
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"description": "Filesystem mountpoint",
|
||||
"type": "string"
|
||||
},
|
||||
"vfs_type": {
|
||||
"description": "Filesystem type",
|
||||
"type": "string",
|
||||
"default": "none"
|
||||
},
|
||||
"options": {
|
||||
"description": "Filesystem options (comma-separated)",
|
||||
"type": "string",
|
||||
"default": "defaults"
|
||||
},
|
||||
"freq": {
|
||||
"description": "dump(8) period in days",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"passno": {
|
||||
"description": "pass number on parallel fsck(8)",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
}
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"filesystems": {
|
||||
"type": "array",
|
||||
"description": "array of filesystem objects",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"device",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"uuid",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"label",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"partlabel",
|
||||
"path"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"description": "Device node",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "Filesystem UUID",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Filesystem label",
|
||||
"type": "string"
|
||||
},
|
||||
"partlabel": {
|
||||
"description": "Partition label.",
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"description": "Filesystem mountpoint",
|
||||
"type": "string"
|
||||
},
|
||||
"vfs_type": {
|
||||
"description": "Filesystem type",
|
||||
"type": "string",
|
||||
"default": "none"
|
||||
},
|
||||
"options": {
|
||||
"description": "Filesystem options (comma-separated)",
|
||||
"type": "string",
|
||||
"default": "defaults"
|
||||
},
|
||||
"freq": {
|
||||
"description": "dump(8) period in days",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"passno": {
|
||||
"description": "pass number on parallel fsck(8)",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,213 +1,213 @@
|
|||
{
|
||||
"summary": "Create or modify the GCP guest-agent config",
|
||||
"description": [
|
||||
"Create or modify the GCP guest-agent config, depending on the",
|
||||
"scope either at:",
|
||||
" /etc/default/instance_configs.cfg.distro or",
|
||||
" /etc/default/instance_configs.cfg",
|
||||
"Configuration sections and options may contain any of these values:",
|
||||
"https://github.com/GoogleCloudPlatform/guest-agent#configuration"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"Accounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Accounts section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"deprovision_remove": {
|
||||
"type": "boolean",
|
||||
"description": "Makes deprovisioning a user destructive."
|
||||
},
|
||||
"groups": {
|
||||
"type": "array",
|
||||
"description": "List of groups for newly provisioned users."
|
||||
},
|
||||
"useradd_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to create a new user."
|
||||
},
|
||||
"userdel_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to delete a user."
|
||||
},
|
||||
"usermod_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to modify a user's groups."
|
||||
},
|
||||
"gpasswd_add_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to add a user to a group."
|
||||
},
|
||||
"gpasswd_remove_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to remove a user from a group."
|
||||
},
|
||||
"groupadd_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to create a new group."
|
||||
}
|
||||
}
|
||||
},
|
||||
"Daemons": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Daemons section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"accounts_daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Disables the accounts daemon."
|
||||
},
|
||||
"clock_skew_daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Disables the clock skew daemon."
|
||||
},
|
||||
"network_daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Disables the network daemon."
|
||||
}
|
||||
}
|
||||
},
|
||||
"InstanceSetup": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "InstanceSetup section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"host_key_types": {
|
||||
"type": "array",
|
||||
"description": "List of host key types to generate."
|
||||
},
|
||||
"optimize_local_ssd": {
|
||||
"type": "boolean",
|
||||
"description": "Prevents optimizing for local SSD."
|
||||
},
|
||||
"network_enabled": {
|
||||
"type": "boolean",
|
||||
"description": "Skips instance setup functions that require metadata."
|
||||
},
|
||||
"set_boto_config": {
|
||||
"type": "boolean",
|
||||
"description": "Skip setting up a boto config."
|
||||
},
|
||||
"set_host_keys": {
|
||||
"type": "boolean",
|
||||
"description": "Skips generating host keys on first boot."
|
||||
},
|
||||
"set_multiqueue": {
|
||||
"type": "boolean",
|
||||
"description": "Skips multiqueue driver support."
|
||||
}
|
||||
}
|
||||
},
|
||||
"IpForwarding": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "IpForwarding section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"ethernet_proto_id": {
|
||||
"type": "string",
|
||||
"description": "Protocol ID string for daemon added routes."
|
||||
},
|
||||
"ip_aliases": {
|
||||
"type": "boolean",
|
||||
"description": "Disables setting up alias IP routes."
|
||||
},
|
||||
"target_instance_ips": {
|
||||
"type": "boolean",
|
||||
"description": "Disables internal IP address load balancing."
|
||||
}
|
||||
}
|
||||
},
|
||||
"MetadataScripts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "MetadataScripts section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"default_shell": {
|
||||
"type": "string",
|
||||
"description": "String with the default shell to execute scripts."
|
||||
},
|
||||
"run_dir": {
|
||||
"type": "string",
|
||||
"description": "String base directory where metadata scripts are executed."
|
||||
},
|
||||
"startup": {
|
||||
"type": "boolean",
|
||||
"description": "Disables startup script execution."
|
||||
},
|
||||
"shutdown": {
|
||||
"type": "boolean",
|
||||
"description": "Disables shutdown script execution."
|
||||
}
|
||||
}
|
||||
},
|
||||
"NetworkInterfaces": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "NetworkInterfaces section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"setup": {
|
||||
"type": "boolean",
|
||||
"description": "Skips network interface setup."
|
||||
},
|
||||
"ip_forwarding": {
|
||||
"type": "boolean",
|
||||
"description": "Skips IP forwarding."
|
||||
},
|
||||
"dhcp_command": {
|
||||
"type": "string",
|
||||
"description": "Path for alternate dhcp executable used to enable network interfaces."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Create or modify the GCP guest-agent config",
|
||||
"description": [
|
||||
"Create or modify the GCP guest-agent config, depending on the",
|
||||
"scope either at:",
|
||||
" /etc/default/instance_configs.cfg.distro or",
|
||||
" /etc/default/instance_configs.cfg",
|
||||
"Configuration sections and options may contain any of these values:",
|
||||
"https://github.com/GoogleCloudPlatform/guest-agent#configuration"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"Accounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"description": "Configure GCP guest-agent.",
|
||||
"description": "Accounts section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"config_scope": {
|
||||
"type": "string",
|
||||
"description": "Create distro-wide or instance-specific configuration.",
|
||||
"enum": [
|
||||
"distro",
|
||||
"instance"
|
||||
],
|
||||
"default": "distro"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "GCP guest-agent configuration.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"Accounts": {
|
||||
"$ref": "#/definitions/Accounts"
|
||||
},
|
||||
"Daemons": {
|
||||
"$ref": "#/definitions/Daemons"
|
||||
},
|
||||
"InstanceSetup": {
|
||||
"$ref": "#/definitions/InstanceSetup"
|
||||
},
|
||||
"IpForwarding": {
|
||||
"$ref": "#/definitions/IpForwarding"
|
||||
},
|
||||
"MetadataScripts": {
|
||||
"$ref": "#/definitions/MetadataScripts"
|
||||
},
|
||||
"NetworkInterfaces": {
|
||||
"$ref": "#/definitions/NetworkInterfaces"
|
||||
}
|
||||
}
|
||||
}
|
||||
"deprovision_remove": {
|
||||
"type": "boolean",
|
||||
"description": "Makes deprovisioning a user destructive."
|
||||
},
|
||||
"groups": {
|
||||
"type": "array",
|
||||
"description": "List of groups for newly provisioned users."
|
||||
},
|
||||
"useradd_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to create a new user."
|
||||
},
|
||||
"userdel_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to delete a user."
|
||||
},
|
||||
"usermod_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to modify a user's groups."
|
||||
},
|
||||
"gpasswd_add_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to add a user to a group."
|
||||
},
|
||||
"gpasswd_remove_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to remove a user from a group."
|
||||
},
|
||||
"groupadd_cmd": {
|
||||
"type": "string",
|
||||
"description": "Command string to create a new group."
|
||||
}
|
||||
}
|
||||
},
|
||||
"Daemons": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Daemons section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"accounts_daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Disables the accounts daemon."
|
||||
},
|
||||
"clock_skew_daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Disables the clock skew daemon."
|
||||
},
|
||||
"network_daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Disables the network daemon."
|
||||
}
|
||||
}
|
||||
},
|
||||
"InstanceSetup": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "InstanceSetup section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"host_key_types": {
|
||||
"type": "array",
|
||||
"description": "List of host key types to generate."
|
||||
},
|
||||
"optimize_local_ssd": {
|
||||
"type": "boolean",
|
||||
"description": "Prevents optimizing for local SSD."
|
||||
},
|
||||
"network_enabled": {
|
||||
"type": "boolean",
|
||||
"description": "Skips instance setup functions that require metadata."
|
||||
},
|
||||
"set_boto_config": {
|
||||
"type": "boolean",
|
||||
"description": "Skip setting up a boto config."
|
||||
},
|
||||
"set_host_keys": {
|
||||
"type": "boolean",
|
||||
"description": "Skips generating host keys on first boot."
|
||||
},
|
||||
"set_multiqueue": {
|
||||
"type": "boolean",
|
||||
"description": "Skips multiqueue driver support."
|
||||
}
|
||||
}
|
||||
},
|
||||
"IpForwarding": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "IpForwarding section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"ethernet_proto_id": {
|
||||
"type": "string",
|
||||
"description": "Protocol ID string for daemon added routes."
|
||||
},
|
||||
"ip_aliases": {
|
||||
"type": "boolean",
|
||||
"description": "Disables setting up alias IP routes."
|
||||
},
|
||||
"target_instance_ips": {
|
||||
"type": "boolean",
|
||||
"description": "Disables internal IP address load balancing."
|
||||
}
|
||||
}
|
||||
},
|
||||
"MetadataScripts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "MetadataScripts section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"default_shell": {
|
||||
"type": "string",
|
||||
"description": "String with the default shell to execute scripts."
|
||||
},
|
||||
"run_dir": {
|
||||
"type": "string",
|
||||
"description": "String base directory where metadata scripts are executed."
|
||||
},
|
||||
"startup": {
|
||||
"type": "boolean",
|
||||
"description": "Disables startup script execution."
|
||||
},
|
||||
"shutdown": {
|
||||
"type": "boolean",
|
||||
"description": "Disables shutdown script execution."
|
||||
}
|
||||
}
|
||||
},
|
||||
"NetworkInterfaces": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "NetworkInterfaces section.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"setup": {
|
||||
"type": "boolean",
|
||||
"description": "Skips network interface setup."
|
||||
},
|
||||
"ip_forwarding": {
|
||||
"type": "boolean",
|
||||
"description": "Skips IP forwarding."
|
||||
},
|
||||
"dhcp_command": {
|
||||
"type": "string",
|
||||
"description": "Path for alternate dhcp executable used to enable network interfaces."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"description": "Configure GCP guest-agent.",
|
||||
"properties": {
|
||||
"config_scope": {
|
||||
"type": "string",
|
||||
"description": "Create distro-wide or instance-specific configuration.",
|
||||
"enum": [
|
||||
"distro",
|
||||
"instance"
|
||||
],
|
||||
"default": "distro"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "GCP guest-agent configuration.",
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"Accounts": {
|
||||
"$ref": "#/definitions/Accounts"
|
||||
},
|
||||
"Daemons": {
|
||||
"$ref": "#/definitions/Daemons"
|
||||
},
|
||||
"InstanceSetup": {
|
||||
"$ref": "#/definitions/InstanceSetup"
|
||||
},
|
||||
"IpForwarding": {
|
||||
"$ref": "#/definitions/IpForwarding"
|
||||
},
|
||||
"MetadataScripts": {
|
||||
"$ref": "#/definitions/MetadataScripts"
|
||||
},
|
||||
"NetworkInterfaces": {
|
||||
"$ref": "#/definitions/NetworkInterfaces"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
{
|
||||
"summary": "Configure greenboot",
|
||||
"description": [
|
||||
"Update configuration of greenboot in /etc/greenboot/greenbot.conf."
|
||||
"summary": "Configure greenboot",
|
||||
"description": [
|
||||
"Update configuration of greenboot in /etc/greenboot/greenbot.conf."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"description": "greenboot config options",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"description": "greenboot config options",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"monitor_services": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
"monitor_services": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,30 @@
|
|||
{
|
||||
"summary": "Create group accounts",
|
||||
"description": [
|
||||
"Create group accounts, optionally assigning them static GIDs.",
|
||||
"Runs `groupadd` from the buildhost to create the groups listed in `groups`.",
|
||||
"If no `gid` is given, `groupadd` will choose one.",
|
||||
"If the specified group name or GID is already in use, this stage will fail."
|
||||
],
|
||||
"schema": {
|
||||
"summary": "Create group accounts",
|
||||
"description": [
|
||||
"Create group accounts, optionally assigning them static GIDs.",
|
||||
"Runs `groupadd` from the buildhost to create the groups listed in `groups`.",
|
||||
"If no `gid` is given, `groupadd` will choose one.",
|
||||
"If the specified group name or GID is already in use, this stage will fail."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"groups": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"groups": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Keys are group names, values are objects with group info",
|
||||
"patternProperties": {
|
||||
"^[A-Za-z0-9_][A-Za-z0-9_-]{0,31}$": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"gid": {
|
||||
"type": "number",
|
||||
"description": "GID for this group"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"description": "Keys are group names, values are objects with group info",
|
||||
"patternProperties": {
|
||||
"^[A-Za-z0-9_][A-Za-z0-9_-]{0,31}$": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"gid": {
|
||||
"type": "number",
|
||||
"description": "GID for this group"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,151 +1,151 @@
|
|||
{
|
||||
"summary": "Install the grub2 boot loader for non-UEFI systems or hybrid boot",
|
||||
"description": [
|
||||
"This stage can be used to generate a grub2 core image and install",
|
||||
"it to the correct location to enable booting of non-UEFI systems,",
|
||||
"i.e. x86 legacy and PPC64LE (Open Firmware).",
|
||||
"On x86, the core image can be installed into the MBR gap or to a",
|
||||
"dedicated BIOS boot partition when the partition label is GTP. On",
|
||||
"ppc64le with Open Firmware a dedicated 'PrEP partition' is used.",
|
||||
"x86 / MBR gap:",
|
||||
" For historic and performance reasons the first partition",
|
||||
" is aligned to a specific sector number (used to be 64,",
|
||||
" now it is 2048), which leaves a gap between it and the MBR,",
|
||||
" where the core image can be embedded in",
|
||||
"x86 / BIOS boot:",
|
||||
" A dedicated partition with a specific GUID[1] is used.",
|
||||
"ppc64le / Open Firmware:",
|
||||
" A dedicated partition with a specified GUID[2] is used.",
|
||||
" On ppc64le with Open Firmware a special partition called",
|
||||
" 'PrEP partition' is used the store the grub2 core; the",
|
||||
" firmware looks for this partition and directly loads and",
|
||||
" executes the core form it.",
|
||||
"On x86, a \"boot image\", aka grub stage 1, is installed into the",
|
||||
"master boot record (MBR) of the partition (even in the case the",
|
||||
"partition layout is GPT). It main purpose is to load the second",
|
||||
"stage (core image). Therefore the location of the core image is",
|
||||
"patched into the boot image.",
|
||||
"On ppc64le, the firmware itself directly loads the complete core",
|
||||
"image and transfers control to it.",
|
||||
"[1] 21686148-6449-6E6F-744E-656564454649",
|
||||
"[2] 9E1A2D38-C612-4316-AA26-8B49521E5A8B"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"core-mkimage": {
|
||||
"type": "object",
|
||||
"description": "Generate the core image via grub-mkimage",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"type",
|
||||
"partlabel",
|
||||
"filesystem"
|
||||
],
|
||||
"properties": {
|
||||
"type": {
|
||||
"enum": [
|
||||
"mkimage"
|
||||
]
|
||||
},
|
||||
"partlabel": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"gpt",
|
||||
"dos"
|
||||
]
|
||||
},
|
||||
"filesystem": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ext4",
|
||||
"xfs",
|
||||
"btrfs"
|
||||
]
|
||||
},
|
||||
"binary": {
|
||||
"description": "grub-mkimage binary name",
|
||||
"type": "string",
|
||||
"default": "grub2-mkimage"
|
||||
}
|
||||
}
|
||||
},
|
||||
"prefix-partition": {
|
||||
"type": "object",
|
||||
"description": "Grub2 config on a specific partition, e.g. (,gpt3)/boot",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"type",
|
||||
"partlabel",
|
||||
"number",
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"type": {
|
||||
"enum": [
|
||||
"partition"
|
||||
]
|
||||
},
|
||||
"partlabel": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"gpt",
|
||||
"dos"
|
||||
]
|
||||
},
|
||||
"number": {
|
||||
"description": "The partition number, starting at zero",
|
||||
"type": "number"
|
||||
},
|
||||
"path": {
|
||||
"description": "location of grub config inside the partition",
|
||||
"type": "string",
|
||||
"pattern": "/.*"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Install the grub2 boot loader for non-UEFI systems or hybrid boot",
|
||||
"description": [
|
||||
"This stage can be used to generate a grub2 core image and install",
|
||||
"it to the correct location to enable booting of non-UEFI systems,",
|
||||
"i.e. x86 legacy and PPC64LE (Open Firmware).",
|
||||
"On x86, the core image can be installed into the MBR gap or to a",
|
||||
"dedicated BIOS boot partition when the partition label is GTP. On",
|
||||
"ppc64le with Open Firmware a dedicated 'PrEP partition' is used.",
|
||||
"x86 / MBR gap:",
|
||||
" For historic and performance reasons the first partition",
|
||||
" is aligned to a specific sector number (used to be 64,",
|
||||
" now it is 2048), which leaves a gap between it and the MBR,",
|
||||
" where the core image can be embedded in",
|
||||
"x86 / BIOS boot:",
|
||||
" A dedicated partition with a specific GUID[1] is used.",
|
||||
"ppc64le / Open Firmware:",
|
||||
" A dedicated partition with a specified GUID[2] is used.",
|
||||
" On ppc64le with Open Firmware a special partition called",
|
||||
" 'PrEP partition' is used the store the grub2 core; the",
|
||||
" firmware looks for this partition and directly loads and",
|
||||
" executes the core form it.",
|
||||
"On x86, a \"boot image\", aka grub stage 1, is installed into the",
|
||||
"master boot record (MBR) of the partition (even in the case the",
|
||||
"partition layout is GPT). It main purpose is to load the second",
|
||||
"stage (core image). Therefore the location of the core image is",
|
||||
"patched into the boot image.",
|
||||
"On ppc64le, the firmware itself directly loads the complete core",
|
||||
"image and transfers control to it.",
|
||||
"[1] 21686148-6449-6E6F-744E-656564454649",
|
||||
"[2] 9E1A2D38-C612-4316-AA26-8B49521E5A8B"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"core-mkimage": {
|
||||
"type": "object",
|
||||
"description": "Generate the core image via grub-mkimage",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename",
|
||||
"platform",
|
||||
"location",
|
||||
"core",
|
||||
"prefix"
|
||||
"type",
|
||||
"partlabel",
|
||||
"filesystem"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "filename of the disk image"
|
||||
},
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Platform of the target system"
|
||||
},
|
||||
"location": {
|
||||
"type": "integer",
|
||||
"description": "Location of the stage 2 (in sectors)"
|
||||
},
|
||||
"core": {
|
||||
"description": "How to obtain the GRUB core image",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/core-mkimage"
|
||||
}
|
||||
]
|
||||
},
|
||||
"prefix": {
|
||||
"description": "location of grub config",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/prefix-partition"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sector-size": {
|
||||
"type": "number",
|
||||
"description": "Sector size (in bytes)",
|
||||
"default": 512
|
||||
}
|
||||
"type": {
|
||||
"enum": [
|
||||
"mkimage"
|
||||
]
|
||||
},
|
||||
"partlabel": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"gpt",
|
||||
"dos"
|
||||
]
|
||||
},
|
||||
"filesystem": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ext4",
|
||||
"xfs",
|
||||
"btrfs"
|
||||
]
|
||||
},
|
||||
"binary": {
|
||||
"description": "grub-mkimage binary name",
|
||||
"type": "string",
|
||||
"default": "grub2-mkimage"
|
||||
}
|
||||
}
|
||||
},
|
||||
"prefix-partition": {
|
||||
"type": "object",
|
||||
"description": "Grub2 config on a specific partition, e.g. (,gpt3)/boot",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"type",
|
||||
"partlabel",
|
||||
"number",
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"type": {
|
||||
"enum": [
|
||||
"partition"
|
||||
]
|
||||
},
|
||||
"partlabel": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"gpt",
|
||||
"dos"
|
||||
]
|
||||
},
|
||||
"number": {
|
||||
"description": "The partition number, starting at zero",
|
||||
"type": "number"
|
||||
},
|
||||
"path": {
|
||||
"description": "location of grub config inside the partition",
|
||||
"type": "string",
|
||||
"pattern": "/.*"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename",
|
||||
"platform",
|
||||
"location",
|
||||
"core",
|
||||
"prefix"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "filename of the disk image"
|
||||
},
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Platform of the target system"
|
||||
},
|
||||
"location": {
|
||||
"type": "integer",
|
||||
"description": "Location of the stage 2 (in sectors)"
|
||||
},
|
||||
"core": {
|
||||
"description": "How to obtain the GRUB core image",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/core-mkimage"
|
||||
}
|
||||
]
|
||||
},
|
||||
"prefix": {
|
||||
"description": "location of grub config",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/prefix-partition"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sector-size": {
|
||||
"type": "number",
|
||||
"description": "Sector size (in bytes)",
|
||||
"default": 512
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,75 +1,75 @@
|
|||
{
|
||||
"summary": "Create a boot filesystem tree, can be consumed to create\nan efiboot.img.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"product",
|
||||
"kernel",
|
||||
"isolabel"
|
||||
],
|
||||
"properties": {
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"dir"
|
||||
],
|
||||
"properties": {
|
||||
"dir": {
|
||||
"type": "string"
|
||||
},
|
||||
"opts": {
|
||||
"description": "Array of group names for this user",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"isolabel": {
|
||||
"type": "string"
|
||||
},
|
||||
"architectures": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"vendor": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"description": "Configuration options for grub itself",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"timeout": {
|
||||
"description": "Timeout in seconds",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 60
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Create a boot filesystem tree, can be consumed to create\nan efiboot.img.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"product",
|
||||
"kernel",
|
||||
"isolabel"
|
||||
],
|
||||
"properties": {
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"dir"
|
||||
],
|
||||
"properties": {
|
||||
"dir": {
|
||||
"type": "string"
|
||||
},
|
||||
"opts": {
|
||||
"description": "Array of group names for this user",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"isolabel": {
|
||||
"type": "string"
|
||||
},
|
||||
"architectures": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"vendor": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"description": "Configuration options for grub itself",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"timeout": {
|
||||
"description": "Timeout in seconds",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 60
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,261 +1,261 @@
|
|||
{
|
||||
"summary": "Configure GRUB2 bootloader and set boot options (legacy, i.e. non-BLS)",
|
||||
"description": [
|
||||
"This stage creates traditional menu entries for systems that are not",
|
||||
"capable of using the Booloader Specific (BLS).",
|
||||
"Sets the GRUB2 boot/root filesystem to `rootfs`. If a separated boot",
|
||||
"partition is used it can be specified via `bootfs`. The file-systems",
|
||||
"can be identified either via",
|
||||
" - uuid (`{\"uuid\": \"<uuid>\"}`)",
|
||||
" - label (`{\"label\": \"<label>\"}`)",
|
||||
" - device (`{\"device\": \"<device>\"}`, only for the root file system)",
|
||||
"The kernel boot argument will be composed of the root file system id",
|
||||
"and additional options specified in `config.cmdline`, if any.",
|
||||
"This stage will overwrite `/etc/default/grub`, `/boot/grub2/grubenv`;",
|
||||
"leading directories will be created if not present.",
|
||||
"The stage supports configuring grub for BIOS boot and UEFI systems:",
|
||||
"If BIOS boot support is requested via `bios` this stage will also",
|
||||
"overwrite `/boot/grub2/grub.cfg` and will copy the GRUB2 files from the",
|
||||
"buildhost into the target tree:",
|
||||
"* `/usr/share/grub/unicode.pf2` -> `/boot/grub2/fonts/`",
|
||||
"* `/usr/lib/grub/$platform/*.{mod,lst}` -> `/boot/grub2/$platform/`",
|
||||
" * NOTE: skips `fdt.lst`, which is an empty file",
|
||||
"NB: with bios support enabled, this stage will fail if the buildhost",
|
||||
"doesn't have `/usr/lib/grub/$platform/` and `/usr/share/grub/unicode.pf2`.",
|
||||
"If UEFI support is enabled via `uefi: {\"vendor\": \"<vendor>\"}` this stage will",
|
||||
"also write the `grub.cfg` to `boot/efi/EFI/<vendor>/grub.cfg`. EFI binaries",
|
||||
"and accompanying data can be installed from the built root via `uefi.install`.",
|
||||
"Both UEFI and Legacy can be specified at the same time (hybrid boot)."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"filesystem": {
|
||||
"description": "Description of how to locate a file system",
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"uuid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"label"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"device"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"description": "Identify the file system by device node",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Identify the file system by label",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "Identify the file system by UUID",
|
||||
"type": "string",
|
||||
"oneOf": [
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$",
|
||||
"examples": [
|
||||
"9c6ae55b-cf88-45b8-84e8-64990759f39d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{4}-[0-9A-Za-z]{4}$",
|
||||
"examples": [
|
||||
"6699-AFB5"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"terminal": {
|
||||
"description": "Terminal device",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rootfs",
|
||||
"entries"
|
||||
],
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"bios"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"uefi"
|
||||
]
|
||||
}
|
||||
"summary": "Configure GRUB2 bootloader and set boot options (legacy, i.e. non-BLS)",
|
||||
"description": [
|
||||
"This stage creates traditional menu entries for systems that are not",
|
||||
"capable of using the Booloader Specific (BLS).",
|
||||
"Sets the GRUB2 boot/root filesystem to `rootfs`. If a separated boot",
|
||||
"partition is used it can be specified via `bootfs`. The file-systems",
|
||||
"can be identified either via",
|
||||
" - uuid (`{\"uuid\": \"<uuid>\"}`)",
|
||||
" - label (`{\"label\": \"<label>\"}`)",
|
||||
" - device (`{\"device\": \"<device>\"}`, only for the root file system)",
|
||||
"The kernel boot argument will be composed of the root file system id",
|
||||
"and additional options specified in `config.cmdline`, if any.",
|
||||
"This stage will overwrite `/etc/default/grub`, `/boot/grub2/grubenv`;",
|
||||
"leading directories will be created if not present.",
|
||||
"The stage supports configuring grub for BIOS boot and UEFI systems:",
|
||||
"If BIOS boot support is requested via `bios` this stage will also",
|
||||
"overwrite `/boot/grub2/grub.cfg` and will copy the GRUB2 files from the",
|
||||
"buildhost into the target tree:",
|
||||
"* `/usr/share/grub/unicode.pf2` -> `/boot/grub2/fonts/`",
|
||||
"* `/usr/lib/grub/$platform/*.{mod,lst}` -> `/boot/grub2/$platform/`",
|
||||
" * NOTE: skips `fdt.lst`, which is an empty file",
|
||||
"NB: with bios support enabled, this stage will fail if the buildhost",
|
||||
"doesn't have `/usr/lib/grub/$platform/` and `/usr/share/grub/unicode.pf2`.",
|
||||
"If UEFI support is enabled via `uefi: {\"vendor\": \"<vendor>\"}` this stage will",
|
||||
"also write the `grub.cfg` to `boot/efi/EFI/<vendor>/grub.cfg`. EFI binaries",
|
||||
"and accompanying data can be installed from the built root via `uefi.install`.",
|
||||
"Both UEFI and Legacy can be specified at the same time (hybrid boot)."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"filesystem": {
|
||||
"description": "Description of how to locate a file system",
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"uuid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"label"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"device"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"rootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"bootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"bios": {
|
||||
"description": "Include bios boot support",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"platform"
|
||||
],
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"i386-pc",
|
||||
"powerpc-ieee1275"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"uefi": {
|
||||
"description": "Include UEFI boot support",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"vendor"
|
||||
],
|
||||
"properties": {
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"description": "The vendor of the UEFI binaries (this is us)",
|
||||
"examples": [
|
||||
"fedora"
|
||||
],
|
||||
"pattern": "^(.+)$"
|
||||
},
|
||||
"install": {
|
||||
"description": "Install EFI binaries and data from the build root",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"write_defaults": {
|
||||
"description": "Whether to write /etc/defaults/grub",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"entries": {
|
||||
"description": "List of entries to add to the boot menu",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"product",
|
||||
"kernel"
|
||||
],
|
||||
"properties": {
|
||||
"default": {
|
||||
"type": "boolean",
|
||||
"description": "Make this entry the default entry"
|
||||
},
|
||||
"id": {
|
||||
"description": "UUID for the entry (grub uses the root fs uuid)",
|
||||
"type": "string"
|
||||
},
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"nick": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel": {
|
||||
"description": "The kernel (EVRA)",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"description": "Configuration options for grub itself",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"cmdline": {
|
||||
"description": "Additional kernel command line options",
|
||||
"type": "string"
|
||||
},
|
||||
"default": {
|
||||
"description": "Default boot entry",
|
||||
"type": "string",
|
||||
"default": "saved"
|
||||
},
|
||||
"disable_recovery": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"disable_submenu": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"distributor": {
|
||||
"description": "Name of the distributor",
|
||||
"type": "string"
|
||||
},
|
||||
"terminal": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_input": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_output": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"timeout": {
|
||||
"description": "Timeout in seconds",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
"timeout_style": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"hidden",
|
||||
"menu",
|
||||
"countdown"
|
||||
],
|
||||
"default": "countdown"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The command to configure the serial console",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
"device": {
|
||||
"description": "Identify the file system by device node",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Identify the file system by label",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "Identify the file system by UUID",
|
||||
"type": "string",
|
||||
"oneOf": [
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$",
|
||||
"examples": [
|
||||
"9c6ae55b-cf88-45b8-84e8-64990759f39d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{4}-[0-9A-Za-z]{4}$",
|
||||
"examples": [
|
||||
"6699-AFB5"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"terminal": {
|
||||
"description": "Terminal device",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"rootfs",
|
||||
"entries"
|
||||
],
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"bios"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"uefi"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"rootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"bootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"bios": {
|
||||
"description": "Include bios boot support",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"platform"
|
||||
],
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"i386-pc",
|
||||
"powerpc-ieee1275"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"uefi": {
|
||||
"description": "Include UEFI boot support",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"vendor"
|
||||
],
|
||||
"properties": {
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"description": "The vendor of the UEFI binaries (this is us)",
|
||||
"examples": [
|
||||
"fedora"
|
||||
],
|
||||
"pattern": "^(.+)$"
|
||||
},
|
||||
"install": {
|
||||
"description": "Install EFI binaries and data from the build root",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"write_defaults": {
|
||||
"description": "Whether to write /etc/defaults/grub",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"entries": {
|
||||
"description": "List of entries to add to the boot menu",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"product",
|
||||
"kernel"
|
||||
],
|
||||
"properties": {
|
||||
"default": {
|
||||
"type": "boolean",
|
||||
"description": "Make this entry the default entry"
|
||||
},
|
||||
"id": {
|
||||
"description": "UUID for the entry (grub uses the root fs uuid)",
|
||||
"type": "string"
|
||||
},
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"nick": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel": {
|
||||
"description": "The kernel (EVRA)",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"description": "Configuration options for grub itself",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"cmdline": {
|
||||
"description": "Additional kernel command line options",
|
||||
"type": "string"
|
||||
},
|
||||
"default": {
|
||||
"description": "Default boot entry",
|
||||
"type": "string",
|
||||
"default": "saved"
|
||||
},
|
||||
"disable_recovery": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"disable_submenu": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"distributor": {
|
||||
"description": "Name of the distributor",
|
||||
"type": "string"
|
||||
},
|
||||
"terminal": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_input": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_output": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"timeout": {
|
||||
"description": "Timeout in seconds",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
"timeout_style": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"hidden",
|
||||
"menu",
|
||||
"countdown"
|
||||
],
|
||||
"default": "countdown"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The command to configure the serial console",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,266 +1,266 @@
|
|||
{
|
||||
"summary": "Configure GRUB2 bootloader and set boot options",
|
||||
"description": [
|
||||
"Configure the system to use GRUB2 as the bootloader, and set boot options.",
|
||||
"Sets the GRUB2 boot/root filesystem to `rootfs`. If a separated boot",
|
||||
"partition is used it can be specified via `bootfs`. The file-systems",
|
||||
"can be identified either via uuid (`{\"uuid\": \"<uuid>\"}`) or label",
|
||||
"(`{\"label\": \"<label>\"}`). The kernel boot argument will be composed",
|
||||
"of the root file system id and additional options specified in",
|
||||
"`{kernel_opts}`, if any.",
|
||||
"Configures GRUB2 to boot via the Boot Loader Specification",
|
||||
"(https://systemd.io/BOOT_LOADER_SPECIFICATION), which is the default",
|
||||
"behavior in Fedora 30 and later.",
|
||||
"This stage will overwrite `/etc/default/grub`, `/boot/grub2/grubenv`, and",
|
||||
"`/boot/grub2/grub.cfg`. (Leading directories will be created if not present.)",
|
||||
"If Legacy boot support is requested via `legacy` this stage will also",
|
||||
"overwrite `/boot/grub2/grub.cfg` and will copy the GRUB2 files from the",
|
||||
"buildhost into the target tree:",
|
||||
"* `/usr/share/grub/unicode.pf2` -> `/boot/grub2/fonts/`",
|
||||
"* `/usr/lib/grub/$platform/*.{mod,lst}` -> `/boot/grub2/$platform/`",
|
||||
" * NOTE: skips `fdt.lst`, which is an empty file",
|
||||
"The $platform variable (default: i386-pc) refers to target platform",
|
||||
"that grub2 is mean to ran on (see grub-install(1)'s `--target`)",
|
||||
"NB: with legacy support enabled, this stage will fail if the buildhost",
|
||||
"doesn't have `/usr/lib/grub/$platform/` and `/usr/share/grub/unicode.pf2`.",
|
||||
"If UEFI support is enabled via `uefi: {\"vendor\": \"<vendor>\"}` this stage will",
|
||||
"also write the `grub.cfg` to `boot/efi/EFI/<vendor>/grub.cfg`. EFI binaries",
|
||||
"and accompanying data can be installed from the built root via `uefi.install`.",
|
||||
"Both UEFI and Legacy can be specified at the same time (hybrid boot).",
|
||||
"If `uefi.unified` is specified or hybrid boot is enabled, the main grub config",
|
||||
"will be written to `boot/grub2/grub.cfg` and a redirect config will be placed",
|
||||
"in the EFI directory.",
|
||||
"If the `saved_entry` option is present it will result in an entry in the",
|
||||
"`grubenv` file of the same name. The grub config file contains logic so",
|
||||
"that this variable will be used to select the next boot entry. This will",
|
||||
"also make grub2-reboot and grub2-set-default tools work. It will also",
|
||||
"prevent newly installed non-default kernels (like e.g. the debug kernel)",
|
||||
"to be selected as default. The contents of variable needs to match the",
|
||||
"corresponding loader entry, which currently is a combination of the",
|
||||
"machine id and kernel NVRA, like e.g.:",
|
||||
" `ffffffffffffffffffffffffffffffff-5.6.6-300.fc32.x86_64`",
|
||||
"If `saved_entry` is set it is advisable to set `config.default` to",
|
||||
"`saved` so that any re-creation of the grub configuration by the",
|
||||
"user will preserve that functionality.",
|
||||
"Support for \"greenboot\" can be turned on via the `greenboot` option.",
|
||||
"Greenboot is the idea of automatically rolling back bad updates,",
|
||||
"i.e. updates that do not boot successfully. The implementation",
|
||||
"is split between the boot loader and a user space component.",
|
||||
"The latter sets two variables `boot_counter`, which indicates",
|
||||
"the maximum number of boot attempts and `boot_success` which",
|
||||
"tells the boot laoder if a previous boot was successful. The",
|
||||
"bootloader on the other hand will decrement the counter variable",
|
||||
"and reset the success indicator one.",
|
||||
"An implementation of the user space component for rpm-ostree is",
|
||||
"called `greenboot`.",
|
||||
"Support for ignition (https://github.com/coreos/ignition) can be turned",
|
||||
"on via the `ignition` option. If enabled, a 'ignition_firstboot' variable",
|
||||
"will be created, which is meant to be included in the kernel command line.",
|
||||
"The grub.cfg will then contain the necessary code to detect and source",
|
||||
"the '/boot/ignition.firstboot' file and configure said 'ignition_firstboot'",
|
||||
"variable appropriately. See the 'org.osbuild.ignition' stage for more",
|
||||
"information on that file."
|
||||
"summary": "Configure GRUB2 bootloader and set boot options",
|
||||
"description": [
|
||||
"Configure the system to use GRUB2 as the bootloader, and set boot options.",
|
||||
"Sets the GRUB2 boot/root filesystem to `rootfs`. If a separated boot",
|
||||
"partition is used it can be specified via `bootfs`. The file-systems",
|
||||
"can be identified either via uuid (`{\"uuid\": \"<uuid>\"}`) or label",
|
||||
"(`{\"label\": \"<label>\"}`). The kernel boot argument will be composed",
|
||||
"of the root file system id and additional options specified in",
|
||||
"`{kernel_opts}`, if any.",
|
||||
"Configures GRUB2 to boot via the Boot Loader Specification",
|
||||
"(https://systemd.io/BOOT_LOADER_SPECIFICATION), which is the default",
|
||||
"behavior in Fedora 30 and later.",
|
||||
"This stage will overwrite `/etc/default/grub`, `/boot/grub2/grubenv`, and",
|
||||
"`/boot/grub2/grub.cfg`. (Leading directories will be created if not present.)",
|
||||
"If Legacy boot support is requested via `legacy` this stage will also",
|
||||
"overwrite `/boot/grub2/grub.cfg` and will copy the GRUB2 files from the",
|
||||
"buildhost into the target tree:",
|
||||
"* `/usr/share/grub/unicode.pf2` -> `/boot/grub2/fonts/`",
|
||||
"* `/usr/lib/grub/$platform/*.{mod,lst}` -> `/boot/grub2/$platform/`",
|
||||
" * NOTE: skips `fdt.lst`, which is an empty file",
|
||||
"The $platform variable (default: i386-pc) refers to target platform",
|
||||
"that grub2 is mean to ran on (see grub-install(1)'s `--target`)",
|
||||
"NB: with legacy support enabled, this stage will fail if the buildhost",
|
||||
"doesn't have `/usr/lib/grub/$platform/` and `/usr/share/grub/unicode.pf2`.",
|
||||
"If UEFI support is enabled via `uefi: {\"vendor\": \"<vendor>\"}` this stage will",
|
||||
"also write the `grub.cfg` to `boot/efi/EFI/<vendor>/grub.cfg`. EFI binaries",
|
||||
"and accompanying data can be installed from the built root via `uefi.install`.",
|
||||
"Both UEFI and Legacy can be specified at the same time (hybrid boot).",
|
||||
"If `uefi.unified` is specified or hybrid boot is enabled, the main grub config",
|
||||
"will be written to `boot/grub2/grub.cfg` and a redirect config will be placed",
|
||||
"in the EFI directory.",
|
||||
"If the `saved_entry` option is present it will result in an entry in the",
|
||||
"`grubenv` file of the same name. The grub config file contains logic so",
|
||||
"that this variable will be used to select the next boot entry. This will",
|
||||
"also make grub2-reboot and grub2-set-default tools work. It will also",
|
||||
"prevent newly installed non-default kernels (like e.g. the debug kernel)",
|
||||
"to be selected as default. The contents of variable needs to match the",
|
||||
"corresponding loader entry, which currently is a combination of the",
|
||||
"machine id and kernel NVRA, like e.g.:",
|
||||
" `ffffffffffffffffffffffffffffffff-5.6.6-300.fc32.x86_64`",
|
||||
"If `saved_entry` is set it is advisable to set `config.default` to",
|
||||
"`saved` so that any re-creation of the grub configuration by the",
|
||||
"user will preserve that functionality.",
|
||||
"Support for \"greenboot\" can be turned on via the `greenboot` option.",
|
||||
"Greenboot is the idea of automatically rolling back bad updates,",
|
||||
"i.e. updates that do not boot successfully. The implementation",
|
||||
"is split between the boot loader and a user space component.",
|
||||
"The latter sets two variables `boot_counter`, which indicates",
|
||||
"the maximum number of boot attempts and `boot_success` which",
|
||||
"tells the boot laoder if a previous boot was successful. The",
|
||||
"bootloader on the other hand will decrement the counter variable",
|
||||
"and reset the success indicator one.",
|
||||
"An implementation of the user space component for rpm-ostree is",
|
||||
"called `greenboot`.",
|
||||
"Support for ignition (https://github.com/coreos/ignition) can be turned",
|
||||
"on via the `ignition` option. If enabled, a 'ignition_firstboot' variable",
|
||||
"will be created, which is meant to be included in the kernel command line.",
|
||||
"The grub.cfg will then contain the necessary code to detect and source",
|
||||
"the '/boot/ignition.firstboot' file and configure said 'ignition_firstboot'",
|
||||
"variable appropriately. See the 'org.osbuild.ignition' stage for more",
|
||||
"information on that file."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"root_fs_uuid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"rootfs"
|
||||
]
|
||||
}
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"definitions": {
|
||||
"uuid": {
|
||||
"description": "Identify the file system by UUID",
|
||||
"type": "string",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"root_fs_uuid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"rootfs"
|
||||
]
|
||||
}
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$",
|
||||
"examples": [
|
||||
"9c6ae55b-cf88-45b8-84e8-64990759f39d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{4}-[0-9A-Za-z]{4}$",
|
||||
"examples": [
|
||||
"6699-AFB5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"filesystem": {
|
||||
"description": "Description of how to locate a file system",
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"uuid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"label"
|
||||
]
|
||||
}
|
||||
],
|
||||
"definitions": {
|
||||
"uuid": {
|
||||
"description": "Identify the file system by UUID",
|
||||
"type": "string",
|
||||
"oneOf": [
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$",
|
||||
"examples": [
|
||||
"9c6ae55b-cf88-45b8-84e8-64990759f39d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{4}-[0-9A-Za-z]{4}$",
|
||||
"examples": [
|
||||
"6699-AFB5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"filesystem": {
|
||||
"description": "Description of how to locate a file system",
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"uuid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"label"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"label": {
|
||||
"description": "Identify the file system by label",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"$ref": "#/definitions/uuid"
|
||||
}
|
||||
}
|
||||
},
|
||||
"terminal": {
|
||||
"description": "Terminal device",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"rootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"bootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"root_fs_uuid": {
|
||||
"$ref": "#/definitions/uuid"
|
||||
},
|
||||
"boot_fs_uuid": {
|
||||
"$ref": "#/definitions/uuid"
|
||||
},
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel boot options",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"legacy": {
|
||||
"description": "Include legacy boot support",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"uefi": {
|
||||
"description": "Include UEFI boot support",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"vendor"
|
||||
],
|
||||
"properties": {
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"description": "The vendor of the UEFI binaries (this is us)",
|
||||
"examples": [
|
||||
"fedora"
|
||||
],
|
||||
"pattern": "^(.+)$"
|
||||
},
|
||||
"efi_src_dir": {
|
||||
"type": "string",
|
||||
"description": "The source path to use for the EFI/ binaries when installing is set to True",
|
||||
"default": "/boot/efi/EFI"
|
||||
},
|
||||
"install": {
|
||||
"description": "Install EFI binaries and data from the build root",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"unified": {
|
||||
"description": "Main grub config in 'boot/grub2/grub.cfg'",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"saved_entry": {
|
||||
"description": "Set the variable of the same name in `grubenv`.",
|
||||
"type": "string"
|
||||
},
|
||||
"write_defaults": {
|
||||
"description": "Whether to write /etc/defaults/grub",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"write_cmdline": {
|
||||
"description": "Include the kernel command line in `grubenv`",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"ignition": {
|
||||
"description": "Include ignition support in the grub.cfg",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"greenboot": {
|
||||
"description": "Include support for fallback counting",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"config": {
|
||||
"description": "Configuration options for grub itself",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"default": {
|
||||
"description": "Default boot entry",
|
||||
"type": "string"
|
||||
},
|
||||
"disable_recovery": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"disable_submenu": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"distributor": {
|
||||
"description": "Name of the distributor",
|
||||
"type": "string"
|
||||
},
|
||||
"terminal": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_input": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_output": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"timeout": {
|
||||
"description": "Timeout in seconds",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
"timeout_style": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"hidden",
|
||||
"menu",
|
||||
"countdown"
|
||||
]
|
||||
},
|
||||
"serial": {
|
||||
"description": "The command to configure the serial console",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
"label": {
|
||||
"description": "Identify the file system by label",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"$ref": "#/definitions/uuid"
|
||||
}
|
||||
}
|
||||
},
|
||||
"terminal": {
|
||||
"description": "Terminal device",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"rootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"bootfs": {
|
||||
"$ref": "#/definitions/filesystem"
|
||||
},
|
||||
"root_fs_uuid": {
|
||||
"$ref": "#/definitions/uuid"
|
||||
},
|
||||
"boot_fs_uuid": {
|
||||
"$ref": "#/definitions/uuid"
|
||||
},
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel boot options",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"legacy": {
|
||||
"description": "Include legacy boot support",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"uefi": {
|
||||
"description": "Include UEFI boot support",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"vendor"
|
||||
],
|
||||
"properties": {
|
||||
"vendor": {
|
||||
"type": "string",
|
||||
"description": "The vendor of the UEFI binaries (this is us)",
|
||||
"examples": [
|
||||
"fedora"
|
||||
],
|
||||
"pattern": "^(.+)$"
|
||||
},
|
||||
"efi_src_dir": {
|
||||
"type": "string",
|
||||
"description": "The source path to use for the EFI/ binaries when installing is set to True",
|
||||
"default": "/boot/efi/EFI"
|
||||
},
|
||||
"install": {
|
||||
"description": "Install EFI binaries and data from the build root",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"unified": {
|
||||
"description": "Main grub config in 'boot/grub2/grub.cfg'",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"saved_entry": {
|
||||
"description": "Set the variable of the same name in `grubenv`.",
|
||||
"type": "string"
|
||||
},
|
||||
"write_defaults": {
|
||||
"description": "Whether to write /etc/defaults/grub",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"write_cmdline": {
|
||||
"description": "Include the kernel command line in `grubenv`",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"ignition": {
|
||||
"description": "Include ignition support in the grub.cfg",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"greenboot": {
|
||||
"description": "Include support for fallback counting",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"config": {
|
||||
"description": "Configuration options for grub itself",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"default": {
|
||||
"description": "Default boot entry",
|
||||
"type": "string"
|
||||
},
|
||||
"disable_recovery": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"disable_submenu": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"distributor": {
|
||||
"description": "Name of the distributor",
|
||||
"type": "string"
|
||||
},
|
||||
"terminal": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_input": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"terminal_output": {
|
||||
"$ref": "#/definitions/terminal"
|
||||
},
|
||||
"timeout": {
|
||||
"description": "Timeout in seconds",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
"timeout_style": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"hidden",
|
||||
"menu",
|
||||
"countdown"
|
||||
]
|
||||
},
|
||||
"serial": {
|
||||
"description": "The command to configure the serial console",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"summary": "Extract a gzipped file",
|
||||
"description": [
|
||||
"Buildhost commands used: `gunzip`."
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"file"
|
||||
],
|
||||
"properties": {
|
||||
"file": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"description": "Unzip here.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"summary": "Extract a gzipped file",
|
||||
"description": [
|
||||
"Buildhost commands used: `gunzip`."
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"file"
|
||||
],
|
||||
"properties": {
|
||||
"file": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"description": "Unzip here.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,40 +1,40 @@
|
|||
{
|
||||
"summary": "Compress a file using gzip",
|
||||
"description": [
|
||||
"Buildhost commands used: `gzip`."
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"file"
|
||||
],
|
||||
"properties": {
|
||||
"file": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Filename to use for the compressed file",
|
||||
"type": "string"
|
||||
},
|
||||
"level": {
|
||||
"description": "Compression level",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 9,
|
||||
"default": 1
|
||||
}
|
||||
}
|
||||
"summary": "Compress a file using gzip",
|
||||
"description": [
|
||||
"Buildhost commands used: `gzip`."
|
||||
],
|
||||
"schema_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"file"
|
||||
],
|
||||
"properties": {
|
||||
"file": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Filename to use for the compressed file",
|
||||
"type": "string"
|
||||
},
|
||||
"level": {
|
||||
"description": "Compression level",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 9,
|
||||
"default": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
{
|
||||
"summary": "Set system hostname",
|
||||
"description": [
|
||||
"Sets system hostname.",
|
||||
"Deletes /etc/hostname if present, then runs `systemd-firstboot` from the",
|
||||
"buildhost with `--hostname={hostname}`, which checks the validity of the",
|
||||
"hostname and writes it to /etc/hostname."
|
||||
"summary": "Set system hostname",
|
||||
"description": [
|
||||
"Sets system hostname.",
|
||||
"Deletes /etc/hostname if present, then runs `systemd-firstboot` from the",
|
||||
"buildhost with `--hostname={hostname}`, which checks the validity of the",
|
||||
"hostname and writes it to /etc/hostname."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"hostname"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"hostname"
|
||||
],
|
||||
"properties": {
|
||||
"hostname": {
|
||||
"type": "string",
|
||||
"description": "hostname for the target system"
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"hostname": {
|
||||
"type": "string",
|
||||
"description": "hostname for the target system"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,28 @@
|
|||
{
|
||||
"summary": "Setup ignition so it will be triggered on first boot.",
|
||||
"description": [
|
||||
"Create the file '/boot/ignition.firstboot' that will be used by grub,",
|
||||
"if the necessary ignition support is enabled, to create a variable to",
|
||||
"be used in the kernel command line ('ignition_firstboot'). Via this",
|
||||
"variable, if included in the actual kernel command line, the run of",
|
||||
"ignition during early boot can be controlled: if grub detects the",
|
||||
"aforementioned file to be present it will set 'ignition_firstboot'",
|
||||
"to \"ignition.firstboot\" which is the trigger for ignition to run.",
|
||||
"The \"ignition-firstboot-complete.service\" will remove said file and",
|
||||
"thus preventing ignition to be run on the next boot.",
|
||||
"The `network` option can be used to overwrite the default network",
|
||||
"configuration, in case that ignition is run."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"network": {
|
||||
"type": "array",
|
||||
"description": "Overwrite default network connection",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"summary": "Setup ignition so it will be triggered on first boot.",
|
||||
"description": [
|
||||
"Create the file '/boot/ignition.firstboot' that will be used by grub,",
|
||||
"if the necessary ignition support is enabled, to create a variable to",
|
||||
"be used in the kernel command line ('ignition_firstboot'). Via this",
|
||||
"variable, if included in the actual kernel command line, the run of",
|
||||
"ignition during early boot can be controlled: if grub detects the",
|
||||
"aforementioned file to be present it will set 'ignition_firstboot'",
|
||||
"to \"ignition.firstboot\" which is the trigger for ignition to run.",
|
||||
"The \"ignition-firstboot-complete.service\" will remove said file and",
|
||||
"thus preventing ignition to be run on the next boot.",
|
||||
"The `network` option can be used to overwrite the default network",
|
||||
"configuration, in case that ignition is run."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"network": {
|
||||
"type": "array",
|
||||
"description": "Overwrite default network connection",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"summary": "Implant an MD5 checksum in an ISO9660 image",
|
||||
"description": [
|
||||
"This stage is using implantisomd5(1) to implant MD5 checksums into an iso",
|
||||
"image. This is needed for the check media feature used in the installer."
|
||||
"summary": "Implant an MD5 checksum in an ISO9660 image",
|
||||
"description": [
|
||||
"This stage is using implantisomd5(1) to implant MD5 checksums into an iso",
|
||||
"image. This is needed for the check media feature used in the installer."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Path to where the iso to implant md5s is located."
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Path to where the iso to implant md5s is located."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,62 +1,62 @@
|
|||
{
|
||||
"summary": "Create an isolinux bootloader",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"product",
|
||||
"kernel"
|
||||
],
|
||||
"properties": {
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"dir"
|
||||
],
|
||||
"properties": {
|
||||
"dir": {
|
||||
"type": "string"
|
||||
},
|
||||
"opts": {
|
||||
"description": "Array of group names for this user",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Create an isolinux bootloader",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"product",
|
||||
"kernel"
|
||||
],
|
||||
"properties": {
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"data"
|
||||
],
|
||||
"properties": {
|
||||
"data": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"dir"
|
||||
],
|
||||
"properties": {
|
||||
"dir": {
|
||||
"type": "string"
|
||||
},
|
||||
"opts": {
|
||||
"description": "Array of group names for this user",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"data"
|
||||
],
|
||||
"properties": {
|
||||
"data": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +1,42 @@
|
|||
{
|
||||
"summary": "Add kernel command line parameters to a BLS [1] config either in\nthe tree or in a mount.",
|
||||
"description": [
|
||||
"[1] https://freedesktop.org/wiki/Specifications/BootLoaderSpec/"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"kernel_opts"
|
||||
],
|
||||
"properties": {
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel command line options",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "A single kernel command line option",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"bootpath": {
|
||||
"type": "string",
|
||||
"description": "The mounted location of the boot filesystem tree where the BLS entries will be under ./loader/entries/*.conf",
|
||||
"pattern": "^(mount|tree):///",
|
||||
"examples": [
|
||||
"tree:///boot",
|
||||
"mount:///",
|
||||
"mount:///boot"
|
||||
],
|
||||
"default": "tree:///boot"
|
||||
}
|
||||
}
|
||||
"summary": "Add kernel command line parameters to a BLS [1] config either in\nthe tree or in a mount.",
|
||||
"description": [
|
||||
"[1] https://freedesktop.org/wiki/Specifications/BootLoaderSpec/"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"kernel_opts"
|
||||
],
|
||||
"properties": {
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel command line options",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "A single kernel command line option",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
"bootpath": {
|
||||
"type": "string",
|
||||
"description": "The mounted location of the boot filesystem tree where the BLS entries will be under ./loader/entries/*.conf",
|
||||
"pattern": "^(mount|tree):///",
|
||||
"examples": [
|
||||
"tree:///boot",
|
||||
"mount:///",
|
||||
"mount:///boot"
|
||||
],
|
||||
"default": "tree:///boot"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,36 @@
|
|||
{
|
||||
"summary": "Configure the kernel command-line parameters",
|
||||
"description": [
|
||||
"Configures the kernel boot parameters, also known as the kernel",
|
||||
"command line.",
|
||||
"https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"root_fs_uuid": {
|
||||
"description": "UUID of the root filesystem image",
|
||||
"type": "string",
|
||||
"oneOf": [
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$",
|
||||
"examples": [
|
||||
"9c6ae55b-cf88-45b8-84e8-64990759f39d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{4}-[0-9A-Za-z]{4}$",
|
||||
"examples": [
|
||||
"6699-AFB5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel boot options",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
}
|
||||
}
|
||||
"summary": "Configure the kernel command-line parameters",
|
||||
"description": [
|
||||
"Configures the kernel boot parameters, also known as the kernel",
|
||||
"command line.",
|
||||
"https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"root_fs_uuid": {
|
||||
"description": "UUID of the root filesystem image",
|
||||
"type": "string",
|
||||
"oneOf": [
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$",
|
||||
"examples": [
|
||||
"9c6ae55b-cf88-45b8-84e8-64990759f39d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern": "^[0-9A-Za-z]{4}-[0-9A-Za-z]{4}$",
|
||||
"examples": [
|
||||
"6699-AFB5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"kernel_opts": {
|
||||
"description": "Additional kernel boot options",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,51 +1,51 @@
|
|||
{
|
||||
"summary": "Set image's default keymap for vconsole and X11 keyboard.",
|
||||
"description": [
|
||||
"The 'keymap' option sets the default console keyboard layout for vconsole.",
|
||||
"Its value is a keymap, such as 'us' or 'de-latin1'.",
|
||||
"Removes any existing /etc/vconsole.conf, then runs `systemd-firstboot` with the",
|
||||
"`--keymap` option, which sets KEYMAP in /etc/vconsole.conf. If `font` is given",
|
||||
"will additionally set the FONT attribute.",
|
||||
"The 'x11-keymap' option configures the X11 keyboard settings. The value of",
|
||||
"the option is a dictionary with keys representing settings which can be",
|
||||
"configured. Currently, only the 'layouts' setting can be configured. Its value",
|
||||
"is a list of strings, representing the specific layouts, which should",
|
||||
"be configured for the X11 keyboard.",
|
||||
"Valid keymaps are generally found in /lib/kbd/keymaps."
|
||||
"summary": "Set image's default keymap for vconsole and X11 keyboard.",
|
||||
"description": [
|
||||
"The 'keymap' option sets the default console keyboard layout for vconsole.",
|
||||
"Its value is a keymap, such as 'us' or 'de-latin1'.",
|
||||
"Removes any existing /etc/vconsole.conf, then runs `systemd-firstboot` with the",
|
||||
"`--keymap` option, which sets KEYMAP in /etc/vconsole.conf. If `font` is given",
|
||||
"will additionally set the FONT attribute.",
|
||||
"The 'x11-keymap' option configures the X11 keyboard settings. The value of",
|
||||
"the option is a dictionary with keys representing settings which can be",
|
||||
"configured. Currently, only the 'layouts' setting can be configured. Its value",
|
||||
"is a list of strings, representing the specific layouts, which should",
|
||||
"be configured for the X11 keyboard.",
|
||||
"Valid keymaps are generally found in /lib/kbd/keymaps."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"keymap"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"keymap": {
|
||||
"type": "string",
|
||||
"description": "Name of keymap to use for vconsole."
|
||||
},
|
||||
"x11-keymap": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "Configure X11 keyboard.",
|
||||
"required": [
|
||||
"keymap"
|
||||
"layouts"
|
||||
],
|
||||
"properties": {
|
||||
"keymap": {
|
||||
"type": "string",
|
||||
"description": "Name of keymap to use for vconsole."
|
||||
},
|
||||
"x11-keymap": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "Configure X11 keyboard.",
|
||||
"required": [
|
||||
"layouts"
|
||||
],
|
||||
"properties": {
|
||||
"layouts": {
|
||||
"type": "array",
|
||||
"description": "List of keyboard mappings to configure.",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"font": {
|
||||
"type": "string",
|
||||
"description": "Configures the console font."
|
||||
"layouts": {
|
||||
"type": "array",
|
||||
"description": "List of keyboard mappings to configure.",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"font": {
|
||||
"type": "string",
|
||||
"description": "Configures the console font."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"summary": "Configure basic aspects of the `/etc/sysconfig/livesys` file, necessary for\nlive installations.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"livesys_session"
|
||||
],
|
||||
"properties": {
|
||||
"livesys_session": {
|
||||
"type": "string",
|
||||
"description": "Livesys session to use"
|
||||
}
|
||||
}
|
||||
"summary": "Configure basic aspects of the `/etc/sysconfig/livesys` file, necessary for\nlive installations.",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"livesys_session"
|
||||
],
|
||||
"properties": {
|
||||
"livesys_session": {
|
||||
"type": "string",
|
||||
"description": "Livesys session to use"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
{
|
||||
"summary": "Set system language.",
|
||||
"description": [
|
||||
"Sets the system language to the given `language`, which must be a valid locale",
|
||||
"identifier, like \"en_US.UTF-8\".",
|
||||
"Removes `/etc/locale.conf` and then uses `systemd-firstboot` from the buildhost,",
|
||||
"with the `--locale` flag, which will write a new `/etc/locale.conf` in the",
|
||||
"target system with `LANG={language}`."
|
||||
"summary": "Set system language.",
|
||||
"description": [
|
||||
"Sets the system language to the given `language`, which must be a valid locale",
|
||||
"identifier, like \"en_US.UTF-8\".",
|
||||
"Removes `/etc/locale.conf` and then uses `systemd-firstboot` from the buildhost,",
|
||||
"with the `--locale` flag, which will write a new `/etc/locale.conf` in the",
|
||||
"target system with `LANG={language}`."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"language"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"language"
|
||||
],
|
||||
"properties": {
|
||||
"language": {
|
||||
"type": "string",
|
||||
"description": "Locale identifier (like 'en_US.UTF-8') for system LANG"
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"language": {
|
||||
"type": "string",
|
||||
"description": "Locale identifier (like 'en_US.UTF-8') for system LANG"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,47 +1,47 @@
|
|||
{
|
||||
"summary": "Run a lorax template script on the tree",
|
||||
"description": [
|
||||
"This stage can be use to run a lorax template script on the tree.",
|
||||
"The location that is specified in `path` will be interpreted to be",
|
||||
"relative to `/usr/share/lorax/templates.d` on the build root.",
|
||||
"The use case for this stage is primarily to run the post install",
|
||||
"scripts to create bootable isos, provided by Lorax. Depending on",
|
||||
"the script, `basearch`, `product` or both have to be specified.",
|
||||
"The stage uses the `osbuild.utils.lorax` helpers internally, so all",
|
||||
"operations supported by the helpers are supported by this stage.",
|
||||
"NB: This is only a subset of the Lorax ones, i.e. it is missing the",
|
||||
"commands to create disks and images."
|
||||
"summary": "Run a lorax template script on the tree",
|
||||
"description": [
|
||||
"This stage can be use to run a lorax template script on the tree.",
|
||||
"The location that is specified in `path` will be interpreted to be",
|
||||
"relative to `/usr/share/lorax/templates.d` on the build root.",
|
||||
"The use case for this stage is primarily to run the post install",
|
||||
"scripts to create bootable isos, provided by Lorax. Depending on",
|
||||
"the script, `basearch`, `product` or both have to be specified.",
|
||||
"The stage uses the `osbuild.utils.lorax` helpers internally, so all",
|
||||
"operations supported by the helpers are supported by this stage.",
|
||||
"NB: This is only a subset of the Lorax ones, i.e. it is missing the",
|
||||
"commands to create disks and images."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"basearch": {
|
||||
"type": "string",
|
||||
"default": "x86_64",
|
||||
"description": "The basic architecture param to supply to the template"
|
||||
},
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"basearch": {
|
||||
"type": "string",
|
||||
"default": "x86_64",
|
||||
"description": "The basic architecture param to supply to the template"
|
||||
},
|
||||
"product": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"libdir": {
|
||||
"type": "string",
|
||||
"default": "lib64"
|
||||
}
|
||||
}
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"libdir": {
|
||||
"type": "string",
|
||||
"default": "lib64"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,135 +1,135 @@
|
|||
{
|
||||
"summary": "Create an LUKS2 container via `cryptsetup`.",
|
||||
"description": [
|
||||
"This stage formats the given `device` to be a Linux Unified Key Setup,",
|
||||
"LUKS version 2, container and set the key to be `passphrase`. The uuid",
|
||||
"of the container must be specified via the coressponding option.",
|
||||
"Use the corresponding `org.osbuild.luks2` device to open the container",
|
||||
"during build.",
|
||||
"Buildhost commands used: `cryptsetup`."
|
||||
],
|
||||
"schema_2": {
|
||||
"definitions": {
|
||||
"pbkdf2": {
|
||||
"description": "pbkdf2 PBKDF parameters",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method",
|
||||
"iterations"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"pbkdf2"
|
||||
]
|
||||
},
|
||||
"iterations": {
|
||||
"description": "Iterations cost",
|
||||
"type": "integer",
|
||||
"minimum": 1000,
|
||||
"maximum": 4294967295
|
||||
}
|
||||
}
|
||||
},
|
||||
"argon2i_d": {
|
||||
"description": "argon2i and argon2id PBKDF parameters",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method",
|
||||
"iterations"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"argon2i",
|
||||
"argon2id"
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"description": "Memory cost in kilobytes",
|
||||
"type": "integer",
|
||||
"minimum": 32,
|
||||
"maximum": 4194304
|
||||
},
|
||||
"iterations": {
|
||||
"description": "Iterations cost",
|
||||
"type": "integer",
|
||||
"minimum": 4,
|
||||
"maximum": 4294967295
|
||||
},
|
||||
"parallelism": {
|
||||
"description": "Parallel cost",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"passphrase",
|
||||
"uuid",
|
||||
"pbkdf"
|
||||
],
|
||||
"properties": {
|
||||
"passphrase": {
|
||||
"description": "Passphrase to use",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "UUID for the LUKS device to use",
|
||||
"type": "string"
|
||||
},
|
||||
"cipher": {
|
||||
"description": "Cipher to use",
|
||||
"type": "string"
|
||||
},
|
||||
"pbkdf": {
|
||||
"description": "Password-Based Key Derivation Function parameters",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/pbkdf2"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/argon2i_d"
|
||||
}
|
||||
]
|
||||
},
|
||||
"label": {
|
||||
"description": "Label to use",
|
||||
"type": "string"
|
||||
},
|
||||
"subsystem": {
|
||||
"description": "Additional label",
|
||||
"type": "string"
|
||||
},
|
||||
"sector-size": {
|
||||
"description": "Sector size to use",
|
||||
"type": "integer"
|
||||
},
|
||||
"integrity": {
|
||||
"enum": [
|
||||
"hmac-sha256"
|
||||
]
|
||||
}
|
||||
}
|
||||
"summary": "Create an LUKS2 container via `cryptsetup`.",
|
||||
"description": [
|
||||
"This stage formats the given `device` to be a Linux Unified Key Setup,",
|
||||
"LUKS version 2, container and set the key to be `passphrase`. The uuid",
|
||||
"of the container must be specified via the coressponding option.",
|
||||
"Use the corresponding `org.osbuild.luks2` device to open the container",
|
||||
"during build.",
|
||||
"Buildhost commands used: `cryptsetup`."
|
||||
],
|
||||
"schema_2": {
|
||||
"definitions": {
|
||||
"pbkdf2": {
|
||||
"description": "pbkdf2 PBKDF parameters",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method",
|
||||
"iterations"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"pbkdf2"
|
||||
]
|
||||
},
|
||||
"iterations": {
|
||||
"description": "Iterations cost",
|
||||
"type": "integer",
|
||||
"minimum": 1000,
|
||||
"maximum": 4294967295
|
||||
}
|
||||
}
|
||||
},
|
||||
"argon2i_d": {
|
||||
"description": "argon2i and argon2id PBKDF parameters",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method",
|
||||
"iterations"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"argon2i",
|
||||
"argon2id"
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"description": "Memory cost in kilobytes",
|
||||
"type": "integer",
|
||||
"minimum": 32,
|
||||
"maximum": 4194304
|
||||
},
|
||||
"iterations": {
|
||||
"description": "Iterations cost",
|
||||
"type": "integer",
|
||||
"minimum": 4,
|
||||
"maximum": 4294967295
|
||||
},
|
||||
"parallelism": {
|
||||
"description": "Parallel cost",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"passphrase",
|
||||
"uuid",
|
||||
"pbkdf"
|
||||
],
|
||||
"properties": {
|
||||
"passphrase": {
|
||||
"description": "Passphrase to use",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "UUID for the LUKS device to use",
|
||||
"type": "string"
|
||||
},
|
||||
"cipher": {
|
||||
"description": "Cipher to use",
|
||||
"type": "string"
|
||||
},
|
||||
"pbkdf": {
|
||||
"description": "Password-Based Key Derivation Function parameters",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/pbkdf2"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/argon2i_d"
|
||||
}
|
||||
]
|
||||
},
|
||||
"label": {
|
||||
"description": "Label to use",
|
||||
"type": "string"
|
||||
},
|
||||
"subsystem": {
|
||||
"description": "Additional label",
|
||||
"type": "string"
|
||||
},
|
||||
"sector-size": {
|
||||
"description": "Sector size to use",
|
||||
"type": "integer"
|
||||
},
|
||||
"integrity": {
|
||||
"enum": [
|
||||
"hmac-sha256"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"summary": "Removes the supplied passphrase from the LUKS device.",
|
||||
"description": [
|
||||
"Buildhost commands used: `cryptsetup`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"passphrase"
|
||||
],
|
||||
"properties": {
|
||||
"passphrase": {
|
||||
"description": "Passphrase to remove",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"summary": "Removes the supplied passphrase from the LUKS device.",
|
||||
"description": [
|
||||
"Buildhost commands used: `cryptsetup`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"passphrase"
|
||||
],
|
||||
"properties": {
|
||||
"passphrase": {
|
||||
"description": "Passphrase to remove",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,72 +1,72 @@
|
|||
{
|
||||
"summary": "Create LVM2 physical volumes, volume groups and logical volumes",
|
||||
"description": [
|
||||
"For the logical volumes `name` and `size` need to be provided.",
|
||||
"NB: The name of the volume group is chosen at random and should",
|
||||
"be changed via the `org.osbuild.lvm2.metadata` stage after the",
|
||||
"image has been completely assembled."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"volumes"
|
||||
],
|
||||
"properties": {
|
||||
"volumes": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"description": "Logical volume",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"extents"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "The logical volume name",
|
||||
"type": "string",
|
||||
"pattern": "[a-zA-Z09+_.][a-zA-Z0-9+_.-]*"
|
||||
},
|
||||
"extents": {
|
||||
"description": "The logical extents of the volume",
|
||||
"type": "string",
|
||||
"pattern": "[1-9][0-9]*(%(VG|PVS|FREE|ORIGIN))?"
|
||||
},
|
||||
"size": {
|
||||
"description": "The size of the logical volume",
|
||||
"type": "string",
|
||||
"pattern": "[1-9][0-9]*[bBsSkKmMgGtTpPeE]?"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Create LVM2 physical volumes, volume groups and logical volumes",
|
||||
"description": [
|
||||
"For the logical volumes `name` and `size` need to be provided.",
|
||||
"NB: The name of the volume group is chosen at random and should",
|
||||
"be changed via the `org.osbuild.lvm2.metadata` stage after the",
|
||||
"image has been completely assembled."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"volumes"
|
||||
],
|
||||
"properties": {
|
||||
"volumes": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"description": "Logical volume",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"size"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"extents"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "The logical volume name",
|
||||
"type": "string",
|
||||
"pattern": "[a-zA-Z09+_.][a-zA-Z0-9+_.-]*"
|
||||
},
|
||||
"extents": {
|
||||
"description": "The logical extents of the volume",
|
||||
"type": "string",
|
||||
"pattern": "[1-9][0-9]*(%(VG|PVS|FREE|ORIGIN))?"
|
||||
},
|
||||
"size": {
|
||||
"description": "The size of the logical volume",
|
||||
"type": "string",
|
||||
"pattern": "[1-9][0-9]*[bBsSkKmMgGtTpPeE]?"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,51 +1,51 @@
|
|||
{
|
||||
"summary": "Set LVM2 volume group metadata",
|
||||
"description": [
|
||||
"This stage allows you to modify the LVM2 volume group",
|
||||
"metadata. This data describes various properties about",
|
||||
"the volume group, physical volume and logical volumes.",
|
||||
"Most importantly it contains the volume group name, so",
|
||||
"this stage can be used to rename the volume group."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"vg_name"
|
||||
],
|
||||
"properties": {
|
||||
"creation_host": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 255
|
||||
},
|
||||
"creation_time": {
|
||||
"type": "string",
|
||||
"pattern": "[0-9]+",
|
||||
"description": "Creation time (uint64 represented as string)"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"vg_name": {
|
||||
"type": "string",
|
||||
"pattern": "[a-zA-Z0-9+_.][a-zA-Z0-9+_.-]*"
|
||||
}
|
||||
}
|
||||
"summary": "Set LVM2 volume group metadata",
|
||||
"description": [
|
||||
"This stage allows you to modify the LVM2 volume group",
|
||||
"metadata. This data describes various properties about",
|
||||
"the volume group, physical volume and logical volumes.",
|
||||
"Most importantly it contains the volume group name, so",
|
||||
"this stage can be used to rename the volume group."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"vg_name"
|
||||
],
|
||||
"properties": {
|
||||
"creation_host": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 255
|
||||
},
|
||||
"creation_time": {
|
||||
"type": "string",
|
||||
"pattern": "[0-9]+",
|
||||
"description": "Creation time (uint64 represented as string)"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"vg_name": {
|
||||
"type": "string",
|
||||
"pattern": "[a-zA-Z0-9+_.][a-zA-Z0-9+_.-]*"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
{
|
||||
"summary": "Deal with /etc/machine-id",
|
||||
"description": [
|
||||
"Explicitly define the state to /etc/machine-id. The possible values for",
|
||||
"first-boot are:",
|
||||
"- yes: This sets the machine-id to \"uninitialized\" and this will trigger",
|
||||
" ContidionFirstBoot in systemd",
|
||||
"- no: This creates an empty machine-id. It will trigger the generation",
|
||||
" of a new machine-id but *not* the ConditionFirstBoot",
|
||||
"- preserve: Leave the existing machine-id in place. Not having a machine-id",
|
||||
" with that set is an error."
|
||||
"summary": "Deal with /etc/machine-id",
|
||||
"description": [
|
||||
"Explicitly define the state to /etc/machine-id. The possible values for",
|
||||
"first-boot are:",
|
||||
"- yes: This sets the machine-id to \"uninitialized\" and this will trigger",
|
||||
" ContidionFirstBoot in systemd",
|
||||
"- no: This creates an empty machine-id. It will trigger the generation",
|
||||
" of a new machine-id but *not* the ConditionFirstBoot",
|
||||
"- preserve: Leave the existing machine-id in place. Not having a machine-id",
|
||||
" with that set is an error."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"first-boot"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"first-boot"
|
||||
"properties": {
|
||||
"first-boot": {
|
||||
"enum": [
|
||||
"yes",
|
||||
"no",
|
||||
"preserve"
|
||||
],
|
||||
"properties": {
|
||||
"first-boot": {
|
||||
"enum": [
|
||||
"yes",
|
||||
"no",
|
||||
"preserve"
|
||||
],
|
||||
"description": "Set the first boot behavior of the /etc/machine-id file in the tree"
|
||||
}
|
||||
}
|
||||
"description": "Set the first boot behavior of the /etc/machine-id file in the tree"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,57 +1,57 @@
|
|||
{
|
||||
"summary": "Create directories within the tree.",
|
||||
"description": [
|
||||
"Can create one or more directories, optionally also the",
|
||||
"intermediate directories. The stage can gracefully handle",
|
||||
"directories that already exist.",
|
||||
"Please note that the stage won't change the mode of existing",
|
||||
"directories. If you want to change the mode of an existing",
|
||||
"directory, you need to use the `org.osbuild.chmod` stage.",
|
||||
"Mode is applied only to newly created directories and umask",
|
||||
"value is taken into account.",
|
||||
"In the initial version of this stage, there was a bug that caused",
|
||||
"the stage to accept relative paths. This behaviour is kept for",
|
||||
"backward compatibility, thus the following paths are equal:",
|
||||
"/path/to/directory",
|
||||
"path/to/directory",
|
||||
"However, using relative paths is strongly discouraged."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"summary": "Create directories within the tree.",
|
||||
"description": [
|
||||
"Can create one or more directories, optionally also the",
|
||||
"intermediate directories. The stage can gracefully handle",
|
||||
"directories that already exist.",
|
||||
"Please note that the stage won't change the mode of existing",
|
||||
"directories. If you want to change the mode of an existing",
|
||||
"directory, you need to use the `org.osbuild.chmod` stage.",
|
||||
"Mode is applied only to newly created directories and umask",
|
||||
"value is taken into account.",
|
||||
"In the initial version of this stage, there was a bug that caused",
|
||||
"the stage to accept relative paths. This behaviour is kept for",
|
||||
"backward compatibility, thus the following paths are equal:",
|
||||
"/path/to/directory",
|
||||
"path/to/directory",
|
||||
"However, using relative paths is strongly discouraged."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"paths": {
|
||||
"type": "array",
|
||||
"additionalItems": false,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"paths": {
|
||||
"type": "array",
|
||||
"additionalItems": false,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string",
|
||||
"pattern": "^\\/?(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
},
|
||||
"mode": {
|
||||
"type": "number",
|
||||
"description": "Numeric octal mode"
|
||||
},
|
||||
"parents": {
|
||||
"type": "boolean",
|
||||
"description": "Create intermediate directories",
|
||||
"default": false
|
||||
},
|
||||
"exist_ok": {
|
||||
"type": "boolean",
|
||||
"description": "Do not fail if the directory already exists",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"path": {
|
||||
"type": "string",
|
||||
"pattern": "^\\/?(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
},
|
||||
"mode": {
|
||||
"type": "number",
|
||||
"description": "Numeric octal mode"
|
||||
},
|
||||
"parents": {
|
||||
"type": "boolean",
|
||||
"description": "Create intermediate directories",
|
||||
"default": false
|
||||
},
|
||||
"exist_ok": {
|
||||
"type": "boolean",
|
||||
"description": "Do not fail if the directory already exists",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,48 +1,48 @@
|
|||
{
|
||||
"summary": "Construct an btrfs file-system via mkfs.btrfs(8)",
|
||||
"description": [
|
||||
"Construct a btrfs file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"Buildhost commands used: `mkfs.btrfs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"uuid"
|
||||
],
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"description": "Volume identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 256
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Profile for the metadata block groups",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"single",
|
||||
"dup"
|
||||
]
|
||||
}
|
||||
}
|
||||
"summary": "Construct an btrfs file-system via mkfs.btrfs(8)",
|
||||
"description": [
|
||||
"Construct a btrfs file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"Buildhost commands used: `mkfs.btrfs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"uuid"
|
||||
],
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"description": "Volume identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 256
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Profile for the metadata block groups",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"single",
|
||||
"dup"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,52 +1,52 @@
|
|||
{
|
||||
"summary": "Construct an ext4 file-system via mkfs.ext4(8)",
|
||||
"description": [
|
||||
"Construct a ext4 file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"Buildhost commands used: `mke2fs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"uuid"
|
||||
],
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"description": "Volume identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 16
|
||||
},
|
||||
"metadata_csum_seed": {
|
||||
"description": "Enable metadata_csum_seed support",
|
||||
"type": "boolean"
|
||||
},
|
||||
"orphan_file": {
|
||||
"description": "Enable orphan_file support",
|
||||
"type": "boolean"
|
||||
},
|
||||
"verity": {
|
||||
"description": "Enable fs-verity support",
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
"summary": "Construct an ext4 file-system via mkfs.ext4(8)",
|
||||
"description": [
|
||||
"Construct a ext4 file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"Buildhost commands used: `mke2fs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"uuid"
|
||||
],
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"description": "Volume identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 16
|
||||
},
|
||||
"metadata_csum_seed": {
|
||||
"description": "Enable metadata_csum_seed support",
|
||||
"type": "boolean"
|
||||
},
|
||||
"orphan_file": {
|
||||
"description": "Enable orphan_file support",
|
||||
"type": "boolean"
|
||||
},
|
||||
"verity": {
|
||||
"description": "Enable fs-verity support",
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,71 +1,71 @@
|
|||
{
|
||||
"summary": "Construct an FAT file-system via mkfs.fat(8)",
|
||||
"description": [
|
||||
"Construct a FAT file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"NB: `mkfs.fat` is called via `-I` to ignore existing partitions",
|
||||
"on the device. This should also prevent the situation where",
|
||||
"the partition table information on a (loop-)device is outdated.",
|
||||
"Buildhost commands used: `mkfs.fat`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"volid"
|
||||
],
|
||||
"properties": {
|
||||
"volid": {
|
||||
"description": "Volume identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 11
|
||||
},
|
||||
"fat-size": {
|
||||
"description": "Label for the file system",
|
||||
"type": "integer",
|
||||
"enum": [
|
||||
12,
|
||||
16,
|
||||
32
|
||||
]
|
||||
},
|
||||
"geometry": {
|
||||
"description": "Disk Geometry for the file system",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"heads",
|
||||
"sectors-per-track"
|
||||
],
|
||||
"properties": {
|
||||
"heads": {
|
||||
"description": "Number of Heads",
|
||||
"type": "integer"
|
||||
},
|
||||
"sectors-per-track": {
|
||||
"description": "Number of Sectors per Track",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Construct an FAT file-system via mkfs.fat(8)",
|
||||
"description": [
|
||||
"Construct a FAT file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"NB: `mkfs.fat` is called via `-I` to ignore existing partitions",
|
||||
"on the device. This should also prevent the situation where",
|
||||
"the partition table information on a (loop-)device is outdated.",
|
||||
"Buildhost commands used: `mkfs.fat`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"volid"
|
||||
],
|
||||
"properties": {
|
||||
"volid": {
|
||||
"description": "Volume identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 11
|
||||
},
|
||||
"fat-size": {
|
||||
"description": "Label for the file system",
|
||||
"type": "integer",
|
||||
"enum": [
|
||||
12,
|
||||
16,
|
||||
32
|
||||
]
|
||||
},
|
||||
"geometry": {
|
||||
"description": "Disk Geometry for the file system",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"heads",
|
||||
"sectors-per-track"
|
||||
],
|
||||
"properties": {
|
||||
"heads": {
|
||||
"description": "Number of Heads",
|
||||
"type": "integer"
|
||||
},
|
||||
"sectors-per-track": {
|
||||
"description": "Number of Sectors per Track",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,40 +1,40 @@
|
|||
{
|
||||
"summary": "Construct an XFS file-system via mkfs.xfs(8)",
|
||||
"description": [
|
||||
"Construct a XFS file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"Buildhost commands used: `mkfs.xfs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"uuid"
|
||||
],
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"description": "UUID for the file system",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 12
|
||||
}
|
||||
}
|
||||
"summary": "Construct an XFS file-system via mkfs.xfs(8)",
|
||||
"description": [
|
||||
"Construct a XFS file-system with the given options at the device",
|
||||
"specified via `device`.",
|
||||
"Buildhost commands used: `mkfs.xfs`."
|
||||
],
|
||||
"schema_2": {
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"device"
|
||||
],
|
||||
"properties": {
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"uuid"
|
||||
],
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"description": "UUID for the file system",
|
||||
"type": "string"
|
||||
},
|
||||
"label": {
|
||||
"description": "Label for the file system",
|
||||
"type": "string",
|
||||
"maxLength": 12
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"summary": "Run mkinitcpio for Arch based distributions",
|
||||
"description": [
|
||||
"WARNING: This stage uses chroot() to run the `mkinitcpio` binary",
|
||||
"from inside the tree."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"preset": {
|
||||
"type": "string",
|
||||
"description": "mkinitcpio preset file to use",
|
||||
"default": "linux"
|
||||
}
|
||||
}
|
||||
"summary": "Run mkinitcpio for Arch based distributions",
|
||||
"description": [
|
||||
"WARNING: This stage uses chroot() to run the `mkinitcpio` binary",
|
||||
"from inside the tree."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"preset": {
|
||||
"type": "string",
|
||||
"description": "mkinitcpio preset file to use",
|
||||
"default": "linux"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,92 +1,92 @@
|
|||
{
|
||||
"summary": "Configure modprobe",
|
||||
"description": [
|
||||
"The 'config' option allows the creation of a `.conf` configuration",
|
||||
"file for modprobe in `/usr/lib/modprobe.d` with the name `filename`.",
|
||||
"Currently supported \"command\" objects are:",
|
||||
" - for 'blacklist' command",
|
||||
" - 'command' property value: \"blacklist\"",
|
||||
" - 'modulename' property value: a non-empty string with the name of a module",
|
||||
" - for 'install' command",
|
||||
" - 'command' property value: \"install\"",
|
||||
" - 'modulename' property value: a non-empty string with the name of a module",
|
||||
" - 'cmdline' property value: a non-empty string representing the command to",
|
||||
" run instead of inserting the specified module."
|
||||
"summary": "Configure modprobe",
|
||||
"description": [
|
||||
"The 'config' option allows the creation of a `.conf` configuration",
|
||||
"file for modprobe in `/usr/lib/modprobe.d` with the name `filename`.",
|
||||
"Currently supported \"command\" objects are:",
|
||||
" - for 'blacklist' command",
|
||||
" - 'command' property value: \"blacklist\"",
|
||||
" - 'modulename' property value: a non-empty string with the name of a module",
|
||||
" - for 'install' command",
|
||||
" - 'command' property value: \"install\"",
|
||||
" - 'modulename' property value: a non-empty string with the name of a module",
|
||||
" - 'cmdline' property value: a non-empty string representing the command to",
|
||||
" run instead of inserting the specified module."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commands",
|
||||
"filename"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the modprobe configuration file.",
|
||||
"pattern": "^[\\w.-]{1,250}\\.conf$"
|
||||
},
|
||||
"commands": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commands",
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"description": "Name of the modprobe configuration file.",
|
||||
"pattern": "^[\\w.-]{1,250}\\.conf$"
|
||||
},
|
||||
"commands": {
|
||||
"additionalProperties": false,
|
||||
"type": "array",
|
||||
"description": "Array of modprobe commands",
|
||||
"minLength": 1,
|
||||
"items": {
|
||||
"anyOf": [
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "'blacklist' command",
|
||||
"required": [
|
||||
"command",
|
||||
"modulename"
|
||||
],
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"blacklist"
|
||||
],
|
||||
"description": "modprobe command."
|
||||
},
|
||||
"modulename": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "name of the module to blacklist."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "'install' command",
|
||||
"required": [
|
||||
"command",
|
||||
"modulename",
|
||||
"cmdline"
|
||||
],
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"install"
|
||||
],
|
||||
"description": "modprobe command."
|
||||
},
|
||||
"modulename": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "name of the module to blacklis."
|
||||
},
|
||||
"cmdline": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "command to run instead of inserting the specified module as normal."
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"type": "array",
|
||||
"description": "Array of modprobe commands",
|
||||
"minLength": 1,
|
||||
"items": {
|
||||
"anyOf": [
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "'blacklist' command",
|
||||
"required": [
|
||||
"command",
|
||||
"modulename"
|
||||
],
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"blacklist"
|
||||
],
|
||||
"description": "modprobe command."
|
||||
},
|
||||
"modulename": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "name of the module to blacklist."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "'install' command",
|
||||
"required": [
|
||||
"command",
|
||||
"modulename",
|
||||
"cmdline"
|
||||
],
|
||||
"properties": {
|
||||
"command": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"install"
|
||||
],
|
||||
"description": "modprobe command."
|
||||
},
|
||||
"modulename": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "name of the module to blacklis."
|
||||
},
|
||||
"cmdline": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "command to run instead of inserting the specified module as normal."
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +1,42 @@
|
|||
{
|
||||
"summary": "Write nginx configuration",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string",
|
||||
"description": "Config file location",
|
||||
"default": "/etc/nginx/nginx.conf",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"listen": {
|
||||
"type": "string",
|
||||
"description": "The address and/or port on which the server will accept requests",
|
||||
"default": "*:80"
|
||||
},
|
||||
"root": {
|
||||
"type": "string",
|
||||
"description": "The root directory for requests",
|
||||
"default": "/usr/share/nginx/html"
|
||||
},
|
||||
"pid": {
|
||||
"type": "string",
|
||||
"description": "File that will store the process ID of the main process",
|
||||
"default": "/run/nginx.pid"
|
||||
},
|
||||
"daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Whether nginx should become a daemon",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Write nginx configuration",
|
||||
"description": [],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string",
|
||||
"description": "Config file location",
|
||||
"default": "/etc/nginx/nginx.conf",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"listen": {
|
||||
"type": "string",
|
||||
"description": "The address and/or port on which the server will accept requests",
|
||||
"default": "*:80"
|
||||
},
|
||||
"root": {
|
||||
"type": "string",
|
||||
"description": "The root directory for requests",
|
||||
"default": "/usr/share/nginx/html"
|
||||
},
|
||||
"pid": {
|
||||
"type": "string",
|
||||
"description": "File that will store the process ID of the main process",
|
||||
"default": "/run/nginx.pid"
|
||||
},
|
||||
"daemon": {
|
||||
"type": "boolean",
|
||||
"description": "Whether nginx should become a daemon",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,139 +1,139 @@
|
|||
{
|
||||
"summary": "Create NetworkManager configuration files.",
|
||||
"description": [
|
||||
"This stages allows to create NetworkManager configuration files in the",
|
||||
"location specified via `path` with the `settings` provided. Only a",
|
||||
"subset of the all options are currently supported.",
|
||||
"The stage will use `true` and `false` for boolean values and `,` as",
|
||||
"list separator.",
|
||||
"NetworkManger looks in the following locations for configuration files:",
|
||||
" - /etc/NetworkManager/NetworkManager.conf",
|
||||
" - /etc/NetworkManager/conf.d/name.conf",
|
||||
" - /usr/lib/NetworkManager/conf.d/name.conf,",
|
||||
" and also in the following locations that very likely should not be used:",
|
||||
" - /run/NetworkManager/conf.d/name.conf",
|
||||
" -/var/lib/NetworkManager/NetworkManager-intern.conf"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"device-list": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"str-array": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"managed": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"wifi.scan-rand-mac-address": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"global-dns-domain": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"servers"
|
||||
],
|
||||
"properties": {
|
||||
"servers": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Create NetworkManager configuration files.",
|
||||
"description": [
|
||||
"This stages allows to create NetworkManager configuration files in the",
|
||||
"location specified via `path` with the `settings` provided. Only a",
|
||||
"subset of the all options are currently supported.",
|
||||
"The stage will use `true` and `false` for boolean values and `,` as",
|
||||
"list separator.",
|
||||
"NetworkManger looks in the following locations for configuration files:",
|
||||
" - /etc/NetworkManager/NetworkManager.conf",
|
||||
" - /etc/NetworkManager/conf.d/name.conf",
|
||||
" - /usr/lib/NetworkManager/conf.d/name.conf,",
|
||||
" and also in the following locations that very likely should not be used:",
|
||||
" - /run/NetworkManager/conf.d/name.conf",
|
||||
" -/var/lib/NetworkManager/NetworkManager-intern.conf"
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"device-list": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"str-array": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"device": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"managed": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"wifi.scan-rand-mac-address": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"global-dns-domain": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path",
|
||||
"settings"
|
||||
"servers"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"settings": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"main": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"no-auto-default": {
|
||||
"$ref": "#/definitions/device-list"
|
||||
},
|
||||
"plugins": {
|
||||
"$ref": "#/definitions/str-array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"device": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"$ref": "#/definitions/device"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"global-dns-domain": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"config"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"$ref": "#/definitions/global-dns-domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"keyfile": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"unmanaged-devices": {
|
||||
"$ref": "#/definitions/device-list"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"servers": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path",
|
||||
"settings"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"settings": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"main": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"no-auto-default": {
|
||||
"$ref": "#/definitions/device-list"
|
||||
},
|
||||
"plugins": {
|
||||
"$ref": "#/definitions/str-array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"device": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"$ref": "#/definitions/device"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"global-dns-domain": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"config"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"$ref": "#/definitions/global-dns-domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"keyfile": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"unmanaged-devices": {
|
||||
"$ref": "#/definitions/device-list"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,223 +1,223 @@
|
|||
{
|
||||
"summary": "Configure Network Manager Connections",
|
||||
"description": [
|
||||
"This stage allows to create system connections for network manager.",
|
||||
"Currently the connections are created in directory for shipped",
|
||||
"system connections, `/usr/lib/NetworkManager/system-connections`,",
|
||||
"if `filename` is used. Otherwise, `path` can be used to create",
|
||||
"connections in any directory with any suffix.",
|
||||
"Currently only configuring \"ethernet\" connections is supported,",
|
||||
"and here only a subset of the available options. See the schema",
|
||||
"for more information."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"connection": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"uuid",
|
||||
"type"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
},
|
||||
"autoconnect": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"interface-name": {
|
||||
"type": "string"
|
||||
},
|
||||
"autoconnect-priority": {
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ethernet": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"connection"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"connection": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/connection"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/802-3-ethernet-connection"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ipv4": {
|
||||
"$ref": "#/definitions/ipv4"
|
||||
},
|
||||
"ipv6": {
|
||||
"$ref": "#/definitions/ipv6"
|
||||
},
|
||||
"ethernet": {
|
||||
"$ref": "#/definitions/802-3-ethernet"
|
||||
}
|
||||
}
|
||||
},
|
||||
"802-3-ethernet-connection": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"type"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"enum": [
|
||||
"802-3-ethernet",
|
||||
"ethernet"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ipv4-ignore"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/ipv4-auto"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/ipv4-manual"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ipv4-ignore": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"ignore"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4-auto": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"auto"
|
||||
]
|
||||
},
|
||||
"dns-search": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4-manual": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"manual"
|
||||
]
|
||||
},
|
||||
"address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/ipv4-address"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4-address": {
|
||||
"type": "string"
|
||||
},
|
||||
"ipv6": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ipv6-ignore"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ipv6-ignore": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"ignore"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"802-3-ethernet": {
|
||||
"additionalProperties": true,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"mac-address": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Configure Network Manager Connections",
|
||||
"description": [
|
||||
"This stage allows to create system connections for network manager.",
|
||||
"Currently the connections are created in directory for shipped",
|
||||
"system connections, `/usr/lib/NetworkManager/system-connections`,",
|
||||
"if `filename` is used. Otherwise, `path` can be used to create",
|
||||
"connections in any directory with any suffix.",
|
||||
"Currently only configuring \"ethernet\" connections is supported,",
|
||||
"and here only a subset of the available options. See the schema",
|
||||
"for more information."
|
||||
],
|
||||
"schema": {
|
||||
"definitions": {
|
||||
"connection": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"uuid",
|
||||
"type"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
},
|
||||
"autoconnect": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"interface-name": {
|
||||
"type": "string"
|
||||
},
|
||||
"autoconnect-priority": {
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ethernet": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"connection"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"connection": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/connection"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/802-3-ethernet-connection"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ipv4": {
|
||||
"$ref": "#/definitions/ipv4"
|
||||
},
|
||||
"ipv6": {
|
||||
"$ref": "#/definitions/ipv6"
|
||||
},
|
||||
"ethernet": {
|
||||
"$ref": "#/definitions/802-3-ethernet"
|
||||
}
|
||||
}
|
||||
},
|
||||
"802-3-ethernet-connection": {
|
||||
"additionalProperties": true,
|
||||
"required": [
|
||||
"type"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"enum": [
|
||||
"802-3-ethernet",
|
||||
"ethernet"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4": {
|
||||
"oneOf": [
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename",
|
||||
"settings"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"pattern": "^[\\w.-]{1,242}.nmconnection$"
|
||||
},
|
||||
"settings": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ethernet"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path",
|
||||
"settings"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"settings": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ethernet"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
"$ref": "#/definitions/ipv4-ignore"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/ipv4-auto"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/ipv4-manual"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"ipv4-ignore": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"ignore"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4-auto": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"auto"
|
||||
]
|
||||
},
|
||||
"dns-search": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4-manual": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"manual"
|
||||
]
|
||||
},
|
||||
"address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/ipv4-address"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipv4-address": {
|
||||
"type": "string"
|
||||
},
|
||||
"ipv6": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ipv6-ignore"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ipv6-ignore": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"method"
|
||||
],
|
||||
"properties": {
|
||||
"method": {
|
||||
"enum": [
|
||||
"ignore"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"802-3-ethernet": {
|
||||
"additionalProperties": true,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"mac-address": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename",
|
||||
"settings"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"pattern": "^[\\w.-]{1,242}.nmconnection$"
|
||||
},
|
||||
"settings": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ethernet"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path",
|
||||
"settings"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"settings": {
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ethernet"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
{
|
||||
"summary": "Do Nothing",
|
||||
"description": [
|
||||
"No-op stage. Prints a JSON dump of the options passed into this stage and",
|
||||
"leaves the tree untouched. Useful for testing, debugging, and wasting time."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": true
|
||||
},
|
||||
"devices": {
|
||||
"additionalProperties": true
|
||||
},
|
||||
"inputs": {
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"additionalProperties": true
|
||||
}
|
||||
"summary": "Do Nothing",
|
||||
"description": [
|
||||
"No-op stage. Prints a JSON dump of the options passed into this stage and",
|
||||
"leaves the tree untouched. Useful for testing, debugging, and wasting time."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": true
|
||||
},
|
||||
"devices": {
|
||||
"additionalProperties": true
|
||||
},
|
||||
"inputs": {
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,148 +1,148 @@
|
|||
{
|
||||
"summary": "Assemble an OCI image archive",
|
||||
"description": [
|
||||
"Assemble an Open Container Initiative[1] image[2] archive, i.e. a",
|
||||
"tarball whose contents is in the OCI image layout.",
|
||||
"The content of the container will consist of the base layer provided",
|
||||
"via the `base` layer. On top of that further inputs provided via the",
|
||||
"`layer.X` inputs that are sorted in ascending order.",
|
||||
"Currently the only required options are `filename` and `architecture`.",
|
||||
"The execution parameters for the image, which then should form the base",
|
||||
"for the container, can be given via `config`. They have the same format",
|
||||
"as the `config` option for the \"OCI Image Configuration\" (see [2]),",
|
||||
"except those that map to the \"Go type map[string]struct{}\", which are",
|
||||
"represented as array of strings.",
|
||||
"Manifest annotations can be included via the `annotation` options. Any",
|
||||
"`key`, `value` pair is allowed, with the exception of the pre-defined",
|
||||
"`org.osbuild` and `org.opencontainer` namespaces.",
|
||||
"Specific annotations can be used to indicate that a container contains",
|
||||
"an OSTree commit via the following:",
|
||||
" - `org.osbuild.layer`: The layer containing the OSTree repository",
|
||||
" - `org.osbuild.repo`: Path inside the container to the repository",
|
||||
" - `org.osbuild.ref`: OSTree reference of the commit inside the repo",
|
||||
"The `org.osbuild.layer` value can either bey a index (starting at 0),",
|
||||
"or a digest in the form of <algorithm>:<checksum>.",
|
||||
"The final resulting tarball, aka a \"oci-archive\", can be imported via",
|
||||
"podman[3] with `podman pull oci-archive:<archive>`.",
|
||||
"[1] https://www.opencontainers.org/",
|
||||
"[2] https://github.com/opencontainers/image-spec/",
|
||||
"[3] https://podman.io/"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"architecture",
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"description": "The CPU architecture of the image",
|
||||
"type": "string"
|
||||
},
|
||||
"filename": {
|
||||
"description": "Resulting image filename",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"description": "The execution parameters",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"Cmd": {
|
||||
"type": "array",
|
||||
"default": [
|
||||
"sh"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"Entrypoint": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"Env": {
|
||||
"type": "array",
|
||||
"default": [
|
||||
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"ExposedPorts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"User": {
|
||||
"type": "string"
|
||||
},
|
||||
"Labels": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"StopSiganl": {
|
||||
"type": "string"
|
||||
},
|
||||
"Volumes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"WorkingDir": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"annotations": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"org.osbuild.ostree.layer": {
|
||||
"description": "The layer that contains the OSTree repository",
|
||||
"type": "string"
|
||||
},
|
||||
"org.osbuild.ostree.repo": {
|
||||
"description": "Path to the OSTree repository inside the layer",
|
||||
"type": "string"
|
||||
},
|
||||
"org.osbuild.ostree.ref": {
|
||||
"description": "Reference of the OSTree commit in the repository",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^(?!org.osbuild|org.opencontainer).+": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Assemble an OCI image archive",
|
||||
"description": [
|
||||
"Assemble an Open Container Initiative[1] image[2] archive, i.e. a",
|
||||
"tarball whose contents is in the OCI image layout.",
|
||||
"The content of the container will consist of the base layer provided",
|
||||
"via the `base` layer. On top of that further inputs provided via the",
|
||||
"`layer.X` inputs that are sorted in ascending order.",
|
||||
"Currently the only required options are `filename` and `architecture`.",
|
||||
"The execution parameters for the image, which then should form the base",
|
||||
"for the container, can be given via `config`. They have the same format",
|
||||
"as the `config` option for the \"OCI Image Configuration\" (see [2]),",
|
||||
"except those that map to the \"Go type map[string]struct{}\", which are",
|
||||
"represented as array of strings.",
|
||||
"Manifest annotations can be included via the `annotation` options. Any",
|
||||
"`key`, `value` pair is allowed, with the exception of the pre-defined",
|
||||
"`org.osbuild` and `org.opencontainer` namespaces.",
|
||||
"Specific annotations can be used to indicate that a container contains",
|
||||
"an OSTree commit via the following:",
|
||||
" - `org.osbuild.layer`: The layer containing the OSTree repository",
|
||||
" - `org.osbuild.repo`: Path inside the container to the repository",
|
||||
" - `org.osbuild.ref`: OSTree reference of the commit inside the repo",
|
||||
"The `org.osbuild.layer` value can either bey a index (starting at 0),",
|
||||
"or a digest in the form of <algorithm>:<checksum>.",
|
||||
"The final resulting tarball, aka a \"oci-archive\", can be imported via",
|
||||
"podman[3] with `podman pull oci-archive:<archive>`.",
|
||||
"[1] https://www.opencontainers.org/",
|
||||
"[2] https://github.com/opencontainers/image-spec/",
|
||||
"[3] https://podman.io/"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"architecture",
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"description": "The CPU architecture of the image",
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"base"
|
||||
],
|
||||
"properties": {
|
||||
"base": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"filename": {
|
||||
"description": "Resulting image filename",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"description": "The execution parameters",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"Cmd": {
|
||||
"type": "array",
|
||||
"default": [
|
||||
"sh"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"patternProperties": {
|
||||
"layer\\.[1-9]\\d*": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"Entrypoint": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"Env": {
|
||||
"type": "array",
|
||||
"default": [
|
||||
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"ExposedPorts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"User": {
|
||||
"type": "string"
|
||||
},
|
||||
"Labels": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"StopSiganl": {
|
||||
"type": "string"
|
||||
},
|
||||
"Volumes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"WorkingDir": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"annotations": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"org.osbuild.ostree.layer": {
|
||||
"description": "The layer that contains the OSTree repository",
|
||||
"type": "string"
|
||||
},
|
||||
"org.osbuild.ostree.repo": {
|
||||
"description": "Path to the OSTree repository inside the layer",
|
||||
"type": "string"
|
||||
},
|
||||
"org.osbuild.ostree.ref": {
|
||||
"description": "Reference of the OSTree commit in the repository",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"patternProperties": {
|
||||
"^(?!org.osbuild|org.opencontainer).+": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"base"
|
||||
],
|
||||
"properties": {
|
||||
"base": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"patternProperties": {
|
||||
"layer\\.[1-9]\\d*": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,84 +1,84 @@
|
|||
{
|
||||
"summary": "Execute oscap autotailor",
|
||||
"description": [
|
||||
"The autotailor stage produces a tailoring file that the OpenSCAP scanner can use to scan",
|
||||
"and remediate a system. The autotailor rules override a base profile either enabling or",
|
||||
"disabling (selecting or unselecting) a given rule for the profile. The autotailor command",
|
||||
"generates and xml diff between the user provided overrides and the base profile.",
|
||||
"Notes:",
|
||||
" - requires `openscap-utils` package in the buildroot."
|
||||
"summary": "Execute oscap autotailor",
|
||||
"description": [
|
||||
"The autotailor stage produces a tailoring file that the OpenSCAP scanner can use to scan",
|
||||
"and remediate a system. The autotailor rules override a base profile either enabling or",
|
||||
"disabling (selecting or unselecting) a given rule for the profile. The autotailor command",
|
||||
"generates and xml diff between the user provided overrides and the base profile.",
|
||||
"Notes:",
|
||||
" - requires `openscap-utils` package in the buildroot."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filepath",
|
||||
"config"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"filepath": {
|
||||
"type": "string",
|
||||
"description": "Filename and path to where the tailoring file will be saved"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filepath",
|
||||
"config"
|
||||
"profile_id",
|
||||
"datastream",
|
||||
"new_profile"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "OpenSCAP configuration variables",
|
||||
"properties": {
|
||||
"filepath": {
|
||||
"type": "string",
|
||||
"description": "Filename and path to where the tailoring file will be saved"
|
||||
"profile_id": {
|
||||
"type": "string",
|
||||
"description": "The base OpenSCAP profile"
|
||||
},
|
||||
"datastream": {
|
||||
"type": "string",
|
||||
"description": "The path to the datastream file"
|
||||
},
|
||||
"new_profile": {
|
||||
"type": "string",
|
||||
"description": "The name of the new customized OpenSCAP profile"
|
||||
},
|
||||
"selected": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"profile_id",
|
||||
"datastream",
|
||||
"new_profile"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "OpenSCAP configuration variables",
|
||||
"properties": {
|
||||
"profile_id": {
|
||||
"type": "string",
|
||||
"description": "The base OpenSCAP profile"
|
||||
},
|
||||
"datastream": {
|
||||
"type": "string",
|
||||
"description": "The path to the datastream file"
|
||||
},
|
||||
"new_profile": {
|
||||
"type": "string",
|
||||
"description": "The name of the new customized OpenSCAP profile"
|
||||
},
|
||||
"selected": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "The rules to select in addition to the base OpenSCAP profile"
|
||||
},
|
||||
"unselected": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "The rules to deselect from the base OpenSCAP profile"
|
||||
},
|
||||
"overrides": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"var",
|
||||
"value"
|
||||
],
|
||||
"properties": {
|
||||
"var": {
|
||||
"type": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"string",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "The variables to override in the base OpenSCAP profile"
|
||||
}
|
||||
"description": "The rules to select in addition to the base OpenSCAP profile"
|
||||
},
|
||||
"unselected": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "The rules to deselect from the base OpenSCAP profile"
|
||||
},
|
||||
"overrides": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"var",
|
||||
"value"
|
||||
],
|
||||
"properties": {
|
||||
"var": {
|
||||
"type": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"string",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "The variables to override in the base OpenSCAP profile"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,100 +1,100 @@
|
|||
{
|
||||
"summary": "Execute oscap remediation",
|
||||
"description": [
|
||||
"The OpenSCAP scanner can be run on the image tree and the remediation can be carried",
|
||||
"out during build time. The stage takes the OpenSCAP config as input and then runs the",
|
||||
"the utility in chroot to scan and remediate [1] the tree during image at build time.",
|
||||
"The stage generates an html report and xml results file both saved to the `data_dir`",
|
||||
"directory. It defaults to `/root` if not configured.",
|
||||
"[1] https://github.com/OpenSCAP/openscap/blob/maint-1.3/docs/manual/manual.adoc#remediating-system",
|
||||
"Buildhost commands used: `chroot`, `xz`."
|
||||
"summary": "Execute oscap remediation",
|
||||
"description": [
|
||||
"The OpenSCAP scanner can be run on the image tree and the remediation can be carried",
|
||||
"out during build time. The stage takes the OpenSCAP config as input and then runs the",
|
||||
"the utility in chroot to scan and remediate [1] the tree during image at build time.",
|
||||
"The stage generates an html report and xml results file both saved to the `data_dir`",
|
||||
"directory. It defaults to `/root` if not configured.",
|
||||
"[1] https://github.com/OpenSCAP/openscap/blob/maint-1.3/docs/manual/manual.adoc#remediating-system",
|
||||
"Buildhost commands used: `chroot`, `xz`."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"data_dir": {
|
||||
"type": "string",
|
||||
"default": "/root",
|
||||
"description": "Path to directory where OpenSCAP reports and results should be saved"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"config"
|
||||
"profile_id",
|
||||
"datastream"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "OpenSCAP configuration variables",
|
||||
"properties": {
|
||||
"data_dir": {
|
||||
"type": "string",
|
||||
"default": "/root",
|
||||
"description": "Path to directory where OpenSCAP reports and results should be saved"
|
||||
},
|
||||
"config": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"profile_id",
|
||||
"datastream"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "OpenSCAP configuration variables",
|
||||
"properties": {
|
||||
"profile_id": {
|
||||
"type": "string",
|
||||
"description": "The SCAP (XCCDF) profile id"
|
||||
},
|
||||
"datastream": {
|
||||
"type": "string",
|
||||
"description": "The path to the data stream file"
|
||||
},
|
||||
"datastream_id": {
|
||||
"type": "string",
|
||||
"description": "The data stream id"
|
||||
},
|
||||
"xccdf_id": {
|
||||
"type": "string",
|
||||
"description": "The XCCDF id"
|
||||
},
|
||||
"benchmark_id": {
|
||||
"type": "string",
|
||||
"description": "The benchmark id"
|
||||
},
|
||||
"tailoring": {
|
||||
"type": "string",
|
||||
"description": "The path to the custom tailoring file"
|
||||
},
|
||||
"tailoring_id": {
|
||||
"type": "string",
|
||||
"description": "The tailoring id"
|
||||
},
|
||||
"arf_results": {
|
||||
"type": "string",
|
||||
"description": "Filename for storing the ARF results file"
|
||||
},
|
||||
"xml_results": {
|
||||
"type": "string",
|
||||
"description": "Filename for storing the ARF results file (synonym for arf_results)"
|
||||
},
|
||||
"xccdf_results": {
|
||||
"type": "string",
|
||||
"default": "oscap_eval_xccdf_results.xml",
|
||||
"description": "Filename for storing the XCCDF results file"
|
||||
},
|
||||
"html_report": {
|
||||
"type": "string",
|
||||
"description": "Filename for saving the final HTML report"
|
||||
},
|
||||
"verbose_log": {
|
||||
"type": "string",
|
||||
"description": "Filename for verbose error messages"
|
||||
},
|
||||
"verbose_level": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"DEVEL",
|
||||
"INFO",
|
||||
"WARNING",
|
||||
"ERROR"
|
||||
],
|
||||
"description": "The verbosity level for the log messages"
|
||||
},
|
||||
"compress_results": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Compress ARF and XCCDF results file(s) with xz"
|
||||
}
|
||||
}
|
||||
}
|
||||
"profile_id": {
|
||||
"type": "string",
|
||||
"description": "The SCAP (XCCDF) profile id"
|
||||
},
|
||||
"datastream": {
|
||||
"type": "string",
|
||||
"description": "The path to the data stream file"
|
||||
},
|
||||
"datastream_id": {
|
||||
"type": "string",
|
||||
"description": "The data stream id"
|
||||
},
|
||||
"xccdf_id": {
|
||||
"type": "string",
|
||||
"description": "The XCCDF id"
|
||||
},
|
||||
"benchmark_id": {
|
||||
"type": "string",
|
||||
"description": "The benchmark id"
|
||||
},
|
||||
"tailoring": {
|
||||
"type": "string",
|
||||
"description": "The path to the custom tailoring file"
|
||||
},
|
||||
"tailoring_id": {
|
||||
"type": "string",
|
||||
"description": "The tailoring id"
|
||||
},
|
||||
"arf_results": {
|
||||
"type": "string",
|
||||
"description": "Filename for storing the ARF results file"
|
||||
},
|
||||
"xml_results": {
|
||||
"type": "string",
|
||||
"description": "Filename for storing the ARF results file (synonym for arf_results)"
|
||||
},
|
||||
"xccdf_results": {
|
||||
"type": "string",
|
||||
"default": "oscap_eval_xccdf_results.xml",
|
||||
"description": "Filename for storing the XCCDF results file"
|
||||
},
|
||||
"html_report": {
|
||||
"type": "string",
|
||||
"description": "Filename for saving the final HTML report"
|
||||
},
|
||||
"verbose_log": {
|
||||
"type": "string",
|
||||
"description": "Filename for verbose error messages"
|
||||
},
|
||||
"verbose_level": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"DEVEL",
|
||||
"INFO",
|
||||
"WARNING",
|
||||
"ERROR"
|
||||
],
|
||||
"description": "The verbosity level for the log messages"
|
||||
},
|
||||
"compress_results": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Compress ARF and XCCDF results file(s) with xz"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,87 +1,87 @@
|
|||
{
|
||||
"summary": "Create aleph version file for the deployment.",
|
||||
"description": [],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
],
|
||||
"properties": {
|
||||
"coreos_compat": {
|
||||
"description": "boolean to allow for CoreOS aleph version backwards compatibility",
|
||||
"type": "boolean"
|
||||
},
|
||||
"deployment": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
"summary": "Create aleph version file for the deployment.",
|
||||
"description": [],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
],
|
||||
"properties": {
|
||||
"coreos_compat": {
|
||||
"description": "boolean to allow for CoreOS aleph version backwards compatibility",
|
||||
"type": "boolean"
|
||||
},
|
||||
"deployment": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,58 +1,58 @@
|
|||
{
|
||||
"summary": "Assemble a file system tree into a ostree commit",
|
||||
"description": [
|
||||
"Needs a file system tree that is already conforming to the ostree",
|
||||
"system layout[1], specified via the `tree` input and commits it",
|
||||
"to a repository. The repository must have been created at `/repo`.",
|
||||
"Additional metadata is stored in `/compose.json` which contains",
|
||||
"the commit compose information. This is also returned via the",
|
||||
"metadata API to osbuild.",
|
||||
"[1] https://ostree.readthedocs.io/en/stable/manual/adapting-existing/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN",
|
||||
"CAP_NET_ADMIN",
|
||||
"CAP_SYS_PTRACE"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"ref"
|
||||
],
|
||||
"properties": {
|
||||
"ref": {
|
||||
"description": "OStree ref to create for the commit",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"os_version": {
|
||||
"description": "Set the version of the OS as commit metadata",
|
||||
"type": "string"
|
||||
},
|
||||
"parent": {
|
||||
"description": "commit id of the parent commit",
|
||||
"type": "string"
|
||||
},
|
||||
"selinux-label-version": {
|
||||
"description": "Set selinux label version",
|
||||
"type": "integer",
|
||||
"default": 0
|
||||
}
|
||||
}
|
||||
"summary": "Assemble a file system tree into a ostree commit",
|
||||
"description": [
|
||||
"Needs a file system tree that is already conforming to the ostree",
|
||||
"system layout[1], specified via the `tree` input and commits it",
|
||||
"to a repository. The repository must have been created at `/repo`.",
|
||||
"Additional metadata is stored in `/compose.json` which contains",
|
||||
"the commit compose information. This is also returned via the",
|
||||
"metadata API to osbuild.",
|
||||
"[1] https://ostree.readthedocs.io/en/stable/manual/adapting-existing/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN",
|
||||
"CAP_NET_ADMIN",
|
||||
"CAP_SYS_PTRACE"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"ref"
|
||||
],
|
||||
"properties": {
|
||||
"ref": {
|
||||
"description": "OStree ref to create for the commit",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tree"
|
||||
],
|
||||
"properties": {
|
||||
"tree": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
"os_version": {
|
||||
"description": "Set the version of the OS as commit metadata",
|
||||
"type": "string"
|
||||
},
|
||||
"parent": {
|
||||
"description": "commit id of the parent commit",
|
||||
"type": "string"
|
||||
},
|
||||
"selinux-label-version": {
|
||||
"description": "Set selinux label version",
|
||||
"type": "integer",
|
||||
"default": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"tree"
|
||||
],
|
||||
"properties": {
|
||||
"tree": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,61 +1,61 @@
|
|||
{
|
||||
"summary": "Change OSTree configuration",
|
||||
"description": [
|
||||
"Change the configuration for an OSTree repository.",
|
||||
"Currently only the following values are supported:",
|
||||
" - `sysroot.readonly`",
|
||||
" - `sysroot.bootloader`",
|
||||
"See `ostree.repo-config(5)` for more information."
|
||||
"summary": "Change OSTree configuration",
|
||||
"description": [
|
||||
"Change the configuration for an OSTree repository.",
|
||||
"Currently only the following values are supported:",
|
||||
" - `sysroot.readonly`",
|
||||
" - `sysroot.bootloader`",
|
||||
"See `ostree.repo-config(5)` for more information."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"description": "OSTree configuration groups",
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"sysroot": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Options concerning the sysroot",
|
||||
"properties": {
|
||||
"bootloader": {
|
||||
"description": "Configure the bootloader that OSTree uses (use 'none' for BLS).",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"none",
|
||||
"auto",
|
||||
"grub2",
|
||||
"syslinux",
|
||||
"uboot",
|
||||
"zipl",
|
||||
"aboot"
|
||||
]
|
||||
},
|
||||
"bootprefix": {
|
||||
"description": "If set to true, the bootloader entries generated will include /boot as a prefix.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"readonly": {
|
||||
"description": "Read only sysroot and boot",
|
||||
"type": "boolean"
|
||||
},
|
||||
"bls-append-except-default": {
|
||||
"description": "Set value for bls-append-except-default",
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "OSTree configuration groups",
|
||||
"properties": {
|
||||
"sysroot": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Options concerning the sysroot",
|
||||
"properties": {
|
||||
"bootloader": {
|
||||
"description": "Configure the bootloader that OSTree uses (use 'none' for BLS).",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"none",
|
||||
"auto",
|
||||
"grub2",
|
||||
"syslinux",
|
||||
"uboot",
|
||||
"zipl",
|
||||
"aboot"
|
||||
]
|
||||
},
|
||||
"bootprefix": {
|
||||
"description": "If set to true, the bootloader entries generated will include /boot as a prefix.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"readonly": {
|
||||
"description": "Read only sysroot and boot",
|
||||
"type": "boolean"
|
||||
},
|
||||
"bls-append-except-default": {
|
||||
"description": "Set value for bls-append-except-default",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,88 +1,88 @@
|
|||
{
|
||||
"summary": "Deploy an OStree commit",
|
||||
"description": [
|
||||
"Create an OSTree deployment[1] for a given container image input"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"osname",
|
||||
"target_imgref"
|
||||
],
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"target_imgref": {
|
||||
"description": "imageref used as the source of truth for updates",
|
||||
"type": "string",
|
||||
"pattern": "^(ostree-remote-registry|ostree-image-signed|ostree-unverified-registry):.*$",
|
||||
"examples": [
|
||||
"ostree-remote-registry:fedora:quay.io/fedora/fedora-coreos:stable, ostree-image-signed:quay.io/fedora/fedora-coreos:stable, ostree-unverified-registry:quay.io/fedora/fedora-coreos:stable"
|
||||
]
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Deploy an OStree commit",
|
||||
"description": [
|
||||
"Create an OSTree deployment[1] for a given container image input"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"osname",
|
||||
"target_imgref"
|
||||
],
|
||||
"properties": {
|
||||
"mounts": {
|
||||
"description": "Mount points of the final file system",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of one mount point",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"images"
|
||||
],
|
||||
"properties": {
|
||||
"images": {
|
||||
"type": "object",
|
||||
"description": "Container Image to deploy",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"target_imgref": {
|
||||
"description": "imageref used as the source of truth for updates",
|
||||
"type": "string",
|
||||
"pattern": "^(ostree-remote-registry|ostree-image-signed|ostree-unverified-registry):.*$",
|
||||
"examples": [
|
||||
"ostree-remote-registry:fedora:quay.io/fedora/fedora-coreos:stable, ostree-image-signed:quay.io/fedora/fedora-coreos:stable, ostree-unverified-registry:quay.io/fedora/fedora-coreos:stable"
|
||||
]
|
||||
},
|
||||
"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": [
|
||||
"images"
|
||||
],
|
||||
"properties": {
|
||||
"images": {
|
||||
"type": "object",
|
||||
"description": "Container Image to deploy",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,98 +1,98 @@
|
|||
{
|
||||
"summary": "Deploy an OStree commit",
|
||||
"description": [
|
||||
"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/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"summary": "Deploy an OStree commit",
|
||||
"description": [
|
||||
"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/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commits"
|
||||
],
|
||||
"properties": {
|
||||
"commits": {
|
||||
"type": "object",
|
||||
"description": "OStree commit to deploy",
|
||||
"additionalProperties": true
|
||||
}
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,66 +1,66 @@
|
|||
{
|
||||
"summary": "Wrap OSTree commits into a oci container image",
|
||||
"description": [
|
||||
"For more information see [1].",
|
||||
"[1] https://github.com/ostreedev/ostree-rs-ext#module-container-bridging-between-ostree-and-ocidocker-images"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Resulting image filename",
|
||||
"type": "string"
|
||||
},
|
||||
"cmd": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"copymeta": {
|
||||
"description": "Propagate an OSTree commit metadata key to container label",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"format_version": {
|
||||
"type": "integer",
|
||||
"description": "The encapsulated container format version",
|
||||
"default": 1
|
||||
},
|
||||
"labels": {
|
||||
"description": "Additional labels for the container",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"max_layers": {
|
||||
"description": "Maximum number of container image layers",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
"summary": "Wrap OSTree commits into a oci container image",
|
||||
"description": [
|
||||
"For more information see [1].",
|
||||
"[1] https://github.com/ostreedev/ostree-rs-ext#module-container-bridging-between-ostree-and-ocidocker-images"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"filename"
|
||||
],
|
||||
"properties": {
|
||||
"filename": {
|
||||
"description": "Resulting image filename",
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commit"
|
||||
],
|
||||
"properties": {
|
||||
"commit": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
"cmd": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"copymeta": {
|
||||
"description": "Propagate an OSTree commit metadata key to container label",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"format_version": {
|
||||
"type": "integer",
|
||||
"description": "The encapsulated container format version",
|
||||
"default": 1
|
||||
},
|
||||
"labels": {
|
||||
"description": "Additional labels for the container",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"max_layers": {
|
||||
"description": "Maximum number of container image layers",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commit"
|
||||
],
|
||||
"properties": {
|
||||
"commit": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,78 +1,78 @@
|
|||
{
|
||||
"summary": "Pre-populate /var directory for a given stateroot.",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"summary": "Pre-populate /var directory for a given stateroot.",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
],
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,32 @@
|
|||
{
|
||||
"summary": "Generate ed25519 public/private keypair in format used by `ostree sign`.",
|
||||
"description": [
|
||||
"This is used with the org.osbuild.ostree.sign stage, and these can be",
|
||||
"used with composefs to tie an initrd and ostree commit together. See",
|
||||
"https://ostreedev.github.io/ostree/composefs/#signatures for details",
|
||||
"of how this works.",
|
||||
"Notes:",
|
||||
" - Requires 'openssl' in the buildroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"publickey",
|
||||
"secretkey"
|
||||
],
|
||||
"properties": {
|
||||
"publickey": {
|
||||
"description": "Path of generated public key",
|
||||
"type": "string",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
},
|
||||
"secretkey": {
|
||||
"description": "Path of generated secret key",
|
||||
"type": "string",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
}
|
||||
}
|
||||
"summary": "Generate ed25519 public/private keypair in format used by `ostree sign`.",
|
||||
"description": [
|
||||
"This is used with the org.osbuild.ostree.sign stage, and these can be",
|
||||
"used with composefs to tie an initrd and ostree commit together. See",
|
||||
"https://ostreedev.github.io/ostree/composefs/#signatures for details",
|
||||
"of how this works.",
|
||||
"Notes:",
|
||||
" - Requires 'openssl' in the buildroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"publickey",
|
||||
"secretkey"
|
||||
],
|
||||
"properties": {
|
||||
"publickey": {
|
||||
"description": "Path of generated public key",
|
||||
"type": "string",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
},
|
||||
"secretkey": {
|
||||
"description": "Path of generated secret key",
|
||||
"type": "string",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"summary": "Initialize a new root file system",
|
||||
"description": [
|
||||
"Creates the basic file system layout for an OSTree based system."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false
|
||||
}
|
||||
"summary": "Initialize a new root file system",
|
||||
"description": [
|
||||
"Creates the basic file system layout for an OSTree based system."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
{
|
||||
"summary": "Create an ostree repository",
|
||||
"description": [
|
||||
"Uses `ostree init` to create an ostree repository. The",
|
||||
"mode and location can be specified via the `mode` and",
|
||||
"`path` option.",
|
||||
"See the ostree-init(1) man page for more details."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"mode": {
|
||||
"description": "The mode to initialize the repo in.",
|
||||
"enum": [
|
||||
"bare",
|
||||
"bare-user",
|
||||
"bare-user-only",
|
||||
"archive"
|
||||
],
|
||||
"default": "archive"
|
||||
},
|
||||
"path": {
|
||||
"description": "Location where to create the repo at.",
|
||||
"type": "string",
|
||||
"default": "/repo"
|
||||
}
|
||||
}
|
||||
"summary": "Create an ostree repository",
|
||||
"description": [
|
||||
"Uses `ostree init` to create an ostree repository. The",
|
||||
"mode and location can be specified via the `mode` and",
|
||||
"`path` option.",
|
||||
"See the ostree-init(1) man page for more details."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"mode": {
|
||||
"description": "The mode to initialize the repo in.",
|
||||
"enum": [
|
||||
"bare",
|
||||
"bare-user",
|
||||
"bare-user-only",
|
||||
"archive"
|
||||
],
|
||||
"default": "archive"
|
||||
},
|
||||
"path": {
|
||||
"description": "Location where to create the repo at.",
|
||||
"type": "string",
|
||||
"default": "/repo"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,146 +1,146 @@
|
|||
{
|
||||
"summary": "WARNING: This stage is deprecated and shouldn't be used when defining new\n pipelines. Please use the individual ostree.* stages instead.",
|
||||
"description": [
|
||||
"Initialize the sysroot and pull and deploy an OStree commit",
|
||||
"Initializes a clean ostree based system root, pulls the given `commit` and",
|
||||
"creates a deployment from it using `osname` as the new stateroot (see [1]).",
|
||||
"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_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commit"
|
||||
],
|
||||
"properties": {
|
||||
"commit": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"required": [
|
||||
"osname"
|
||||
],
|
||||
"properties": {
|
||||
"mounts": {
|
||||
"description": "Mount points of the final file system",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of one mount point",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"description": "The path of the mount point",
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The mode of the mount point",
|
||||
"type": "integer",
|
||||
"default": 493
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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 create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"remotes": {
|
||||
"description": "Configure remotes for the system repository",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of a remote",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name",
|
||||
"url"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "Identifier for the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"description": "URL of the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"branches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Configured branches for the remote",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"gpgkeys": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "GPG keys for the remote to verify commits",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"populate_var": {
|
||||
"description": "Populate $stateroot/var via systemd-tmpfiles",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
"summary": "WARNING: This stage is deprecated and shouldn't be used when defining new\n pipelines. Please use the individual ostree.* stages instead.",
|
||||
"description": [
|
||||
"Initialize the sysroot and pull and deploy an OStree commit",
|
||||
"Initializes a clean ostree based system root, pulls the given `commit` and",
|
||||
"creates a deployment from it using `osname` as the new stateroot (see [1]).",
|
||||
"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_2": {
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commit"
|
||||
],
|
||||
"properties": {
|
||||
"commit": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"required": [
|
||||
"osname"
|
||||
],
|
||||
"properties": {
|
||||
"mounts": {
|
||||
"description": "Mount points of the final file system",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of one mount point",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"description": "The path of the mount point",
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"description": "The mode of the mount point",
|
||||
"type": "integer",
|
||||
"default": 493
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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 create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"remotes": {
|
||||
"description": "Configure remotes for the system repository",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of a remote",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name",
|
||||
"url"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "Identifier for the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"description": "URL of the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"branches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Configured branches for the remote",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"gpgkeys": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "GPG keys for the remote to verify commits",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"populate_var": {
|
||||
"description": "Populate $stateroot/var via systemd-tmpfiles",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"summary": "Initialize a new stateroot for a new OS",
|
||||
"description": [
|
||||
"Initializes a new stateroot (see [1]) for the OS with the",
|
||||
"name `osname`.",
|
||||
"[1] https://ostree.readthedocs.io/en/latest/manual/deployment/"
|
||||
"summary": "Initialize a new stateroot for a new OS",
|
||||
"description": [
|
||||
"Initializes a new stateroot (see [1]) for the OS with the",
|
||||
"name `osname`.",
|
||||
"[1] https://ostree.readthedocs.io/en/latest/manual/deployment/"
|
||||
],
|
||||
"schema": {
|
||||
"required": [
|
||||
"osname"
|
||||
],
|
||||
"schema": {
|
||||
"required": [
|
||||
"osname"
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,30 @@
|
|||
{
|
||||
"summary": "Populate buildroot with /etc/passwd and /etc/group from an OSTree checkout",
|
||||
"description": [
|
||||
"Using the OSTree checkout provided as in input, copy /usr/etc/passwd and",
|
||||
"/usr/lib/passwd, merge them and store the result into /etc/passwd in the",
|
||||
"buildroot. Do the same for /etc/group file.",
|
||||
"The use case for this stage is when one wants to preserve UIDs and GIDs",
|
||||
"which might change when the system is build from scratch. Creating these",
|
||||
"files before any RPMs (or other packages) are installed will prevent changes",
|
||||
"in UIDs and GIDs."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commits"
|
||||
],
|
||||
"properties": {
|
||||
"commits": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
"summary": "Populate buildroot with /etc/passwd and /etc/group from an OSTree checkout",
|
||||
"description": [
|
||||
"Using the OSTree checkout provided as in input, copy /usr/etc/passwd and",
|
||||
"/usr/lib/passwd, merge them and store the result into /etc/passwd in the",
|
||||
"buildroot. Do the same for /etc/group file.",
|
||||
"The use case for this stage is when one wants to preserve UIDs and GIDs",
|
||||
"which might change when the system is build from scratch. Creating these",
|
||||
"files before any RPMs (or other packages) are installed will prevent changes",
|
||||
"in UIDs and GIDs."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commits"
|
||||
],
|
||||
"properties": {
|
||||
"commits": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,34 @@
|
|||
{
|
||||
"summary": "Apply post-copy updates to an ostree repo/deployment",
|
||||
"description": [
|
||||
"The way osbuild works the ostree deployment is built in a chroot and",
|
||||
"stored as a regular directory of files before finally being copied to",
|
||||
"the physical filesystem. This means that for example, ostree fs-verity",
|
||||
"support doesn't work, as the fs-verity setting of files is not copied.",
|
||||
"To support fs-verity in generated images you have to run this stage",
|
||||
"after copying the final ostree tree onto the target filesystem.",
|
||||
"Notes:",
|
||||
" - Ensure the target filesystem supports fs-verity. See e.g. the",
|
||||
" `verity` option in org.osbuild.mkfs.ext4.",
|
||||
" - Requires ostree version 2023.8 or later in the buildroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"sysroot": {
|
||||
"type": "string",
|
||||
"description": "Custom sysroot path",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
"summary": "Apply post-copy updates to an ostree repo/deployment",
|
||||
"description": [
|
||||
"The way osbuild works the ostree deployment is built in a chroot and",
|
||||
"stored as a regular directory of files before finally being copied to",
|
||||
"the physical filesystem. This means that for example, ostree fs-verity",
|
||||
"support doesn't work, as the fs-verity setting of files is not copied.",
|
||||
"To support fs-verity in generated images you have to run this stage",
|
||||
"after copying the final ostree tree onto the target filesystem.",
|
||||
"Notes:",
|
||||
" - Ensure the target filesystem supports fs-verity. See e.g. the",
|
||||
" `verity` option in org.osbuild.mkfs.ext4.",
|
||||
" - Requires ostree version 2023.8 or later in the buildroot."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"sysroot": {
|
||||
"type": "string",
|
||||
"description": "Custom sysroot path",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"mounts": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,60 +1,60 @@
|
|||
{
|
||||
"summary": "Transforms the tree to an ostree layout",
|
||||
"description": [
|
||||
"Creates a basic fs tree in OSTree layout[1] from scratch and then picks",
|
||||
"the relevenat bits from the tree and moves them over.",
|
||||
"Then uses `rpm-ostree compose` to transform a \"normal\" file system tree",
|
||||
"into an OSTree conforming layout (see [1]). Among other things the main",
|
||||
"steps are:",
|
||||
" - moves /etc to /usr/etc",
|
||||
" - move /boot to /usr/lib/ostree-boot",
|
||||
" - potentially moving /var/lib/rpm",
|
||||
" - re-creates the initramfs (via dracut)",
|
||||
" - adds altfiles module to NSS",
|
||||
" - Re-compiles SELinux policy (semodule -nB)",
|
||||
" - Migrates /usr/etc/{passwd, group} to /usr/lib/",
|
||||
" - Postprocess SELinux policy",
|
||||
" - Convert /var to use tmpfiles.d",
|
||||
" - Prepares symlinks",
|
||||
" - /usr/local -> /var/usrlocal",
|
||||
" - /var/lib/alternatives -> /usr/lib/alternatives",
|
||||
" - /var/lib/vagrant -> /usr/lib/vagrant",
|
||||
" - copies the rpmdb",
|
||||
"The configuration options, `etc_group_members` corresponds to the",
|
||||
"Treefile[2] option of rpm-ostree. In brief: The groups mentioned",
|
||||
"in `etc_group_members` will be stored in /etc/groups instead of",
|
||||
"/usr/etc/groups (which is read-only). Therefore all groups that",
|
||||
"human users need to be part of.",
|
||||
"[1] https://ostreedev.github.io/ostree/adapting-existing/",
|
||||
"[2] https://rpm-ostree.readthedocs.io/en/latest/manual/treefile/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN",
|
||||
"CAP_NET_ADMIN",
|
||||
"CAP_SYS_PTRACE"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"etc_group_members": {
|
||||
"description": "Array of group names to still keep in /etc/group",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"initramfs-args": {
|
||||
"description": "Array of arguments passed to dracut",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"tmp-is-dir": {
|
||||
"description": "Create a regular directory for /tmp",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
"summary": "Transforms the tree to an ostree layout",
|
||||
"description": [
|
||||
"Creates a basic fs tree in OSTree layout[1] from scratch and then picks",
|
||||
"the relevenat bits from the tree and moves them over.",
|
||||
"Then uses `rpm-ostree compose` to transform a \"normal\" file system tree",
|
||||
"into an OSTree conforming layout (see [1]). Among other things the main",
|
||||
"steps are:",
|
||||
" - moves /etc to /usr/etc",
|
||||
" - move /boot to /usr/lib/ostree-boot",
|
||||
" - potentially moving /var/lib/rpm",
|
||||
" - re-creates the initramfs (via dracut)",
|
||||
" - adds altfiles module to NSS",
|
||||
" - Re-compiles SELinux policy (semodule -nB)",
|
||||
" - Migrates /usr/etc/{passwd, group} to /usr/lib/",
|
||||
" - Postprocess SELinux policy",
|
||||
" - Convert /var to use tmpfiles.d",
|
||||
" - Prepares symlinks",
|
||||
" - /usr/local -> /var/usrlocal",
|
||||
" - /var/lib/alternatives -> /usr/lib/alternatives",
|
||||
" - /var/lib/vagrant -> /usr/lib/vagrant",
|
||||
" - copies the rpmdb",
|
||||
"The configuration options, `etc_group_members` corresponds to the",
|
||||
"Treefile[2] option of rpm-ostree. In brief: The groups mentioned",
|
||||
"in `etc_group_members` will be stored in /etc/groups instead of",
|
||||
"/usr/etc/groups (which is read-only). Therefore all groups that",
|
||||
"human users need to be part of.",
|
||||
"[1] https://ostreedev.github.io/ostree/adapting-existing/",
|
||||
"[2] https://rpm-ostree.readthedocs.io/en/latest/manual/treefile/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN",
|
||||
"CAP_NET_ADMIN",
|
||||
"CAP_SYS_PTRACE"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"etc_group_members": {
|
||||
"description": "Array of group names to still keep in /etc/group",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"initramfs-args": {
|
||||
"description": "Array of arguments passed to dracut",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"tmp-is-dir": {
|
||||
"description": "Create a regular directory for /tmp",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +1,44 @@
|
|||
{
|
||||
"summary": "Pull OSTree commits into an existing repo",
|
||||
"description": [
|
||||
"This stage pulls one or more commits, provided via",
|
||||
"the `commits` input into an existing repository at",
|
||||
"a location specified via `repo`.",
|
||||
"If the returned a reference via `ref` it will use",
|
||||
"that to pull the commits."
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"remote": {
|
||||
"description": "Add the 'remote' to the ref spec",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
"summary": "Pull OSTree commits into an existing repo",
|
||||
"description": [
|
||||
"This stage pulls one or more commits, provided via",
|
||||
"the `commits` input into an existing repository at",
|
||||
"a location specified via `repo`.",
|
||||
"If the returned a reference via `ref` it will use",
|
||||
"that to pull the commits."
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commits"
|
||||
],
|
||||
"properties": {
|
||||
"commits": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
"remote": {
|
||||
"description": "Add the 'remote' to the ref spec",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"commits"
|
||||
],
|
||||
"properties": {
|
||||
"commits": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,63 +1,63 @@
|
|||
{
|
||||
"summary": "Configure OSTree remotes for a repository.",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
"summary": "Configure OSTree remotes for a repository.",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo"
|
||||
],
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"remotes": {
|
||||
"description": "Configure remotes for the system repository",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of a remote",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name",
|
||||
"url"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "Identifier for the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"remotes": {
|
||||
"description": "Configure remotes for the system repository",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Description of a remote",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name",
|
||||
"url"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "Identifier for the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"description": "URL for accessing metadata and content for the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"contenturl": {
|
||||
"description": "URL for accessing content. When set, url is used only for metadata. Supports 'mirrorlist=' prefix",
|
||||
"type": "string"
|
||||
},
|
||||
"branches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Configured branches for the remote",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"gpgkeys": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "GPG keys for the remote to verify commits",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"gpgkeypaths": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Path to ASCII-armored GPG key or directory containing ASCII-armored GPG keys to import",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"url": {
|
||||
"description": "URL for accessing metadata and content for the remote",
|
||||
"type": "string"
|
||||
},
|
||||
"contenturl": {
|
||||
"description": "URL for accessing content. When set, url is used only for metadata. Supports 'mirrorlist=' prefix",
|
||||
"type": "string"
|
||||
},
|
||||
"branches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Configured branches for the remote",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"gpgkeys": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "GPG keys for the remote to verify commits",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"gpgkeypaths": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "Path to ASCII-armored GPG key or directory containing ASCII-armored GPG keys to import",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,83 +1,83 @@
|
|||
{
|
||||
"summary": "Fix SELinux labels for an OSTree deployment[1].",
|
||||
"description": [
|
||||
"[1] https://ostree.readthedocs.io/en/latest/manual/deployment/"
|
||||
"summary": "Fix SELinux labels for an OSTree deployment[1].",
|
||||
"description": [
|
||||
"[1] https://ostree.readthedocs.io/en/latest/manual/deployment/"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
],
|
||||
"capabilities": [
|
||||
"CAP_MAC_ADMIN"
|
||||
],
|
||||
"schema": {
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"deployment"
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"deployment": {
|
||||
"additionalProperties": false,
|
||||
"oneOf": [
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"osname",
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"default": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
},
|
||||
"not": {
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"osname"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"ref"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"serial"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
"osname": {
|
||||
"description": "Name of the stateroot to be used in the deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OStree ref to create and use for deployment",
|
||||
"type": "string"
|
||||
},
|
||||
"serial": {
|
||||
"description": "The deployment serial (usually '0')",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"default": {
|
||||
"description": "Find and use the default ostree deployment",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,35 +1,35 @@
|
|||
{
|
||||
"summary": "Sign a commit in an ostree repo",
|
||||
"description": [
|
||||
"Given an ostree commit (referenced by a ref) in a repo and an ed25519",
|
||||
"secret key this adds a signature to the commit detached metadata.",
|
||||
"This commit can then be used to validate the commit, during ostree",
|
||||
"pull, during boot, or at any other time."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo",
|
||||
"ref",
|
||||
"key"
|
||||
],
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OSTree branch name or commit to sign",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"key": {
|
||||
"description": "Path to the secret key",
|
||||
"type": "string",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
}
|
||||
}
|
||||
"summary": "Sign a commit in an ostree repo",
|
||||
"description": [
|
||||
"Given an ostree commit (referenced by a ref) in a repo and an ed25519",
|
||||
"secret key this adds a signature to the commit detached metadata.",
|
||||
"This commit can then be used to validate the commit, during ostree",
|
||||
"pull, during boot, or at any other time."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"repo",
|
||||
"ref",
|
||||
"key"
|
||||
],
|
||||
"properties": {
|
||||
"repo": {
|
||||
"description": "Location of the OSTree repo.",
|
||||
"type": "string"
|
||||
},
|
||||
"ref": {
|
||||
"description": "OSTree branch name or commit to sign",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"key": {
|
||||
"description": "Path to the secret key",
|
||||
"type": "string",
|
||||
"pattern": "^\\/(?!\\.\\.)((?!\\/\\.\\.\\/).)+$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
{
|
||||
"summary": "Create OVF descriptor and manifest",
|
||||
"description": [
|
||||
"Generates a OVF descriptor (xml) for a vmdk intended for vSphere.",
|
||||
"The OVF descriptor has minimal virtual hardware and no network.",
|
||||
"Hardware and network can be configured during or after importing",
|
||||
"into vSphere.",
|
||||
"Buildhost commands used: `qemu-img`."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"vmdk"
|
||||
],
|
||||
"properties": {
|
||||
"vmdk": {
|
||||
"description": "The vmdk image filename present in the root of the tree",
|
||||
"type": "string",
|
||||
"pattern": "[a-zA-Z0-9+_.-]+.vmdk"
|
||||
}
|
||||
}
|
||||
"summary": "Create OVF descriptor and manifest",
|
||||
"description": [
|
||||
"Generates a OVF descriptor (xml) for a vmdk intended for vSphere.",
|
||||
"The OVF descriptor has minimal virtual hardware and no network.",
|
||||
"Hardware and network can be configured during or after importing",
|
||||
"into vSphere.",
|
||||
"Buildhost commands used: `qemu-img`."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"vmdk"
|
||||
],
|
||||
"properties": {
|
||||
"vmdk": {
|
||||
"description": "The vmdk image filename present in the root of the tree",
|
||||
"type": "string",
|
||||
"pattern": "[a-zA-Z0-9+_.-]+.vmdk"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"summary": "Initialize the Arch Linux keyring for Arch based distributions",
|
||||
"description": [
|
||||
"WARNING: This stage uses chroot() to run the `archlinux-keyring` binary",
|
||||
"from inside the tree."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"keyrings": {
|
||||
"type": "array",
|
||||
"description": "keyrings",
|
||||
"default": "archlinux"
|
||||
}
|
||||
}
|
||||
"summary": "Initialize the Arch Linux keyring for Arch based distributions",
|
||||
"description": [
|
||||
"WARNING: This stage uses chroot() to run the `archlinux-keyring` binary",
|
||||
"from inside the tree."
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"keyrings": {
|
||||
"type": "array",
|
||||
"description": "keyrings",
|
||||
"default": "archlinux"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,61 +1,61 @@
|
|||
{
|
||||
"summary": "Configure pacman",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"type": "string",
|
||||
"description": "pacman architecture",
|
||||
"default": "x86_64"
|
||||
"summary": "Configure pacman",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"type": "string",
|
||||
"description": "pacman architecture",
|
||||
"default": "x86_64"
|
||||
},
|
||||
"repositories": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name",
|
||||
"server"
|
||||
]
|
||||
},
|
||||
"repositories": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name",
|
||||
"server"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"name",
|
||||
"include"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"siglevels": {
|
||||
"type": "array",
|
||||
"minLength": 1,
|
||||
"maxLength": 2,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Required",
|
||||
"Optional",
|
||||
"Never",
|
||||
"TrustAll",
|
||||
"TrustedOnly"
|
||||
]
|
||||
}
|
||||
},
|
||||
"server": {
|
||||
"type": "string"
|
||||
},
|
||||
"include": {
|
||||
"type": "string",
|
||||
"default": "/etc/pacman.d/mirrorlist"
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
"required": [
|
||||
"name",
|
||||
"include"
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"siglevels": {
|
||||
"type": "array",
|
||||
"minLength": 1,
|
||||
"maxLength": 2,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Required",
|
||||
"Optional",
|
||||
"Never",
|
||||
"TrustAll",
|
||||
"TrustedOnly"
|
||||
]
|
||||
}
|
||||
},
|
||||
"server": {
|
||||
"type": "string"
|
||||
},
|
||||
"include": {
|
||||
"type": "string",
|
||||
"default": "/etc/pacman.d/mirrorlist"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,28 @@
|
|||
{
|
||||
"summary": "Verify, and install pacman packages",
|
||||
"description": [
|
||||
"`packages` is an array of objects representing pacman packages. Each package is",
|
||||
"identified by its checksums. Specifically, the content hash of the package.",
|
||||
"This stage will fail if any of the packages can't be found."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"packages"
|
||||
],
|
||||
"properties": {
|
||||
"packages": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
"summary": "Verify, and install pacman packages",
|
||||
"description": [
|
||||
"`packages` is an array of objects representing pacman packages. Each package is",
|
||||
"identified by its checksums. Specifically, the content hash of the package.",
|
||||
"This stage will fail if any of the packages can't be found."
|
||||
],
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"packages"
|
||||
],
|
||||
"properties": {
|
||||
"packages": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
{
|
||||
"summary": "Configure pacman's mirrorlist",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"default": "/etc/pacman.d/mirrorlist"
|
||||
},
|
||||
"mirrors": {
|
||||
"type": "array",
|
||||
"description": "Mirror locations for pacman",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"https://archlinux.org/$repo/os/$arch"
|
||||
]
|
||||
}
|
||||
}
|
||||
"summary": "Configure pacman's mirrorlist",
|
||||
"description": [],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"filename": {
|
||||
"type": "string",
|
||||
"default": "/etc/pacman.d/mirrorlist"
|
||||
},
|
||||
"mirrors": {
|
||||
"type": "array",
|
||||
"description": "Mirror locations for pacman",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"https://archlinux.org/$repo/os/$arch"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue