-
Notifications
You must be signed in to change notification settings - Fork 12
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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. | ||
|
||
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. | ||
|
@@ -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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
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. | ||
|
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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)