diff --git a/Cargo.lock b/Cargo.lock index 2f2947623..da676dcc1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -247,7 +247,7 @@ dependencies = [ [[package]] name = "bootc-lib" -version = "1.13.0" +version = "1.14.0" dependencies = [ "anstream 1.0.0", "anstyle", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 1b8490665..fe08c28fa 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -15,7 +15,7 @@ platforms = ["*-unknown-linux-gnu"] [dependencies] # Internal crates -bootc-lib = { version = "1.13", path = "../lib" } +bootc-lib = { version = "1.14", path = "../lib" } bootc-utils = { package = "bootc-internal-utils", path = "../utils", version = "0.1.0" } # Workspace dependencies diff --git a/crates/lib/Cargo.toml b/crates/lib/Cargo.toml index 339a4ce6a..e7f9dc6a5 100644 --- a/crates/lib/Cargo.toml +++ b/crates/lib/Cargo.toml @@ -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.13.0" +version = "1.14.0" # In general we try to keep this pinned to what's in the latest RHEL9. rust-version = "1.85.0" diff --git a/docs/src/host-v1.schema.json b/docs/src/host-v1.schema.json index 7f9502a9e..53d6580a8 100644 --- a/docs/src/host-v1.schema.json +++ b/docs/src/host-v1.schema.json @@ -30,7 +30,8 @@ "rollback": null, "rollbackQueued": false, "staged": null, - "type": null + "type": null, + "usrOverlay": null } } }, @@ -220,6 +221,54 @@ } ] }, + "FilesystemOverlay": { + "description": "Details of an overlay filesystem: read-only or read/write, persistent or transient.", + "type": "object", + "properties": { + "accessMode": { + "description": "Whether the overlay is read-only or read/write", + "$ref": "#/$defs/FilesystemOverlayAccessMode" + }, + "persistence": { + "description": "Whether the overlay will persist across reboots", + "$ref": "#/$defs/FilesystemOverlayPersistence" + } + }, + "required": [ + "accessMode", + "persistence" + ] + }, + "FilesystemOverlayAccessMode": { + "description": "The permissions mode of a /usr overlay", + "oneOf": [ + { + "description": "The overlay is mounted read-only", + "type": "string", + "const": "readOnly" + }, + { + "description": "The overlay is mounted read/write", + "type": "string", + "const": "readWrite" + } + ] + }, + "FilesystemOverlayPersistence": { + "description": "The persistence mode of a /usr overlay", + "oneOf": [ + { + "description": "Changes are temporary and will be lost on reboot", + "type": "string", + "const": "transient" + }, + { + "description": "Changes persist across reboots", + "type": "string", + "const": "persistent" + } + ] + }, "HostSpec": { "description": "The host specification", "type": "object", @@ -301,6 +350,17 @@ "type": "null" } ] + }, + "usrOverlay": { + "description": "The state of the overlay mounted on /usr", + "anyOf": [ + { + "$ref": "#/$defs/FilesystemOverlay" + }, + { + "type": "null" + } + ] } } }, diff --git a/docs/src/man/bootc-container-ukify.8.md b/docs/src/man/bootc-container-ukify.8.md index 1e2f27488..83b24a9c0 100644 --- a/docs/src/man/bootc-container-ukify.8.md +++ b/docs/src/man/bootc-container-ukify.8.md @@ -27,6 +27,10 @@ Any additional arguments after `--` are passed through to ukify unchanged. Default: / +**--allow-missing-verity** + + Make fs-verity validation optional in case the filesystem doesn't support it + # EXAMPLES diff --git a/docs/src/man/bootc-install-to-disk.8.md b/docs/src/man/bootc-install-to-disk.8.md index cae2803b3..3ee99e0d8 100644 --- a/docs/src/man/bootc-install-to-disk.8.md +++ b/docs/src/man/bootc-install-to-disk.8.md @@ -165,7 +165,7 @@ its DPS type GUID, without requiring an explicit `root=` kernel argument. Default: false -**--insecure** +**--allow-missing-verity** Make fs-verity validation optional in case the filesystem doesn't support it diff --git a/docs/src/man/bootc-install-to-existing-root.8.md b/docs/src/man/bootc-install-to-existing-root.8.md index 52152d9fe..edaf87d76 100644 --- a/docs/src/man/bootc-install-to-existing-root.8.md +++ b/docs/src/man/bootc-install-to-existing-root.8.md @@ -225,7 +225,7 @@ of migrating the fstab entries. See the "Injecting kernel arguments" section abo Default: false -**--insecure** +**--allow-missing-verity** Make fs-verity validation optional in case the filesystem doesn't support it diff --git a/docs/src/man/bootc-install-to-filesystem.8.md b/docs/src/man/bootc-install-to-filesystem.8.md index d3e557c7c..56c76c6e5 100644 --- a/docs/src/man/bootc-install-to-filesystem.8.md +++ b/docs/src/man/bootc-install-to-filesystem.8.md @@ -125,7 +125,7 @@ is currently expected to be empty by default. Default: false -**--insecure** +**--allow-missing-verity** Make fs-verity validation optional in case the filesystem doesn't support it diff --git a/tmt/plans/integration.fmf b/tmt/plans/integration.fmf index ae6374690..4a9772778 100644 --- a/tmt/plans/integration.fmf +++ b/tmt/plans/integration.fmf @@ -182,8 +182,15 @@ execute: test: - /tmt/tests/tests/test-34-user-agent +/plan-35-upgrade-preflight-disk-check: + summary: Verify pre-flight disk space check rejects images with inflated layer sizes + discover: + how: fmf + test: + - /tmt/tests/tests/test-35-upgrade-preflight-disk-check + /plan-36-rollback: - summary: Test bootc rollback functionality through image switch and rollback cycle + summary: Test bootc rollback functionality discover: how: fmf test: diff --git a/tmt/tests/tests.fmf b/tmt/tests/tests.fmf index 851d6b293..ee5eefbf6 100644 --- a/tmt/tests/tests.fmf +++ b/tmt/tests/tests.fmf @@ -104,11 +104,11 @@ /test-35-upgrade-preflight-disk-check: summary: Verify pre-flight disk space check rejects images with inflated layer sizes - duration: 20m + duration: 10m test: nu booted/test-upgrade-preflight-disk-check.nu /test-36-rollback: - summary: Test bootc rollback functionality through image switch and rollback cycle + summary: Test bootc rollback functionality duration: 30m test: nu booted/test-rollback.nu