Releases: containers/bootc
v0.1.12
Release 0.1.12
New features
Added support for configuring kernel arguments in container builds via the new /usr/lib/bootc/kargs.d
file; these kernel arguments can be changed "day 2" via container updates. More in https://containers.github.io/bootc/building/kernel-arguments.html
New subcommand bootc container lint
that can be used in container builds via e.g. RUN bootc container lint
. This is intended to be a cheap command to run that will detect at build time some common problems.
Other changes
- A variety of improvements to the documentation landed
- This release includes changes to the default
install to-disk
code and partitioning layout in preparation for supporting s390x, among other architectures.
Internals
- Significant work on testing landed, with more to come; this should increase velocity and confidence.
Individual changes
- docs/install: A few changes by @cgwalters in #534
- ci/docs: Add mdbook-linkcheck by @jeckersb in #535
- Renovate config by @lmilbaum in #546
- docs: Various doc improvements by @PaulYuuu in #526
- docs: Set bin_name and disable version option for subcommands by @PaulYuuu in #544
- docs: Clarify mutability at build vs runtime by @cgwalters in #541
- two minor patches by @cgwalters in #547
- Move install tests shell script into Rust by @cgwalters in #548
- install: A few minor patches by @cgwalters in #549
- lib: Run
cargo fmt
by @jeckersb in #555 - installdeps: Add libzstd-devel for non-fedora by @jeckersb in #560
- Add containers-storage to available options by @ericcurtin in #566
- test: some updates on test by @henrywang in #552
- install: Add support for architecture filtering for kargs by @lukewarmtemp in #567
- secrets: Doc credential helper by @cgwalters in #563
- cli: More environment detection by @cgwalters in #557
- ci: Clean up fedora CI by @cgwalters in #556
- Fix command to move examplepkg log files by @m8ram in #573
- fix(deps): update auto merged updates by @platform-engineering-bot in #550
- cli: add container lint by @prestist in #381
- docs: Describe how to configure insecure registries by @cgwalters in #580
- install: Explicitly label .ostree.cfs by @cgwalters in #577
- tests: Drop
internal-testing-api
, move to tests-integration by @cgwalters in #576 - Drop unused serde_with by @cgwalters in #582
- lib: Drop our once_cell usage by @cgwalters in #583
- ci: Fully test file labeling post-install by @cgwalters in #584
- Update to ostree-ext 0.14.0, gvariant 0.5.0 by @cgwalters in #581
- tests/integration: install libzstd-devel by @jeckersb in #586
- lib: Update to ostree-ext 0.14.1 by @cgwalters in #587
- Makefile: Serialize tarballs reproducibly by @cgwalters in #588
- docs: Add HACKING.md by @cgwalters in #589
- chore(deps): update all dependencies by @platform-engineering-bot in #551
- fix(deps): update auto merged updates by @platform-engineering-bot in #591
- upgrade: More detailed rpm-ostree modification error msg by @ckyrouac in #597
- add
/usr/lib/bootc/kargs.d
support by @lukewarmtemp in #401 - hack: Add remote lldb utilities to hack dir by @ckyrouac in #596
- hack: Add support for installing cloud-init+rsync by @cgwalters in #590
- status: Use prepare_for_write instead of require_root by @ckyrouac in #595
- build: Install git too by @cgwalters in #598
- Fix deprecation warning with rust 1.79.0 by @jeckersb in #601
- upgrade: Add error message when staged deployment is incompatible by @ckyrouac in #600
- Clippy janitor cleanup by @jeckersb in #603
- install: Move warning after state and possible re-exec by @cgwalters in #604
- install: Fix install config kargs + to-filesystem by @cgwalters in #606
- fix(deps): update rust crate clap to v4.5.7 by @platform-engineering-bot in #608
- docs: Even more about how bootc is not a container at runtime by @cgwalters in #605
- install/baseline: Drop separate /dev mount by @cgwalters in #607
- tests-integration: Add basic local tmt flow by @cgwalters in #593
- cli/docs: Expand and clean up clap doctext a bit by @cgwalters in #609
- HACKING.md: Clarify
CONTAINER_CONNECTION
by @omertuc in #614 - tests-integration: Optimize rebuilds by @cgwalters in #612
- test: run tmt integration test on testing farm by @henrywang in #613
- test: add packit to run tmt integration test by @henrywang in #615
- test: move tmt test log to tmt plan and enable aarch64 test by @henrywang in #616
- cli: Drop a duplicate rootfs open by @cgwalters in #618
- install: Add more information on target blockdev by @cgwalters in #621
- cli: Make sysroot lock automatically check root + setup mountns by @cgwalters in #619
- install: Support non EFI partition format by @yoheiueda in #623
- install/baseline: Drop aarch64 reserved partition by @cgwalters in #624
- docs: Mention logical root mount point by @jistr in #628
- docs: Fix SELinux policy path by @jistr in #627
- Doc kargs by @cgwalters in #631
- fix(deps): update rust crate ostree-ext to v0.14.2 by @platform-engineering-bot in #629
- test: rename tmt test log folder and rename tmt plan name by @henrywang in #633
- tests: Add pytest and nushell based tests by @cgwalters in #625
- Release 0.1.12 by @cgwalters in #634
New Contributors
- @lmilbaum made their first contribution in #546
- @PaulYuuu made their first contribution in #526
- @ericcurtin made their first contribution in #566
- @lukewarmtemp made their first contribution in #567
- @m8ram made their first contribution in #573
- @prestist made their first contribution in #381
- @omertuc made their first contribution in #614
- @yoheiueda made their first contribution in #623
- @jistr made their first contribution in #628
Full Changelog: v0.1.11...v0.1.12
0.1.11
A few changes to install and the client, but beyond that mainly documentation and CI fixes.
install changes
- install: Add prominent warning+timeout when targeting host root by @cgwalters in #505
- install/baseline: Make
/boot
the same fs type as/
by @cgwalters in #530 - install/to-disk: Drop separate /boot by default by @cgwalters in #529
client changes
- deploy: Add number of layers to fetch progress by @cgwalters in #524
Other changes
- fix(deps): update rust crate chrono to 0.4.38 by @platform-engineering-bot in #471
- ci: Add concurrency cancellation by @cgwalters in #492
- ci: Add control/skip-ci label by @cgwalters in #495
- install: Two informational patches by @cgwalters in #488
- docs: Move selinux into image info, add toplevel gotcha by @cgwalters in #497
- Update to ostree-ext 0.13.4 by @cgwalters in #500
- users-and-groups: Document useradd httpd more by @cgwalters in #501
- docs: Talk about sysroot, growing by @cgwalters in #502
- fix(deps): update all patch dependencies by @platform-engineering-bot in #498
- fix(deps): update rust crate serde_with to >= 3.8.1, < 4 by @platform-engineering-bot in #486
- docs: Add some description of container storage by @cgwalters in #503
- Update MSRV to 1.75 by @jeckersb in #508
- docs: Describe how to boot local builds by @cgwalters in #512
- ci/docs: install mdbook-mermaid by @jeckersb in #514
- docs: Note 1.0 status re CLI/APIs by @cgwalters in #519
- book: Move /opt redirection guidance to building by @cgwalters in #520
- docs: Link to Fedora/CentOS bootc by @cgwalters in #525
- mdbook linkcheck by @jeckersb in #523
- Revert "ci/docs: Add mdbook-linkcheck" by @cgwalters in #533
- docs: Fix incorrect link for bootc-install-config by @jeckersb in #537
- Release v0.1.11 by @cgwalters in #538
Full Changelog: v0.1.10...v0.1.11
Release 0.1.10
What's Changed
- docs: Elaborate a bit on FCOS by @cgwalters in #446
- Add a
rollback
verb androllbackQueued
status by @cgwalters in #447 - Revert "Add constraint on rust 1.76" by @jeckersb in #451
- docs: Various updates and fixes by @cgwalters in #450
- fix(deps): update rust crate tokio to >= 1.37.0 by @platform-engineering-bot in #449
- Stop if /dev is not a bind mount with loopback by @bcrochet in #431
- ci: Remove WIP packaging workflow by @cgwalters in #453
- install: Add
block
to config, disable tpm2-luks unless opted-in by @cgwalters in #445 - privtests: Differentiate duplicate contexts by @jeckersb in #454
- docs/filesystem: by @cgwalters in #455
- test: use aws-cli to deploy aws instance instead of ansible module by @henrywang in #458
- docs: Add management services doc by @ckyrouac in #457
- users-and-groups: Explain patterns for tmpfs /home more by @cgwalters in #460
- test: install ansible collection from tar.gz package by @henrywang in #463
- install: Add
--skip-finalize
by @cgwalters in #462 - docs: Add a new bootc-runtime.md by @cgwalters in #466
- docs/guidance: Talk about nesting containers by @cgwalters in #464
- fix(deps): update all patch dependencies by @platform-engineering-bot in #432
- fix(deps): update rust crate uuid to 1.8.0 by @platform-engineering-bot in #426
- docs: Expand on HEALTHCHECK by @cgwalters in #467
- Cargo.toml: Update repository URL to containers org by @jeckersb in #468
- fix(deps): update all patch dependencies by @platform-engineering-bot in #469
- docs: Talk more about runtime properties, especially SELinux by @cgwalters in #473
- docs: Add link to the bootable containers webpage by @stefwalter in #478
- install: Support being passed --filesystem with no install config by @cgwalters in #480
- doc: add "-v /dev:/dev" in bootc install to-disk by @henrywang in #484
- bugfix: Switch losetup to --direct-io=off by default by @ckyrouac in #487
- test: update test to use
updates
compose to align with rhel-bootc image by @henrywang in #490 - docs: Link to bootupd in prominent places by @cgwalters in #491
- Release 0.1.10 by @cgwalters in #489
New Contributors
- @stefwalter made their first contribution in #478
Full Changelog: v0.1.9...v0.1.10
Release 0.1.9
What's Changed
- lsm/install: Use csum(), not name() from SELinux policy by @cgwalters in #405
- osconfig: install root ssh keys to /var/roothome by @mvo5 in #407
- Add more failure contexts for exec_in_host_mountns by @jeckersb in #411
- install: Add some more debug/trace calls by @cgwalters in #412
- Correctly populate container environment rootless status by @jeckersb in #413
- Trace rootless by @cgwalters in #414
- Add
#[derive(PartialEq, Eq))
for cli bits by @cgwalters in #416 - feat(build): Add extra version information by @bcrochet in #418
- docs: Add a new "build guidance" section by @cgwalters in #422
- Add a systemd generator to fixup Anaconda's /etc/fstab by @cgwalters in #417
- fix(deps): update all patch dependencies by @platform-engineering-bot in #423
- install: Change no-SELinux -> SELinux to a warning && serialize to aleph by @cgwalters in #420
- Fix various accumulated clippy lints by @jeckersb in #425
- Encapsulate selinux guard consumption a bit better by @jeckersb in #427
- docs: Extend build guidance with secrets by @cgwalters in #430
- filesystem: Explain more about /etc and /var by @cgwalters in #441
- Add constraint on rust 1.76 by @jeckersb in #442
- Revert "fix(deps): update all patch dependencies" by @jeckersb in #443
- Release 0.1.9 by @cgwalters in #444
Full Changelog: v0.1.8...v0.1.9
Release 0.1.8
What's Changed
- xtask: Fixes for
cargo xtask package
by @cgwalters in #350 - ci: Target c9s in more places by @cgwalters in #349
- renovate: Attempt to group GHA updates by @cgwalters in #351
- install: Drop unimplemented root_options by @cgwalters in #342
- [skip-ci] Update all github action dependencies to v4 (major) by @platform-engineering-bot in #353
- Add selinuxfs to be mounted in the container by @bcrochet in #344
- fix(deps): update all patch dependencies by @platform-engineering-bot in #354
- fix(deps): update all patch dependencies by @platform-engineering-bot in #355
- fix(deps): update rust crate nix to 0.28 by @platform-engineering-bot in #359
- Cargo.lock: Adjust for nix bump by @cgwalters in #366
- mount: Factor out a run_findmnt helper by @cgwalters in #367
- privtests: Show stderr on failure by @cgwalters in #368
- fix(deps): update all patch dependencies by @platform-engineering-bot in #363
- tests: Another missing
assert!
change to dump stderr by @cgwalters in #369 - docs: Switch to mdbook, rework by @cgwalters in #371
- spec: %autorelease can't be resolved by COPR by @henrywang in #374
- fix(deps): update rust crate log to 0.4.21 by @platform-engineering-bot in #370
- fix(deps): update rust crate chrono to 0.4.35 by @platform-engineering-bot in #376
- blockdev: Use --direct-io=on for losetup by @cgwalters in #375
- test: add integration test by @henrywang in #373
- test: update integration README by @henrywang in #377
- ci: Pin eln image by @cgwalters in #379
- install: Add
to-existing-root
by @cgwalters in #382 - install: Support gathering more info for host root (including LVM) by @cgwalters in #384
- fix(deps): update rust crate ostree-ext to 0.13.3 by @platform-engineering-bot in #386
- Cleanup clippy lints by @jeckersb in #390
- Log
as_path
in lsm_label by @jeckersb in #391 - test: update ami image id by @henrywang in #385
- fix(deps): update all patch dependencies by @platform-engineering-bot in #387
- fix(deps): update rust crate serde_with to >= 3.7.0, < 4 by @platform-engineering-bot in #388
- install: Improve early output by @cgwalters in #393
- install: manually label {/etc/fstab,tmpfile.d/bootc-root-ssh.conf} by @mvo5 in #389
- test: remove
sudo
in mockbuild.sh by @henrywang in #396 - docs: clarify that
--karg
can be passed multiple times by @mvo5 in #392 - docs: Expand on filesystem /var by @cgwalters in #395
- test: add rollback and bootc upgrade fetch timer test by @henrywang in #398
- fix(deps): update all patch dependencies by @platform-engineering-bot in #394
- Rework SELinux labeling more by @cgwalters in #397
- More image output cleanup by @cgwalters in #399
- docs: tweak install disk example by @mvo5 in #402
New Contributors
- @platform-engineering-bot made their first contribution in #353
- @henrywang made their first contribution in #374
- @mvo5 made their first contribution in #389
Full Changelog: v0.1.7...v0.1.8
v0.1.7
Mainly a lot of fixes and improvements for the install flow,
with a few other minor CLI and a tweak for the systemd unit.
What's Changed
- Fix a couple of clippy nits by @jeckersb in #277
- docs: Document
to-disk --via-loopback
by @cgwalters in #281 - install: Only switch to loopback after re-exec by @cgwalters in #278
- Port to ostree-ext 0.13, cap-std 3 by @cgwalters in #283
- Fix install_t again by @cgwalters in #284
- install: Automatically enable --generic-image when --via-loopback by @cgwalters in #285
- install: Factor out configuration into new file by @cgwalters in #288
- install: Generalize
root-fs-type
intoinstall.filesystem.root.type
by @cgwalters in #289 - install: Ensure we label
/
(and/boot
) by @cgwalters in #290 - install: Optionally use host mounted
/var/lib/containers
by @cgwalters in #286 - lsm: send test_install_t chcon output to /dev/null by @jeckersb in #292
- install: Add BOOTC_SKIP_SELINUX_HOST_CHECK by @cgwalters in #293
- Update bootc-fetch-apply-updates.timer with comments for RandomizedDe… by @mrguitar in #295
- Drop status warning by @cgwalters in #298
- docs: fix typos by @chuanchang in #300
- install: Add support for
--root-ssh-authorized-keys
by @cgwalters in #296 - Add suggestion for
LABEL containers.bootc 1
by @cgwalters in #299 - deploy: Log filtered content warning to journal, not stderr by @cgwalters in #301
- ci: Add renovate5 by @cgwalters in #305
- fix(deps): update rust crate anstream to 0.6.11 by @renovate in #307
- fix(deps): update rust crate anstyle to 1.0.6 by @renovate in #309
- Add Cargo.lock by @cgwalters in #311
- renovate: Group non-major updates by @cgwalters in #319
- renovate: just do patch updates by @cgwalters in #322
- [skip-ci] Update actions/checkout action to v4 by @renovate in #321
- utils: Fall back if EDITOR is unset by @cgwalters in #326
- [skip-ci] Update actions/deploy-pages action to v4 by @renovate in #329
- [skip-ci] Update actions/configure-pages action to v4 by @renovate in #328
- [skip-ci] Update actions/upload-pages-artifact action to v3 by @renovate in #332
- Track ostree-ext git by @cgwalters in #334
- fix(deps): update all patch dependencies by @renovate in #323
- fix(deps): update rust crate toml to 0.8.10 by @renovate in #325
- hack: Allow injecting stuff into target/dev-rootfs by @cgwalters in #327
- install: Drop setting immutable bit on physical / by @cgwalters in #318
- Ensure that efivarfs is mounted in the container by @bcrochet in #302
- Update to ostree-ext 0.13.2 by @cgwalters in #338
- fix(deps): update rust crate serde_with to v3 by @renovate in #333
- Make
--disable-selinux
work on hosts that haveselinux=0
by @ckyrouac in #340 - cli: Don't output sigverify+transport for default by @cgwalters in #339
- install: Mount
/boot
readonly by default by @cgwalters in #341
New Contributors
- @mrguitar made their first contribution in #295
- @chuanchang made their first contribution in #300
- @renovate made their first contribution in #307
- @bcrochet made their first contribution in #302
- @ckyrouac made their first contribution in #340
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed
- status: fix warning for unused doc comment by @jeckersb in #235
- Fix clippy warnings by @jeckersb in #236
- ci: gate clippy on
correctness
andsuspicious
by @jeckersb in #238 - lib:
#![allow(clippy::needless_borrow)]
by @cgwalters in #237 - docs: Move manpages to separate toplevel by @cgwalters in #239
- cli: Explicitly require root privileges by @cgwalters in #241
- Man improvements by @cgwalters in #243
- Add
HostType
, changestatus
to always succeed by @cgwalters in #244 - cli: Document that check doesn't fetch layers by @cgwalters in #246
- ci: Add GH labeler workflow by @cgwalters in #250
- docs: Extend rpm-ostree relationship a bit by @cgwalters in #249
- labeler: Fix syntax by @cgwalters in #253
- docs: Add relationship-particles.md by @cgwalters in #252
- upgrade: fix --apply when the desired deployment is already staged by @jeckersb in #256
- cli: Drop
upgrade --touch-if-changed
by @cgwalters in #257 - hack/Containerfile: New file for local container builds by @cgwalters in #258
- spec: Add cached update metadata by @cgwalters in #248
- install: Support
to-disk --via-loopback
by @cgwalters in #260 - docs: Fix FCOS description by @cgwalters in #261
- lsm: exit early if the process already has install_t by @ondrejbudai in #262
- Switch inplace by @cgwalters in #264
- install: add --source-imgref by @ondrejbudai in #263
- systemd: New bootc-fetch-apply-updates.{timer,service} by @cgwalters in #179
- install: Drop support for old skopeo by @cgwalters in #265
- Two systemd unit fixes by @cgwalters in #269
- lsm: Deduplicate and comment a bit of the install_t code by @cgwalters in #268
- contrib/packaging: Updates for manpages and systemd unit by @cgwalters in #270
- install: Add
print-configuration
by @cgwalters in #272 - docs/usage: New file by @cgwalters in #273
- install: Don't unshare if we have an external source by @cgwalters in #275
- install: Add more error contexts by @cgwalters in #276
- switch: Be idempotent by @cgwalters in #274
New Contributors
- @jeckersb made their first contribution in #235
- @ondrejbudai made their first contribution in #262
Full Changelog: v0.1.5...v0.1.6
0.1.5
Breaking CLI/API changes
- install: Rename
install
->install to-disk
, peer withto-filesystem
by @cgwalters in #226 - Don't enforce container sigpolicy by default by @cgwalters in #230
New features
- install: Add
kargs
to installation config by @cgwalters in #206
Important bugfixes
- deploy: Use new ostree-ext pruning API by @cgwalters in #231
Other changes
- docs/install: Also document using
--rm
by @cgwalters in #194 - lib: apply clippy fix for needless borrowing by @miabbott in #197
- github: update artifact actions to v3 by @miabbott in #198
- docs: additional details around bootc images, install by @miabbott in #195
- docs: initial FAQ entry by @miabbott in #200
- docs: update required dependencies by @miabbott in #196
- containerenv: small error message fix by @miabbott in #202
- install: Just check if we're pid1 by @cgwalters in #201
- install: Re-implement hostns to work around supermin by @cgwalters in #203
- tests: Verify bootprefix by @cgwalters in #204
- faq: remove distro-specific examples by @miabbott in #208
- docs: fix injecting root keys example by @runcom in #209
- install: Update to new bootupd uuid/EFI code by @cgwalters in #199
- install: Drop
commit
from SourceInfo by @cgwalters in #212 - lib: Track ostree-ext git by @cgwalters in #213
- Podman pull prep by @cgwalters in #214
- ci: Update for another image rename by @cgwalters in #221
- mount: Use task infra to clean up error handling by @cgwalters in #220
- mount: Be compatible with older util-linux by @cgwalters in #222
- ci: Add a c9s build by @cgwalters in #224
- install: Don't retarget /tmp or /var/tmp if they're not overlayfs by @cgwalters in #225
- install: Add tracing and error context around re-exec by @cgwalters in #227
- install: Two smaller fixes by @cgwalters in #228
- Add a helper for generating sigpolicy by @cgwalters in #229
- Use
Task
generally overCommand
by @cgwalters in #232 - docs: Generate docs/man by @cgwalters in #233
New Contributors
Full Changelog: v0.1.4...v0.1.5
0.1.4
What's Changed
- install: Drop
--net=none
suggestion by @cgwalters in #181 - install: Verify target image fetch by default by @cgwalters in #182
- Update references to centos-boot images by @cgwalters in #183
- Doc improvements by @cgwalters in #188
- status: Add some error context by @cgwalters in #187
- status: Fully ignore images with rpm-ostree changes by @cgwalters in #185
- docs: Finish sentence around pull secret by @cgwalters in #186
- docs/install: Various minor fixes by @cgwalters in #191
- install: Enable bootprefix by default by @cgwalters in #193
Full Changelog: v0.1.3...v0.1.4
0.1.3
What's Changed
- ci/copr: Add ostree-devel by @cgwalters in #151
- spec: Make status always required by @cgwalters in #153
- install: Query skopeo upfront by @cgwalters in #154
- install: Drop default config by @cgwalters in #152
- install: Don't require EFI if booted via BIOS and doing alongside by @cgwalters in #155
- xtask: Fix srpm generation by @cgwalters in #156
- bootloader: Use bootupd --with-static-configs by @cgwalters in #157
- Two minor error/logging improvements by @cgwalters in #158
- install: Drop ignition support by @cgwalters in #159
- install: Add more image metadata to aleph by @cgwalters in #160
- README.md: A few clarifications on status by @cgwalters in #161
- README: Add more information on base images by @cgwalters in #162
- README.md: Add missing link to internal doc by @pablomh in #164
- tree: Pass through
cargo clippy --fix
by @jlebon in #168 - cli/edit: Minor tweaks by @jlebon in #167
- make validate: add new target by @vrothberg in #169
- cli: Correctly no-op unchanged updates by @cgwalters in #170
- Use
bootupctl --auto
in alongside mode by @cgwalters in #166 - install: Actually honor kargs by @cgwalters in #172
- Add
upgrade --apply
by @cgwalters in #173 - Docs: Updated links referencing project Sagano. by @ipanova in #174
- ci: Test alongside installation in GH Actions by @cgwalters in #176
- lsm: Clarify selinux mode being set by @cgwalters in #178
- Rework docs; move README.md contents into docs/index.md by @cgwalters in #177
- minor doc tweaks by @vrothberg in #180
New Contributors
- @pablomh made their first contribution in #164
- @jlebon made their first contribution in #168
- @vrothberg made their first contribution in #169
- @ipanova made their first contribution in #174
Full Changelog: v0.1.2...v0.1.3