mirror of
https://github.com/containers/bootc.git
synced 2026-02-05 15:45:53 +01:00
Release 1.7.0
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
committed by
Chris Kyrouac
parent
0bb24c03d2
commit
ae8930b1ad
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -232,7 +232,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "bootc-lib"
|
||||
version = "1.6.0"
|
||||
version = "1.7.0"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
||||
@@ -15,7 +15,7 @@ platforms = ["*-unknown-linux-gnu"]
|
||||
|
||||
[dependencies]
|
||||
# Internal crates
|
||||
bootc-lib = { version = "1.6", path = "../lib" }
|
||||
bootc-lib = { version = "1.7", path = "../lib" }
|
||||
bootc-utils = { package = "bootc-internal-utils", path = "../utils", version = "0.0.0" }
|
||||
|
||||
# Workspace dependencies
|
||||
|
||||
@@ -6,7 +6,7 @@ name = "bootc-lib"
|
||||
repository = "https://github.com/bootc-dev/bootc"
|
||||
# The intention is we'll follow semver here, even though this
|
||||
# project isn't actually published as a crate.
|
||||
version = "1.6.0"
|
||||
version = "1.7.0"
|
||||
# In general we try to keep this pinned to what's in the latest RHEL9.
|
||||
# However right now, we bumped to 1.82 as that's what composefs-rs uses.
|
||||
rust-version = "1.82.0"
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Host",
|
||||
"description": "The core host definition",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"apiVersion",
|
||||
"kind"
|
||||
],
|
||||
"properties": {
|
||||
"apiVersion": {
|
||||
"type": "string"
|
||||
@@ -15,55 +11,43 @@
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"default": {},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ObjectMeta"
|
||||
}
|
||||
]
|
||||
"$ref": "#/$defs/ObjectMeta",
|
||||
"default": {}
|
||||
},
|
||||
"spec": {
|
||||
"description": "The spec",
|
||||
"$ref": "#/$defs/HostSpec",
|
||||
"default": {
|
||||
"bootOrder": "default",
|
||||
"image": null
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/HostSpec"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"description": "The status",
|
||||
"$ref": "#/$defs/HostStatus",
|
||||
"default": {
|
||||
"booted": null,
|
||||
"rollback": null,
|
||||
"rollbackQueued": false,
|
||||
"staged": null,
|
||||
"type": null
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/HostStatus"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"required": [
|
||||
"apiVersion",
|
||||
"kind"
|
||||
],
|
||||
"$defs": {
|
||||
"BootEntry": {
|
||||
"description": "A bootable entry",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"incompatible",
|
||||
"pinned"
|
||||
],
|
||||
"properties": {
|
||||
"cachedUpdate": {
|
||||
"description": "The last fetched cached update metadata",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ImageStatus"
|
||||
"$ref": "#/$defs/ImageStatus"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -74,7 +58,7 @@
|
||||
"description": "The image reference",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ImageStatus"
|
||||
"$ref": "#/$defs/ImageStatus"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -89,7 +73,7 @@
|
||||
"description": "If this boot entry is ostree based, the corresponding state",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/BootEntryOstree"
|
||||
"$ref": "#/$defs/BootEntryOstree"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -100,28 +84,32 @@
|
||||
"description": "Whether this entry will be subject to garbage collection",
|
||||
"type": "boolean"
|
||||
},
|
||||
"softRebootCapable": {
|
||||
"description": "This is true if (relative to the booted system) this is a possible target for a soft reboot",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"store": {
|
||||
"description": "The container storage backend",
|
||||
"default": null,
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Store"
|
||||
"$ref": "#/$defs/Store"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
],
|
||||
"default": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"incompatible",
|
||||
"pinned"
|
||||
]
|
||||
},
|
||||
"BootEntryOstree": {
|
||||
"description": "A bootable entry",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"checksum",
|
||||
"deploySerial",
|
||||
"stateroot"
|
||||
],
|
||||
"properties": {
|
||||
"checksum": {
|
||||
"description": "The ostree commit checksum",
|
||||
@@ -131,13 +119,18 @@
|
||||
"description": "The deployment serial",
|
||||
"type": "integer",
|
||||
"format": "uint32",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"stateroot": {
|
||||
"description": "The name of the storage for /etc and /var content",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"stateroot",
|
||||
"checksum",
|
||||
"deploySerial"
|
||||
]
|
||||
},
|
||||
"BootOrder": {
|
||||
"description": "Configuration for system boot ordering.",
|
||||
@@ -145,16 +138,12 @@
|
||||
{
|
||||
"description": "The staged or booted deployment will be booted next",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"default"
|
||||
]
|
||||
"const": "default"
|
||||
},
|
||||
{
|
||||
"description": "The rollback deployment will be booted next",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"rollback"
|
||||
]
|
||||
"const": "rollback"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -164,18 +153,14 @@
|
||||
"properties": {
|
||||
"bootOrder": {
|
||||
"description": "If set, and there is a rollback deployment, it will be set for the next boot.",
|
||||
"default": "default",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/BootOrder"
|
||||
}
|
||||
]
|
||||
"$ref": "#/$defs/BootOrder",
|
||||
"default": "default"
|
||||
},
|
||||
"image": {
|
||||
"description": "The host image",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ImageReference"
|
||||
"$ref": "#/$defs/ImageReference"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -192,7 +177,7 @@
|
||||
"description": "The booted image; this will be unset if the host is not bootc compatible.",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/BootEntry"
|
||||
"$ref": "#/$defs/BootEntry"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -203,14 +188,14 @@
|
||||
"description": "Other deployments (i.e. pinned)",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/BootEntry"
|
||||
"$ref": "#/$defs/BootEntry"
|
||||
}
|
||||
},
|
||||
"rollback": {
|
||||
"description": "The previously booted image",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/BootEntry"
|
||||
"$ref": "#/$defs/BootEntry"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -219,14 +204,14 @@
|
||||
},
|
||||
"rollbackQueued": {
|
||||
"description": "Set to true if the rollback entry is queued for the next boot.",
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"staged": {
|
||||
"description": "The staged image for the next boot",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/BootEntry"
|
||||
"$ref": "#/$defs/BootEntry"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -237,7 +222,7 @@
|
||||
"description": "The detected type of system",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/HostType"
|
||||
"$ref": "#/$defs/HostType"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -247,24 +232,18 @@
|
||||
}
|
||||
},
|
||||
"HostType": {
|
||||
"description": "The detected type of running system. Note that this is not exhaustive and new variants may be added in the future.",
|
||||
"description": "The detected type of running system. Note that this is not exhaustive\nand new variants may be added in the future.",
|
||||
"oneOf": [
|
||||
{
|
||||
"description": "The current system is deployed in a bootc compatible way.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"bootcHost"
|
||||
]
|
||||
"const": "bootcHost"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ImageReference": {
|
||||
"description": "A container image reference with attached transport and signature verification",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"image",
|
||||
"transport"
|
||||
],
|
||||
"properties": {
|
||||
"image": {
|
||||
"description": "The container image reference",
|
||||
@@ -274,7 +253,7 @@
|
||||
"description": "Signature verification type",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ImageSignature"
|
||||
"$ref": "#/$defs/ImageSignature"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -285,7 +264,11 @@
|
||||
"description": "The container image transport",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"image",
|
||||
"transport"
|
||||
]
|
||||
},
|
||||
"ImageSignature": {
|
||||
"description": "An image signature",
|
||||
@@ -293,40 +276,31 @@
|
||||
{
|
||||
"description": "Fetches will use the named ostree remote for signature verification of the ostree commit.",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"ostreeRemote"
|
||||
],
|
||||
"properties": {
|
||||
"ostreeRemote": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"ostreeRemote"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Fetches will defer to the `containers-policy.json`, but we make a best effort to reject `default: insecureAcceptAnything` policy.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"containerPolicy"
|
||||
]
|
||||
"const": "containerPolicy"
|
||||
},
|
||||
{
|
||||
"description": "No signature verification will be performed",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"insecure"
|
||||
]
|
||||
"const": "insecure"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ImageStatus": {
|
||||
"description": "The status of the booted image",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"architecture",
|
||||
"image",
|
||||
"imageDigest"
|
||||
],
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"description": "The hardware architecture of this image",
|
||||
@@ -334,11 +308,7 @@
|
||||
},
|
||||
"image": {
|
||||
"description": "The currently booted image",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/ImageReference"
|
||||
}
|
||||
]
|
||||
"$ref": "#/$defs/ImageReference"
|
||||
},
|
||||
"imageDigest": {
|
||||
"description": "The digest of the fetched image (e.g. sha256:a0...);",
|
||||
@@ -359,7 +329,12 @@
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"image",
|
||||
"imageDigest",
|
||||
"architecture"
|
||||
]
|
||||
},
|
||||
"ObjectMeta": {
|
||||
"type": "object",
|
||||
@@ -402,9 +377,7 @@
|
||||
{
|
||||
"description": "Use the ostree-container storage backend.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ostreeContainer"
|
||||
]
|
||||
"const": "ostreeContainer"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ part of a build process; it will error if any problems are detected.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
**\--rootfs**=*ROOTFS* \[default: /\]
|
||||
**\--rootfs** *\<ROOTFS\>* \[default: /\]
|
||||
|
||||
: Operate on the provided rootfs
|
||||
|
||||
@@ -34,7 +34,7 @@ part of a build process; it will error if any problems are detected.
|
||||
reasonably human friendly. However, there is no commitment to
|
||||
maintaining this exact format; do not parse it via code or scripts
|
||||
|
||||
**\--skip**=*SKIP*
|
||||
**\--skip** *\<SKIP\>*
|
||||
|
||||
: Skip checking the targeted lints, by name. Use \`\--list\` to
|
||||
discover the set of available lints.
|
||||
@@ -53,4 +53,4 @@ part of a build process; it will error if any problems are detected.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -30,4 +30,4 @@ bootc-container-help(8)
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -22,7 +22,7 @@ Only changes to the \`spec\` section are honored.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
**-f**, **\--filename**=*FILENAME*
|
||||
**-f**, **\--filename** *\<FILENAME\>*
|
||||
|
||||
: Use filename to edit system specification
|
||||
|
||||
@@ -36,4 +36,4 @@ Only changes to the \`spec\` section are honored.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -27,4 +27,4 @@ your code is using \`bootc install to-filesystem\` from the start.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -24,4 +24,4 @@ to-filesystem\`
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -27,4 +27,4 @@ string-valued filesystem name suitable for passing to \`mkfs.\$type\`.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -32,7 +32,7 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
|
||||
: Automatically wipe all existing data on device
|
||||
|
||||
**\--block-setup**=*BLOCK_SETUP*
|
||||
**\--block-setup** *\<BLOCK_SETUP\>*
|
||||
|
||||
: Target root block device setup.
|
||||
|
||||
@@ -42,21 +42,21 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
\
|
||||
\[*possible values: *direct, tpm2-luks\]
|
||||
|
||||
**\--filesystem**=*FILESYSTEM*
|
||||
**\--filesystem** *\<FILESYSTEM\>*
|
||||
|
||||
: Target root filesystem type\
|
||||
|
||||
\
|
||||
\[*possible values: *xfs, ext4, btrfs\]
|
||||
|
||||
**\--root-size**=*ROOT_SIZE*
|
||||
**\--root-size** *\<ROOT_SIZE\>*
|
||||
|
||||
: Size of the root partition (default specifier: M). Allowed
|
||||
specifiers: M (mebibytes), G (gibibytes), T (tebibytes).
|
||||
|
||||
By default, all remaining space on the disk will be used.
|
||||
|
||||
**\--source-imgref**=*SOURCE_IMGREF*
|
||||
**\--source-imgref** *\<SOURCE_IMGREF\>*
|
||||
|
||||
: Install the system from an explicitly given source.
|
||||
|
||||
@@ -67,12 +67,12 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
behaviour explained in the previous paragraph. See skopeo(1) for
|
||||
accepted formats.
|
||||
|
||||
**\--target-transport**=*TARGET_TRANSPORT* \[default: registry\]
|
||||
**\--target-transport** *\<TARGET_TRANSPORT\>* \[default: registry\]
|
||||
|
||||
: The transport; e.g. oci, oci-archive, containers-storage. Defaults
|
||||
to \`registry\`
|
||||
|
||||
**\--target-imgref**=*TARGET_IMGREF*
|
||||
**\--target-imgref** *\<TARGET_IMGREF\>*
|
||||
|
||||
: Specify the image to fetch for subsequent updates
|
||||
|
||||
@@ -102,13 +102,13 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
This is currently necessary to install \*from\* a system with
|
||||
SELinux disabled but where the target does have SELinux enabled.
|
||||
|
||||
**\--karg**=*KARG*
|
||||
**\--karg** *\<KARG\>*
|
||||
|
||||
: Add a kernel argument. This option can be provided multiple times.
|
||||
|
||||
Example: \--karg=nosmt \--karg=console=ttyS0,114800n8
|
||||
|
||||
**\--root-ssh-authorized-keys**=*ROOT_SSH_AUTHORIZED_KEYS*
|
||||
**\--root-ssh-authorized-keys** *\<ROOT_SSH_AUTHORIZED_KEYS\>*
|
||||
|
||||
: The path to an \`authorized_keys\` that will be injected into the
|
||||
\`root\` account.
|
||||
@@ -128,7 +128,7 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
\- All bootloader types will be installed - Changes to the system
|
||||
firmware will be skipped
|
||||
|
||||
**\--bound-images**=*BOUND_IMAGES* \[default: stored\]
|
||||
**\--bound-images** *\<BOUND_IMAGES\>* \[default: stored\]
|
||||
|
||||
: How should logically bound images be retrieved\
|
||||
|
||||
@@ -141,7 +141,7 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
- pull: Bound images will be pulled and stored directly in the
|
||||
target\'s bootc container storage
|
||||
|
||||
**\--stateroot**=*STATEROOT*
|
||||
**\--stateroot** *\<STATEROOT\>*
|
||||
|
||||
: The stateroot name to use. Defaults to \`default\`
|
||||
|
||||
@@ -160,4 +160,4 @@ more complex such as RAID, LVM, LUKS etc.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -26,7 +26,7 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
**\--replace**=*REPLACE* \[default: alongside\]
|
||||
**\--replace** *\<REPLACE\>* \[default: alongside\]
|
||||
|
||||
: Configure how existing data is treated\
|
||||
|
||||
@@ -42,7 +42,7 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
However, the running system (and all files) will remain in place
|
||||
until reboot
|
||||
|
||||
**\--source-imgref**=*SOURCE_IMGREF*
|
||||
**\--source-imgref** *\<SOURCE_IMGREF\>*
|
||||
|
||||
: Install the system from an explicitly given source.
|
||||
|
||||
@@ -53,12 +53,12 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
behaviour explained in the previous paragraph. See skopeo(1) for
|
||||
accepted formats.
|
||||
|
||||
**\--target-transport**=*TARGET_TRANSPORT* \[default: registry\]
|
||||
**\--target-transport** *\<TARGET_TRANSPORT\>* \[default: registry\]
|
||||
|
||||
: The transport; e.g. oci, oci-archive, containers-storage. Defaults
|
||||
to \`registry\`
|
||||
|
||||
**\--target-imgref**=*TARGET_IMGREF*
|
||||
**\--target-imgref** *\<TARGET_IMGREF\>*
|
||||
|
||||
: Specify the image to fetch for subsequent updates
|
||||
|
||||
@@ -88,13 +88,13 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
This is currently necessary to install \*from\* a system with
|
||||
SELinux disabled but where the target does have SELinux enabled.
|
||||
|
||||
**\--karg**=*KARG*
|
||||
**\--karg** *\<KARG\>*
|
||||
|
||||
: Add a kernel argument. This option can be provided multiple times.
|
||||
|
||||
Example: \--karg=nosmt \--karg=console=ttyS0,114800n8
|
||||
|
||||
**\--root-ssh-authorized-keys**=*ROOT_SSH_AUTHORIZED_KEYS*
|
||||
**\--root-ssh-authorized-keys** *\<ROOT_SSH_AUTHORIZED_KEYS\>*
|
||||
|
||||
: The path to an \`authorized_keys\` that will be injected into the
|
||||
\`root\` account.
|
||||
@@ -114,7 +114,7 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
\- All bootloader types will be installed - Changes to the system
|
||||
firmware will be skipped
|
||||
|
||||
**\--bound-images**=*BOUND_IMAGES* \[default: stored\]
|
||||
**\--bound-images** *\<BOUND_IMAGES\>* \[default: stored\]
|
||||
|
||||
: How should logically bound images be retrieved\
|
||||
|
||||
@@ -127,7 +127,7 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
- pull: Bound images will be pulled and stored directly in the
|
||||
target\'s bootc container storage
|
||||
|
||||
**\--stateroot**=*STATEROOT*
|
||||
**\--stateroot** *\<STATEROOT\>*
|
||||
|
||||
: The stateroot name to use. Defaults to \`default\`
|
||||
|
||||
@@ -152,4 +152,4 @@ to be cleaned up if desired when rebooted into the new root.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -27,21 +27,21 @@ is currently expected to be empty by default.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
**\--root-mount-spec**=*ROOT_MOUNT_SPEC*
|
||||
**\--root-mount-spec** *\<ROOT_MOUNT_SPEC\>*
|
||||
|
||||
: Source device specification for the root filesystem. For example,
|
||||
UUID=2e9f4241-229b-4202-8429-62d2302382e1
|
||||
|
||||
If not provided, the UUID of the target filesystem will be used.
|
||||
|
||||
**\--boot-mount-spec**=*BOOT_MOUNT_SPEC*
|
||||
**\--boot-mount-spec** *\<BOOT_MOUNT_SPEC\>*
|
||||
|
||||
: Mount specification for the /boot filesystem.
|
||||
|
||||
This is optional. If \`/boot\` is detected as a mounted partition,
|
||||
then its UUID will be used.
|
||||
|
||||
**\--replace**=*REPLACE*
|
||||
**\--replace** *\<REPLACE\>*
|
||||
|
||||
: Initialize the system in-place; at the moment, only one mode for
|
||||
this is implemented. In the future, it may also be supported to set
|
||||
@@ -71,7 +71,7 @@ is currently expected to be empty by default.
|
||||
readonly. This option skips those operations. It is then the
|
||||
responsibility of the invoking code to perform those operations
|
||||
|
||||
**\--source-imgref**=*SOURCE_IMGREF*
|
||||
**\--source-imgref** *\<SOURCE_IMGREF\>*
|
||||
|
||||
: Install the system from an explicitly given source.
|
||||
|
||||
@@ -82,12 +82,12 @@ is currently expected to be empty by default.
|
||||
behaviour explained in the previous paragraph. See skopeo(1) for
|
||||
accepted formats.
|
||||
|
||||
**\--target-transport**=*TARGET_TRANSPORT* \[default: registry\]
|
||||
**\--target-transport** *\<TARGET_TRANSPORT\>* \[default: registry\]
|
||||
|
||||
: The transport; e.g. oci, oci-archive, containers-storage. Defaults
|
||||
to \`registry\`
|
||||
|
||||
**\--target-imgref**=*TARGET_IMGREF*
|
||||
**\--target-imgref** *\<TARGET_IMGREF\>*
|
||||
|
||||
: Specify the image to fetch for subsequent updates
|
||||
|
||||
@@ -117,13 +117,13 @@ is currently expected to be empty by default.
|
||||
This is currently necessary to install \*from\* a system with
|
||||
SELinux disabled but where the target does have SELinux enabled.
|
||||
|
||||
**\--karg**=*KARG*
|
||||
**\--karg** *\<KARG\>*
|
||||
|
||||
: Add a kernel argument. This option can be provided multiple times.
|
||||
|
||||
Example: \--karg=nosmt \--karg=console=ttyS0,114800n8
|
||||
|
||||
**\--root-ssh-authorized-keys**=*ROOT_SSH_AUTHORIZED_KEYS*
|
||||
**\--root-ssh-authorized-keys** *\<ROOT_SSH_AUTHORIZED_KEYS\>*
|
||||
|
||||
: The path to an \`authorized_keys\` that will be injected into the
|
||||
\`root\` account.
|
||||
@@ -143,7 +143,7 @@ is currently expected to be empty by default.
|
||||
\- All bootloader types will be installed - Changes to the system
|
||||
firmware will be skipped
|
||||
|
||||
**\--bound-images**=*BOUND_IMAGES* \[default: stored\]
|
||||
**\--bound-images** *\<BOUND_IMAGES\>* \[default: stored\]
|
||||
|
||||
: How should logically bound images be retrieved\
|
||||
|
||||
@@ -156,7 +156,7 @@ is currently expected to be empty by default.
|
||||
- pull: Bound images will be pulled and stored directly in the
|
||||
target\'s bootc container storage
|
||||
|
||||
**\--stateroot**=*STATEROOT*
|
||||
**\--stateroot** *\<STATEROOT\>*
|
||||
|
||||
: The stateroot name to use. Defaults to \`default\`
|
||||
|
||||
@@ -173,4 +173,4 @@ is currently expected to be empty by default.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -71,4 +71,4 @@ bootc-install-help(8)
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -45,7 +45,7 @@ rollback invocation.
|
||||
Note on Rollbacks and the \`/etc\` Directory:
|
||||
|
||||
When you perform a rollback (e.g., with \`bootc rollback\`), any changes
|
||||
made to files in the \`/etc\` directory won't carry over to the
|
||||
made to files in the \`/etc\` directory won\'t carry over to the
|
||||
rolled-back deployment. The \`/etc\` files will revert to their state
|
||||
from that previous deployment instead.
|
||||
|
||||
@@ -55,4 +55,4 @@ happen when new deployments are created.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -29,7 +29,7 @@ not \`null\`.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
**\--format**=*FORMAT*
|
||||
**\--format** *\<FORMAT\>*
|
||||
|
||||
: The output format\
|
||||
|
||||
@@ -42,7 +42,7 @@ not \`null\`.
|
||||
|
||||
- json: Output in JSON format
|
||||
|
||||
**\--format-version**=*FORMAT_VERSION*
|
||||
**\--format-version** *\<FORMAT_VERSION\>*
|
||||
|
||||
: The desired format version. There is currently one supported
|
||||
version, which is exposed as both \`0\` and \`1\`. Pass this option
|
||||
@@ -63,4 +63,4 @@ not \`null\`.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -38,7 +38,7 @@ updates via container image tags; for example,
|
||||
will detect the case where no kernel changes are queued, and perform
|
||||
a userspace-only restart.
|
||||
|
||||
**\--transport**=*TRANSPORT* \[default: registry\]
|
||||
**\--transport** *\<TRANSPORT\>* \[default: registry\]
|
||||
|
||||
: The transport; e.g. oci, oci-archive, containers-storage. Defaults
|
||||
to \`registry\`
|
||||
@@ -65,4 +65,4 @@ updates via container image tags; for example,
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -53,4 +53,4 @@ the update in addition.
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -39,4 +39,4 @@ unmount\".
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -72,4 +72,4 @@ bootc-help(8)
|
||||
|
||||
# VERSION
|
||||
|
||||
v1.6.0
|
||||
v1.7.0
|
||||
|
||||
@@ -1,239 +1,233 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Event",
|
||||
"description": "An event emitted as JSON.",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"type",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Start"
|
||||
]
|
||||
"const": "Start"
|
||||
},
|
||||
"version": {
|
||||
"description": "The semantic version of the progress protocol.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"version"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "An incremental update to a container image layer download",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"bytes",
|
||||
"bytes_cached",
|
||||
"bytes_total",
|
||||
"description",
|
||||
"id",
|
||||
"steps",
|
||||
"steps_cached",
|
||||
"steps_total",
|
||||
"subtasks",
|
||||
"task",
|
||||
"type"
|
||||
],
|
||||
"properties": {
|
||||
"bytes": {
|
||||
"description": "The number of bytes already fetched.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"bytes_cached": {
|
||||
"bytesCached": {
|
||||
"description": "The number of bytes fetched by a previous run.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"bytes_total": {
|
||||
"bytesTotal": {
|
||||
"description": "Total number of bytes. If zero, then this should be considered \"unspecified\".",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"description": {
|
||||
"description": "A human readable description of the task if i18n is not available.",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "A human and machine readable unique identifier for the task (e.g., the image name). For tasks that only happen once, it can be set to the same value as task.",
|
||||
"description": "A human and machine readable unique identifier for the task\n(e.g., the image name). For tasks that only happen once,\nit can be set to the same value as task.",
|
||||
"type": "string"
|
||||
},
|
||||
"steps": {
|
||||
"description": "The initial position of progress.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"steps_cached": {
|
||||
"stepsCached": {
|
||||
"description": "The number of steps fetched by a previous run.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"steps_total": {
|
||||
"stepsTotal": {
|
||||
"description": "The total number of steps (e.g. container image layers, RPMs)",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"subtasks": {
|
||||
"description": "The currently running subtasks.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/SubTaskBytes"
|
||||
"$ref": "#/$defs/SubTaskBytes"
|
||||
}
|
||||
},
|
||||
"task": {
|
||||
"description": "A machine readable type (e.g., pulling) for the task (used for i18n and UI customization).",
|
||||
"description": "A machine readable type (e.g., pulling) for the task (used for i18n\nand UI customization).",
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ProgressBytes"
|
||||
]
|
||||
"const": "ProgressBytes"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"task",
|
||||
"description",
|
||||
"id",
|
||||
"bytesCached",
|
||||
"bytes",
|
||||
"bytesTotal",
|
||||
"stepsCached",
|
||||
"steps",
|
||||
"stepsTotal",
|
||||
"subtasks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "An incremental update with discrete steps",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"description",
|
||||
"id",
|
||||
"steps",
|
||||
"steps_cached",
|
||||
"steps_total",
|
||||
"subtasks",
|
||||
"task",
|
||||
"type"
|
||||
],
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "A human readable description of the task if i18n is not available.",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "A human and machine readable unique identifier for the task (e.g., the image name). For tasks that only happen once, it can be set to the same value as task.",
|
||||
"description": "A human and machine readable unique identifier for the task\n(e.g., the image name). For tasks that only happen once,\nit can be set to the same value as task.",
|
||||
"type": "string"
|
||||
},
|
||||
"steps": {
|
||||
"description": "The initial position of progress.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"steps_cached": {
|
||||
"stepsCached": {
|
||||
"description": "The number of steps fetched by a previous run.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"steps_total": {
|
||||
"stepsTotal": {
|
||||
"description": "The total number of steps (e.g. container image layers, RPMs)",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"subtasks": {
|
||||
"description": "The currently running subtasks.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/SubTaskStep"
|
||||
"$ref": "#/$defs/SubTaskStep"
|
||||
}
|
||||
},
|
||||
"task": {
|
||||
"description": "A machine readable type (e.g., pulling) for the task (used for i18n and UI customization).",
|
||||
"description": "A machine readable type (e.g., pulling) for the task (used for i18n\nand UI customization).",
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ProgressSteps"
|
||||
]
|
||||
"const": "ProgressSteps"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"definitions": {
|
||||
"SubTaskBytes": {
|
||||
"description": "An incremental update to e.g. a container image layer download. The first time a given \"subtask\" name is seen, a new progress bar should be created. If bytes == bytes_total, then the subtask is considered complete.",
|
||||
"type": "object",
|
||||
},
|
||||
"required": [
|
||||
"bytes",
|
||||
"bytesCached",
|
||||
"bytesTotal",
|
||||
"type",
|
||||
"task",
|
||||
"description",
|
||||
"id",
|
||||
"subtask"
|
||||
],
|
||||
"stepsCached",
|
||||
"steps",
|
||||
"stepsTotal",
|
||||
"subtasks"
|
||||
]
|
||||
}
|
||||
],
|
||||
"$defs": {
|
||||
"SubTaskBytes": {
|
||||
"description": "An incremental update to e.g. a container image layer download.\nThe first time a given \"subtask\" name is seen, a new progress bar should be created.\nIf bytes == bytes_total, then the subtask is considered complete.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"bytes": {
|
||||
"description": "Updated byte level progress",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"bytesCached": {
|
||||
"description": "The number of bytes fetched by a previous run (e.g., zstd_chunked).",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"bytesTotal": {
|
||||
"description": "Total number of bytes",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0.0
|
||||
"minimum": 0
|
||||
},
|
||||
"description": {
|
||||
"description": "A human readable description of the task if i18n is not available. (e.g., \"OSTree Chunk:\", \"Derived Layer:\")",
|
||||
"description": "A human readable description of the task if i18n is not available.\n(e.g., \"OSTree Chunk:\", \"Derived Layer:\")",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "A human and machine readable identifier for the task (e.g., ostree chunk/layer hash).",
|
||||
"description": "A human and machine readable identifier for the task\n(e.g., ostree chunk/layer hash).",
|
||||
"type": "string"
|
||||
},
|
||||
"subtask": {
|
||||
"description": "A machine readable type for the task (used for i18n). (e.g., \"ostree_chunk\", \"ostree_derived\")",
|
||||
"description": "A machine readable type for the task (used for i18n).\n(e.g., \"ostree_chunk\", \"ostree_derived\")",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"subtask",
|
||||
"description",
|
||||
"id",
|
||||
"bytesCached",
|
||||
"bytes",
|
||||
"bytesTotal"
|
||||
]
|
||||
},
|
||||
"SubTaskStep": {
|
||||
"description": "Marks the beginning and end of a dictrete step",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"completed",
|
||||
"description",
|
||||
"id",
|
||||
"subtask"
|
||||
],
|
||||
"properties": {
|
||||
"completed": {
|
||||
"description": "Starts as false when beginning to execute and turns true when completed.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"description": {
|
||||
"description": "A human readable description of the task if i18n is not available. (e.g., \"OSTree Chunk:\", \"Derived Layer:\")",
|
||||
"description": "A human readable description of the task if i18n is not available.\n(e.g., \"OSTree Chunk:\", \"Derived Layer:\")",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "A human and machine readable identifier for the task (e.g., ostree chunk/layer hash).",
|
||||
"description": "A human and machine readable identifier for the task\n(e.g., ostree chunk/layer hash).",
|
||||
"type": "string"
|
||||
},
|
||||
"subtask": {
|
||||
"description": "A machine readable type for the task (used for i18n). (e.g., \"ostree_chunk\", \"ostree_derived\")",
|
||||
"description": "A machine readable type for the task (used for i18n).\n(e.g., \"ostree_chunk\", \"ostree_derived\")",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"subtask",
|
||||
"description",
|
||||
"id",
|
||||
"completed"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user