Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish built images in sysext-bakery with GitHub Action as GitHub releases for systemd-sysupdate #1128

Closed
pothos opened this issue Jul 20, 2023 · 4 comments
Assignees
Labels
area/sysext sysext roadmap kind/feature A feature request

Comments

@pothos
Copy link
Member

pothos commented Jul 20, 2023

Current situation

We have some build scripts for systemd-sysext images but this still is not user friendly because requires the user to build and host themselves if they want to use systemd-sysupdate for live updates.

Impact

Complicated

Ideal future situation

We have GitHub Actions that publish releases with the built images as attached artifacts and the SHA256SUMS systemd-sysupdate manifest file that lists all artifacts with name and checksum, and also example configurations for how to set it up with systemd-sysupdate.
This way users can specify the sysupdate config as URL in their ignition file (or they copy the config over). They can also specify the images for first boot in Ignition by URL or let systemd-sysupdate do the download (this requires upstream support to run systemd-sysupdate from the initrd, or a workaround by specifying to run systemd-sysupdate in userspace before the sysext service starts up).

The sysupdate configuration should use the /latest/ URL to resolve to the latest GitHub Release's manifest file. Each systemd-sysext image should contain a version suffix. The sysupdate config should use use the current-symlink setting to point to the currently enabled version.

Implementation options

I think it should be ok for systemd-sysupdate if we only include the latest release in the manifest file as it will see the old one on disk.

Additional information

No additional work for the build scripts should be needed, they are expected to use upstream binaries where possible and only be compiled if required.

@tormath1
Copy link
Contributor

I'm interested to have a look at this one. (FYI @mdbooth, that could help to host Kubernetes sysext image and then update CAPO templates to consume this image - as discussed on Slack)

@tormath1 tormath1 self-assigned this Jul 25, 2023
@tormath1 tormath1 moved this from 🪵Backlog to ⚒️ In Progress in Flatcar tactical, release planning, and roadmap Jul 25, 2023
@mdbooth
Copy link

mdbooth commented Jul 26, 2023

Perhaps something to discuss in CAPO office hours: (c|w)ould we publish experimental cluster templates?

@tormath1
Copy link
Contributor

tormath1 commented Aug 2, 2023

Build and release of the images is done in flatcar/sysext-bakery#16 - some documentation is missing and why not generate sysupdate configuration for each component as suggested by @pothos

@pothos
Copy link
Member Author

pothos commented Sep 1, 2023

Finished in flatcar/sysext-bakery#22

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/sysext sysext roadmap kind/feature A feature request
Projects
None yet
Development

No branches or pull requests

3 participants