1
0
mirror of https://github.com/containers/bootc.git synced 2026-02-05 15:45:53 +01:00

181 Commits

Author SHA1 Message Date
Colin Walters
a970ad6f7a Release 0.2.5
This adds support for having the ESP not be mounted by
default, which we are going to do in Fedora CoreOS at least.
v0.2.5
2021-01-06 04:33:24 -05:00
Kelvin Fan
402bc6ca6a tests: Mount ESP before operations
Following https://github.com/coreos/fedora-coreos-config/pull/794,
the ESP will no longer be mounted in /boot. Adjust tests to mount
it before reading from it.
2021-01-05 15:33:16 -05:00
Kelvin Fan
7149cf3b5c Ensure ESP is mounted
Following https://github.com/coreos/fedora-coreos-config/pull/794,
the ESP will no longer be mounted by default in FCOS. Mount the
ESP at a directory with a random name in bootupd's sandboxed /tmp
ourselves before reading from/writing to it.

Note that ESPs on redundant disks is not yet supported, this commit
simply mounts the device with part-label `EFI-SYSTEM` if one exists.

`ProtectClock=yes` in `bootupd.service` is preventing the ESP from
being mounted, remove that for now.
2021-01-05 15:33:16 -05:00
Kelvin Fan
ff021b5598 README-devel: Fix broken link and example command 2020-12-22 02:42:43 -05:00
dependabot[bot]
6a20a238ea build(deps): bump anyhow from 1.0.35 to 1.0.36
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.35...1.0.36)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-21 08:31:32 +00:00
Colin Walters
5a298e6550 Release 0.2.4
Mainly internal cleanups, plus support for a read-only `/boot`
and `/boot/efi`.
v0.2.4
2020-12-15 04:21:40 -05:00
dependabot[bot]
a9f134cf51 build(deps): bump openssl from 0.10.30 to 0.10.31
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.30 to 0.10.31.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.30...openssl-v0.10.31)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-14 18:23:37 -05:00
dependabot[bot]
1f2cba0699 build(deps): bump serde from 1.0.117 to 1.0.118
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 05:43:38 -05:00
dependabot[bot]
fe276cd1ad build(deps): bump libc from 0.2.80 to 0.2.81
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.80 to 0.2.81.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.80...0.2.81)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 04:32:19 -05:00
dependabot[bot]
cdef41b90a build(deps): bump anyhow from 1.0.34 to 1.0.35
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.34...1.0.35)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 03:46:58 -05:00
dependabot[bot]
80aef46d81 build(deps): bump structopt from 0.3.20 to 0.3.21
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.20 to 0.3.21.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.20...v0.3.21)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 03:33:53 -05:00
dependabot[bot]
8fa2832fc6 build(deps): bump nix from 0.19.0 to 0.19.1
Bumps [nix](https://github.com/nix-rust/nix) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.19.0...v0.19.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 03:22:35 -05:00
dependabot[bot]
ad4b90ed4c build(deps): bump serde_json from 1.0.59 to 1.0.60
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.59...v1.0.60)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-03 09:59:05 +01:00
Kelvin Fan
b0b6cb607e tests: Remount /boot and /boot/efi as rw
In the future, FCOS' /boot and /boot/efi may be read-only.
Remount them as read-write before attempting to write to those
locations.
2020-12-02 00:04:58 +01:00
Kelvin Fan
b43cbae40b Ensure mount points writable before updating
The /boot and /boot/efi mount points may be read-only, so remount
them as read-write if necessary when writing.
2020-12-02 00:04:58 +01:00
Colin Walters
0be1b276a9 Thread sysroot through install flow
More incremental work on https://github.com/coreos/bootupd/issues/108
2020-11-20 09:51:02 +01:00
dependabot[bot]
a4927ef92d build(deps): bump env_logger from 0.8.1 to 0.8.2
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.1...v0.8.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-19 10:08:57 +01:00
Colin Walters
605be59883 status: Fix docstrings
We need triple `///` to show in `bootupctl status --help`.
2020-11-19 06:51:12 +01:00
Colin Walters
9b407b452a Thread sysroot through update query flow
More incremental work on https://github.com/coreos/bootupd/issues/108
In some cases we're using both an absolute path and a dfd;
fixing that gets involved because we need to use it for child
processes too, which will require some more prep work.
2020-11-18 16:19:28 +01:00
Colin Walters
968b86c485 Thread sysroot through adopt+update flow
More prep for https://github.com/coreos/bootupd/issues/108
Similar to the previous PR for updates.
2020-11-18 09:21:26 +01:00
Colin Walters
6e1c089ccf Pass sysroot through updates
In order to fix https://github.com/coreos/bootupd/issues/108
we need to switch to not assuming `/` as the update source.
We do provide the system root as a string in some cases but
not all.  Let's go fd-relative.
2020-11-17 19:27:32 +01:00
Colin Walters
875a04a2fd Release 0.2.3 v0.2.3 2020-11-17 09:10:13 +01:00
Colin Walters
7be8eb204c Add bootupctl status --print-if-available
This is a middle ground between:

1) Parse arbitrary text output from `bootupctl status`; this could
   change at any time.
2) Parse JSON from `bootupctl status --json`; parsing this requires
   knowlege of bootupd and the JSON format still isn't 100% fixed
   in stone either.

Projects like https://github.com/openshift/machine-config-operator/
will basically want a flow that just allows them to check for
outstanding updates and apply them one node at a time.
2020-11-16 14:28:30 +01:00
Colin Walters
9873aaa8a0 tests: Add a serialization test for adoptable data
Pointed out in code review in https://github.com/coreos/bootupd/pull/104
2020-11-13 19:59:40 +01:00
Colin Walters
e00de4a6b6 Update all {F,RH}CoreOS systems that have an aleph version
Came up in review in https://github.com/coreos/fedora-coreos-docs/pull/203
Basically it's confusing to users that they need to understand
the difference between `update` and `adopt-and-update`.

From bootupd's perspective these are quite different things;
the first case is a completely known quantity, the second isn't.

However...we can be pretty confident that we can update systems
that have a CoreOS aleph version (i.e. they were generated by coreos-assembler),
since we haven't changed how the bootloader is installed there
really much at all.

This means that for now RHCOS 4.{1,2} bootimages that were
generated via Anaconda will still require `adopt-and-update`,
but detecting and validating that can come as a second phase.

The high level logic here is that the status gains a new
`confident: bool` flag (which corresponds right now to
"have CoreOS aleph").  The client side looks at this
and automatically bridges the `update` CLI to
`adopt-and-update`.

Closes: https://github.com/coreos/bootupd/issues/103
2020-11-13 17:38:33 +01:00
Colin Walters
481ae4836a Add a release-checklist + a script
Taken from the one currently in coreos-installer:
https://github.com/coreos/coreos-installer/blob/master/.github/ISSUE_TEMPLATE/release-checklist.md

But tweaked in various ways:

- I want to continue to use `git-evtag`, will try to teach `cargo-release` about that at some point.
- Rework the vendoring stuff to be a script and run beforehand
2020-11-13 10:55:49 +01:00
Colin Walters
dd301364ba Release 0.2.2 2020-11-11 18:57:05 +01:00
dependabot[bot]
a8e3bfd96f build(deps): bump openat-ext from 0.1.8 to 0.1.9
Bumps [openat-ext](https://github.com/cgwalters/openat-ext) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/cgwalters/openat-ext/releases)
- [Commits](https://github.com/cgwalters/openat-ext/compare/v0.1.8...v0.1.9)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-11 09:17:10 +01:00
dependabot[bot]
3e62c9db9d build(deps): bump env_logger from 0.7.1 to 0.8.1
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.7.1 to 0.8.1.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.7.1...v0.8.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-03 16:20:59 +01:00
dependabot[bot]
9192b46f2f build(deps): bump anyhow from 1.0.33 to 1.0.34
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.33 to 1.0.34.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.33...1.0.34)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-03 16:02:40 +01:00
Luca BRUNO
5e4ec993a8 gh/workflows: add jobs for linting, MSRV, release builds
This adds more jobs to the existing GH actions workflow, in order
to cover lintings (rustfmt and clippy), minimum toolchain (MSRV),
beta/nightly channels, and building in release mode.
2020-11-03 15:12:40 +01:00
Colin Walters
035f0bfc10 Release 0.2.1 2020-11-03 09:55:34 +01:00
Colin Walters
aa0777238b Fix two minor clippy bits
No particular reason.
2020-10-30 09:33:31 +01:00
Colin Walters
bfb2ce6aaf Parse old "0.1" format installed state format
Since bootupd 0.1.1 shipped in FCOS stable
we need to support updating it, as well as
"pre-bootupd" systems and bootupd 0.2 systems.

I tested this manually; not yet adding an e2e yet for
this because our test suite is already really
expensive and the unit test covers most of it.

Closes: https://github.com/coreos/bootupd/issues/91
2020-10-29 03:44:09 -04:00
Colin Walters
ffb0284304 component: More porting to openat
Clean up this code to use the openat helpers too, just on
general principle of using fd-relative in more places.

For this we also need to bump openat-ext to get the fallback,
since `rofiles-fuse` doesn't handle `O_TMPFILE` either.
2020-10-28 04:21:46 -04:00
Colin Walters
91a989527a Use new openat-ext APIs for writing files
Less code, not as error prone (e.g. forgetting to `flush()` a `BufWriter`)
and technically better using `O_TMPFILE`.
2020-10-27 16:45:00 -04:00
Colin Walters
66c044cc0c component: Add error prefixing
I think this is the error we're seeing in
https://github.com/coreos/fedora-coreos-config/pull/711#issuecomment-716780537
But let's add some error prefixing to be sure for the future.
2020-10-27 13:53:35 +01:00
Colin Walters
80469cbf66 Rework sysroot/statefile locking
Have the guard actually own the sysroot - matching how in
Rust the `Mutex<T>` type wraps what it guards.

Also add an `unlocked()` method to deal with the install case,
since there's no `/run` in the target root.

xref https://github.com/coreos/bootupd/pull/86#issuecomment-715351465
xref https://github.com/coreos/bootupd/pull/84#issuecomment-709414840
2020-10-27 10:05:34 +01:00
Jonathan Lebon
18aa7f281a Add some more error-prefixing
I think we're hitting issues in CI in this path right now.
See: https://github.com/coreos/fedora-coreos-config/pull/711.
2020-10-26 22:40:41 +01:00
dependabot[bot]
ce67a6850d build(deps): bump libc from 0.2.79 to 0.2.80
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.79 to 0.2.80.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.79...0.2.80)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-26 06:02:33 -04:00
dependabot[bot]
028041fa3e build(deps): bump serde from 1.0.116 to 1.0.117
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.116 to 1.0.117.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.116...v1.0.117)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-23 09:51:22 -04:00
Luca BRUNO
9a8ba50ec2 backend/statefile: add a write-lock guard for statefile updates
This introduces a write-lock guard in order to to ensure that all
update operations attempted on the on-disk statefile have properly
acquired the system-wide lock first.
2020-10-20 16:54:22 -04:00
dependabot[bot]
3ab61bdcf9 build(deps): bump nix from 0.17.0 to 0.19.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.17.0 to 0.19.0.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.17.0...v0.19.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 15:13:30 -04:00
dependabot[bot]
b07c2ef251 build(deps): bump anyhow from 1.0.32 to 1.0.33
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.32...1.0.33)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 15:13:23 -04:00
dependabot[bot]
018866d244 build(deps): bump structopt from 0.3.18 to 0.3.20
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.18 to 0.3.20.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.18...v0.3.20)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 15:13:16 -04:00
dependabot[bot]
e64b10d899 build(deps): bump serde_json from 1.0.58 to 1.0.59
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.58 to 1.0.59.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.58...v1.0.59)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 15:02:03 -04:00
Colin Walters
a205704892 Release 0.2.0 v0.2.0 2020-10-14 15:36:29 +02:00
Luca BRUNO
721b521c41 github: add dependabot config
This adds initial configuration for dependabot.
2020-10-14 14:58:34 +02:00
Colin Walters
7161a34a53 Drop requirement for BOOTUPD_ACCEPT_PREVIEW=1
I'm increasingly confident in our testing, so let's
drop the requirement to set the environment variable.
2020-10-14 09:36:08 +02:00
Colin Walters
12109aa86b Merge pull request #76 from cgwalters/release-013
Release 0.1.3
2020-10-13 15:48:28 -04:00