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

Copyediting and URL updates #17

Merged
merged 1 commit into from
Aug 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ layout: home

Over the last decade, [OCI containers](https://specs.opencontainers.org/image-spec/) have become a de facto way to deploy a complete functioning Linux user space as an application.
A large set of practices and tooling have evolved around them.
Bootable containers are a modern opinionated way of deploying, configuring and managing immutable image based Linux systems.
Bootable containers are a modern opinionated way of deploying, configuring and managing image based Linux systems.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this!

It's a challenge since I think the usage of "immutable" is widespread in the industry still years later. My high level thoughts is that it's a word that is only useful at a very introductory level but once you get past the surface it can be more misleading than helpful.

So 👍 to dropping it here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, although I am not sure there is another word that is helpful.

Copy link

@Malix-Labs Malix-Labs Aug 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Atomic / Image-based Linux systems #17 (comment)


Our goals are:

1. Use standard container practices and tooling, such as the [OCI standard](https://specs.opencontainers.org/image-spec/), layering, container registries, [signing](https://docs.sigstore.dev/signing/signing_with_containers/), testing, and GitOps workflows to build Linux systems.

1. Container images describe the operating system behavior as a prebuilt predefined unit, rather than defined during deployment out of fine grained packages.
There is a strong bias toward having the full system definition committed to version control, including a list of components, application files and system configuration. This bias helps implement the concept of a more composable operating system.
1. Container images describe the operating system behavior as a prebuilt predefined unit, rather than defined as a set of fine grained packages during deployment.
There is a strong bias toward having the full system definition committed to version control, including a list of components, application files, and system configuration.
This bias leads to a composable operating system that can be iterated upon quickly.

1. The system updates atomically.
It is robust to power outages or software failures during updates.
Expand All @@ -24,7 +25,7 @@ The system either uses the contents of the old system, or the new image; Never s
Updates can be delayed or scheduled.
This default behavior can be adapted or controlled by a larger management system.

1. If an update does not function correctly it is possible to roll back to the container image previously functioning before the update.
1. If an update does not function correctly it is possible to roll back to the container image previously functioning before the update, or to any previously bootable version in the registry.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@castrojo Is this really a roll back though? @cgwalters Can we roll back to another version in the registry, or only what's on the system?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're doing this in practice with our images but now that you bring it up I'm not sure how officially supported that is.

The use case is usually when people don't have a pinned snapshot or didn't realize they had a regression on something. The it's useful to be able to grab a remote older version to try to pin down where the regression happened.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

switch and rollback I think are 99% equivalent for this. (The difference is if there's any local changes in /etc that were made between the operations)


1. State (including per-machine configuration) is preserved across updates.
State is written to specific writable directories on the system, by default these are /etc and /var.
Expand Down
6 changes: 3 additions & 3 deletions projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ Podman Desktop can be used to get started with bootable container images:

* [Podman Desktop bootc extension](https://github.com/containers/podman-desktop-extension-bootc)

Linux workstation distributions like Bluefin and more broadly the Universal Blue project are pursuing this today.
The Universal Blue project is pursuing this today via a variety of images:

* [Project Bluefin](https://projectbluefin.io/)
* [Universal Blue](https://universal-blue.org/)
* [Universal Blue](https://universal-blue.org/)
* [Bazzite](https://bazzite.gg), [Aurora](https://getaurora.dev), [Bluefin](https://projectbluefin.io/), and [uCore](https://github.com/ublue-os/ucore)

There are proposals in Fedora to implement bootable container images as an image mode for the operating system.

Expand Down
Loading