• Stars
    star
    559
  • Rank 79,673 (Top 2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Flatcar project repository for issue tracking, project documentation, etc.

Flatcar Container Linux

Mission statement

Flatcar Container Linux is a fully open source, minimal-footprint, secure by default and always up-to-date Linux distribution for running containers at scale.

Code of Conduct

We follow the CNCF Code of Conduct.

Please contact private Maintainer mailing list or the Linux Foundation mediator, Mishi Choudhary [email protected] to report an issue.

Releases

See the project website for information about current releases.

Install and operate Flatcar

Flatcar Container Linux has a dedicated documentation site.

The getting started guide has further links to the topics Ignition, local testing with QEMU, controlling automatic updates, and usage with cloud providers:

Does Flatcar run in my environment? Consult the interop-matrix.

Does Flatcar have CIS Benchmarks? Consult the CIS reports.

Report bugs and request features

Please file a respective issue right here in this github project. For instance, please use the "New Package Request" issue type to file your request. Please see adding new packages to the Flatcar Linux OS image for general guidelines.

Participate and contribute

If you are thinking of making a contribution, then please engage with the project as early as possible -- by commenting on an existing issue, or creating a new issue, on GitHub. Consider the project’s mission, and how your contribution furthers it. Making your intent visible early on can be a major factor for getting your work accepted.

For the general guidelines on making PRs/commits easier to review, please check out the project's contribution guidelines.

For an introduction to the Flatcar SDK and a walk-through of common developer cases like customising the OS image (e.g. adding or upgrading packages), have a look at our developer guides; particularly the howto on building custom images from source. The guides aim to provide a solid base for working with the SDK to help you filing successful PRs to the Flatcar project.

Becoming a maintainer

The Flatcar maintainer path is laid out in our governance document.

Project status and roadmap - What's everybody working on, right now and in the future?

  1. short-term concerns (bugs and minor enhancements) enter the project via our issue tracker
  2. our tactical board reflects the issues and PRs the maintainers and the contributors are currently engaged with
  3. items which are done will be assigned to an upcoming release on the release board in our release planning calls

Lastly, epics like major features and long-term items are reflected in our roadmap board.

Check out our Matrix and Slack channels (see below) for getting into contact with maintainers, and consider joining our Flatcar Developer Sync (next section below) where contributors and maintainers coordinate our work.

Monthly Office hours and Developer Syncs

We maintain a Google Calendar (iCal) with both our Office Hours and Developer Sync meeting series which interested folks can comfortably import into the calendar app of their choice.

Join us in our monthly office hours meetings to engage with the Flatcar User community interactively, to learn about the project's directions, and to discuss contributions. We also conduct the occasional user-focused demo of technologies related to image-based Linux. Lastly, the call includes a brief Release Planning with an update on the changes in the next immediate releases.

If you'd like to share something or if you have a pressing issue you'd like discussed, please let us know. Either comment on the respective meeting discussion, reach out to us on Matrix (see below), or simply join the meeting and speak up in the meeting's Q&A.

Flatcar Office Hours are on the second Tuesday of every month at 9pm IST / 5:30pm CEST / 3:30pm GMT / 11:30am EDT / 8:30am PST

Flatcar Developer Syncs commence every 4th Tuesday of a month at 9pm IST / 5:30pm CEST / 3:30pm GMT / 11:30am EDT / 8:30am PST

While release planning is a recurring part of each community call we also conduct separate Developer Syncs for backlog grooming and task planning. We discuss Roadmap items, special projects, and day-to-day issues in these calls. If you want to participate and discuss or pick up work, that call is for you! Just like the Office Hours the call includes a brief Release Planning with an update on the changes in the next immediate releases.

Chat

For quick questions or for just hanging out with the community please use

Discussions

For more far-reaching topics please have a look at our discussions. Feel free to open a new discussion if you don't find an existing one covering your topic.

Mailing lists

Though the use of Github Discussions is encouraged (see above), we also maintain groups / mailing lists for a more old-fashioned way of having a discussion. Please note that we might consider to discontinue these mailing lists at some point in the future.

Release process

Flatcar Container Linux follows an Alpha-Beta-Stable release process. New features and major version upgrades will enter the Alpha channel for initial testing, then transition to Beta, before landing in Stable.

Note that unlike features, bug fixes for any release channel will be released to that respective channel directly, i.e. Alpha bug fixes will be included in the next Alpha, Beta fixes will directly go to Beta, and Stable fixes will be released with the next Stable.

We plan our releases in a 14-day cadence. The maintainer team holds fortnightly release meetings - both as recurring part of our monthly community calls as well as a separate meeting in-between the monthly community call cadence. Up-to-date planning status is reflected in our release planning board.

LTS

Some users prefer to avoid the operational impact of frequent version upgrades. For such users, the Flatcar project provides an "LTS channel". The LTS channel / branch is based on a "golden Stable" and is maintained for 18 months. A new LTS is branched from Stable every 12 months, leaving a 6 months window for LTS users to upgrade.

Project governance

Flatcar is a community-driven project, with community members participating through the following forums:

  • Contributors.
  • Maintainers.

Every participant of the open source project - bug reporter, feature requester, code contributor - is considered a contributor.

Maintainers have commit access to one or more repositories and help govern the project, driving it forward and maintaining its scope and vision. Please find more details in our governance doc.

Repositories

The repositories are currently part of the Kinvolk org for historical reasons. Flatcar will move to its own github org soon.

Meanwhile, github repositories that comprise Flatcar Container Linux can be found via the organization page.

More Repositories

1

nebraska

Update monitor & manager for applications using the Omaha protocol, optimized for Flatcar Container Linux.
Go
156
star
2

flatcar-linux-update-operator

A Kubernetes operator to manage updates of Flatcar Container Linux
Go
98
star
3

scripts

image build and composition scripts for Flatcar Container Linux
Shell
50
star
4

flatcar-terraform

Examples of deploying Flatcar instances with Terraform
HCL
36
star
5

mantle

Utilities for gluing together Flatcar Container Linux
Go
30
star
6

ignition

host configuration during earlyboot initramfs
Go
28
star
7

coreos-overlay

moved to https://github.com/flatcar/scripts/tree/main/sdk_container/src/third_party - package build scripts for Flatcar Container Linux, with custom overlay on kinvolk/portage-stable
Shell
25
star
8

container-linux-config-transpiler

the `ct` utility for Flatcar Container Linux
Go
24
star
9

flatcar-docs

Flatcar Container Linux Documentation (https://docs.flatcar-linux.org/)
Shell
21
star
10

flatcar-mastodon

Automation for deploying a Mastodon node on Flatcar
Shell
18
star
11

flatcar-packer-qemu

Packer templates for building Flatcar vagrant/qemu images
Makefile
16
star
12

torcx

torcx is a boot-time addon manager for immutable systems
Go
12
star
13

coreos-cloudinit

Simple configuration tool for Flatcar Container Linux
Go
11
star
14

locksmith

reboot manager for Flatcar Container Linux
Go
9
star
15

sysext-bakery

Recipes for baking systemd-sysext images
Shell
9
star
16

portage-stable

moved to https://github.com/flatcar/scripts/tree/main/sdk_container/src/third_party - package build scripts for Flatcar Container Linux, from upstream Gentoo
Shell
7
star
17

flatcar-release-mirror

Mirror script for *.release.flatcar-linux.net
Shell
6
star
18

update-ssh-keys

A tool for managing authorized ssh keys
Rust
6
star
19

toolbox

`toolbox` for Flatcar
Shell
6
star
20

afterburn

A one-shot cloud provider agent. See upstream https://github.com/coreos/afterburn
Rust
6
star
21

bootengine

early boot initrd (dracut) modules for Flatcar Container Linux
Shell
5
star
22

init

Flatcar boot files to accommodate the systemd boot
Shell
4
star
23

baselayout

baselayout used for Flatcar Container Linux
Shell
4
star
24

update_engine

update daemon for Flatcar Container Linux
C++
4
star
25

ue-rs

Prototype Omaha Rust implementation
Rust
3
star
26

updateservicectl

Update Service CLI
Go
3
star
27

flatcar-demos

A collection of demos shown at conferences, meetups, and the like.
3
star
28

flatcar-build-scripts

A set of helper scripts for building Flatcar Linux. It includes scripts that should be independent of the existing `scripts` repository.
Shell
2
star
29

flog

The Changelog Aggregator
Go
2
star
30

mayday

utility for gathering support information
Go
2
star
31

nebraska-update-agent

Go
2
star
32

sysroot-wrappers

use an alternate $SYSROOT
C
1
star
33

flatcar-website

SCSS
1
star
34

grub

Flatcar downstream of https://git.savannah.gnu.org/git/grub.git
C
1
star
35

fero

Rust
1
star
36

nss-altfiles

NSS module for relocating default file locations, tailored for Flatcar Container Linux
C
1
star
37

shim

an EFI shim, with certificate validation
C
1
star