Top Related Projects
Purpose-built OS for Kubernetes, fully managed by Kubernetes.
Talos Linux is a modern Linux distribution built for Kubernetes.
An operating system designed for hosting containers
Quick Overview
Flatcar is a secure, reliable, and lightweight Linux distribution based on the CoreOS project. It is designed for running containerized applications in production environments, with a focus on ease of use, automation, and security.
Pros
- Immutable Infrastructure: Flatcar uses a read-only root file system, ensuring that the operating system remains in a known, consistent state.
- Automatic Updates: Flatcar automatically updates the operating system, ensuring that systems are always running the latest security patches and bug fixes.
- Scalability: Flatcar is optimized for running in large-scale, distributed environments, making it well-suited for cloud-native applications.
- Security-Focused: Flatcar includes security-focused features, such as automatic container image scanning and secure boot, to protect against vulnerabilities.
Cons
- Limited Customization: Flatcar is designed to be a minimal, opinionated distribution, which may limit the ability to customize the operating system to specific needs.
- Dependency on Container Ecosystem: Flatcar is heavily focused on running containerized applications, which may not be suitable for all use cases.
- Limited Community Support: Compared to more mainstream Linux distributions, Flatcar has a smaller community, which may make it more challenging to find support and resources.
- Vendor Lock-in: Flatcar is primarily developed and maintained by Kinvolk, which may raise concerns about vendor lock-in for some users.
Getting Started
To get started with Flatcar, you can follow the official installation guide:
- Download the Flatcar image from the official website.
- Create a bootable USB drive or CD/DVD using the downloaded image.
- Boot the system from the installation media and follow the on-screen instructions to install Flatcar.
- Once the installation is complete, you can start deploying your containerized applications on the Flatcar system.
For more detailed instructions, please refer to the Flatcar documentation.
Competitor Comparisons
Purpose-built OS for Kubernetes, fully managed by Kubernetes.
Pros of k3os
- Lightweight Kubernetes distribution built-in, simplifying cluster setup
- Designed specifically for running Kubernetes, with optimized performance
- Includes k3s, providing a more streamlined Kubernetes experience
Cons of k3os
- Less flexible for non-Kubernetes workloads compared to Flatcar
- Smaller community and ecosystem than Flatcar
- More opinionated design, which may limit customization options
Code Comparison
k3os configuration example:
ssh_authorized_keys:
- github:username
k3os:
token: K10fe4a9e8f63f30c5ff34111a0f8b7a01c3
server_url: https://k3s.example.com:6443
Flatcar configuration example:
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGdByTgSVHq...
storage:
files:
- path: /etc/hostname
contents:
inline: flatcar-node1
Both projects aim to provide lightweight, container-optimized operating systems, but k3os focuses specifically on Kubernetes deployments, while Flatcar offers a more general-purpose container platform. k3os simplifies Kubernetes setup, while Flatcar provides greater flexibility for various container workloads.
Talos Linux is a modern Linux distribution built for Kubernetes.
Pros of Talos
- Immutable and minimal OS design, enhancing security and reducing attack surface
- Built-in Kubernetes support with automated cluster bootstrapping
- API-driven configuration and management for easier automation
Cons of Talos
- Steeper learning curve due to its unique architecture and management approach
- Limited compatibility with traditional Linux tools and workflows
- Smaller community and ecosystem compared to more established container-optimized OSes
Code Comparison
Talos configuration (YAML):
machine:
type: worker
kubelet:
extraArgs:
feature-gates: ServerSideApply=true
cluster:
network:
cni:
name: flannel
Flatcar configuration (Ignition):
{
"ignition": { "version": "3.2.0" },
"systemd": {
"units": [
{
"name": "kubelet.service",
"enabled": true,
"contents": "[Service]\nExecStart=/usr/bin/kubelet --feature-gates=ServerSideApply=true\n"
}
]
}
}
Both Talos and Flatcar are container-optimized operating systems, but Talos takes a more opinionated approach with its immutable design and Kubernetes-centric focus. Flatcar offers more flexibility and familiarity for users accustomed to traditional Linux environments, while Talos provides a more streamlined and secure platform specifically tailored for Kubernetes deployments.
An operating system designed for hosting containers
Pros of Bottlerocket
- Purpose-built for running containers, with a minimal attack surface
- Automated, in-place updates with rollback capability
- Strong focus on security, including SELinux enforcement and dm-verity
Cons of Bottlerocket
- Less flexible than Flatcar, with a more opinionated design
- Smaller ecosystem and community compared to Flatcar
- Limited to container workloads, not suitable for general-purpose use
Code Comparison
Bottlerocket uses a unique update system:
[updates]
version-lock = false
ignore-waves = false
Flatcar uses traditional update mechanisms:
update_engine_client -update
Additional Notes
Bottlerocket is designed specifically for container workloads, while Flatcar is more versatile and can be used for various purposes. Bottlerocket's focus on security and automated updates may be advantageous for organizations prioritizing these aspects. Flatcar, being based on CoreOS, has a larger ecosystem and community support, which can be beneficial for troubleshooting and customization.
Both projects aim to provide stable, secure, and efficient operating systems for container deployments, but they take different approaches to achieve this goal. The choice between them depends on specific use cases, infrastructure requirements, and organizational preferences.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Note: To file an issue for any Flatcar repository, please use the central Flatcar issue tracker.
Flatcar Container Linux
Welcome to the Flatcar community! Whether you're a user, contributor, or just curious â we're glad you're here! ð
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.
Flatcar ships only the essentials needed to run containers â no package manager, no configuration drift. Its immutable, read-only filesystem minimizes attack surfaces, and atomic, automated updates keep your system secure and up-to-date without manual intervention.
New to Flatcar?
If you've never heard of image-based or immutable Linux, here's a quick orientation:
-
What makes Flatcar different? Unlike general-purpose distros, Flatcar has no package manager (
apt,yum, etc.) and its root filesystem is read-only. You declare the state you want at boot time (via Ignition) and the OS atomically applies it. Updates happen automatically in the background and take effect on the next reboot â no manual patching required. -
Who uses Flatcar? Primarily teams running container workloads (Kubernetes, Docker, etc.) in cloud or on-prem environments where security, reproducibility, and low maintenance overhead matter.
-
Want a guided tour? These talks are great starting points:
Video Speaker Description So Flatcar's in the CNCF... What's Next? Andrew Randall (Cloud Native Rejekts 2024) Project status, CNCF acceptance, governance, roadmap, and future direction Flatcar Linux 101: A Hands-Free Server OS Brian Exelbierd (InstallfestCz 2026) Core concepts, Ignition provisioning, automatic updates, and sysext extensions Take the Power Back on Your Containers with Flatcar Mathieu Tortuyaux, Microsoft (Linux Foundation) Hands-on tutorial: deploy with Terraform, provision with Ignition, set up auto-updates via Nebraska
Don't forget to check out flatcar.org for documentation, guides, and other useful resources!
Table of Contents
- Flatcar Container Linux
Install and Operate Flatcar
Flatcar Container Linux has a dedicated documentation site. Start here:
- Getting Started â covers Ignition, local testing with QEMU, automatic updates, and cloud providers
| Resource | Link |
|---|---|
| Current Releases | flatcar.org/releases |
| Interoperability Matrix | interop-matrix.md |
| CIS Benchmarks | CIS reports |
Communication Channels
We're a friendly bunch and always excited to chat! Here's where you can find us:
| Channel | Link |
|---|---|
| Discord (preferred) | discord.gg/PMYjFUsJyq â text, voice & video with contributors and maintainers |
| Matrix | #flatcar:matrix.org |
| Slack | #flatcar (Kubernetes Slack) / #flatcar (CNCF Slack) |
| GitHub Discussions | flatcar/Flatcar/discussions |
| Mailing List (Users) | flatcar-linux-user |
ð¡ Want to report a bug or request a feature? File an issue. Have a question or not sure where to start? Jump into one of our chats and ask â we're happy to help!
Social Media
| Platform | Link |
|---|---|
| Mastodon | @flatcar@hachyderm.io |
| Bluesky | @flatcar.org |
| X | @flatcar |
Community Meetings
Come say hi! Check our Google Calendar (iCal) for all meeting times.
Office Hours
| When | 2nd Wednesday of every month at 2:30pm UTC (double check calendar) |
| Where | meet.flatcar.org/OfficeHours (all you need is a browser, no installations/accounts required) |
| Agenda | Office Hours Discussions |
Engage with the Flatcar community, learn about project directions, discuss contributions, and catch occasional demos of image-based Linux technologies. Each call includes a brief Release Planning update.
Developer Syncs
| When | 4th Wednesday of every month at 2:30pm UTC (check calendar) |
| Where | meet.flatcar.org/OfficeHours (all you need is a browser, no installations/accounts required) |
| Agenda | Developer Sync Discussions |
Backlog grooming, task planning, roadmap discussions, and day-to-day issues. If you want to get hands-on with development, this is the call for you!
ð¥ All meetings are live-streamed on YouTube â recordings are linked in each meeting's agenda.
Report Bugs and Request Features
Found a bug or have a feature request? File an issue â please select the appropriate issue type to help us triage.
ð¡ Tip: Want a new package in the base image? Use the "New Package Request" issue type and check out the package addition guidelines.
Participate and Contribute
Thinking of making a contribution? Engage with the project early â comment on an existing issue or create a new one. Making your intent visible is often the key to getting your work accepted!
For full details, check out our Contributing Guide which covers:
| Topic | What you'll find |
|---|---|
| Ways to Contribute | Code, docs, community, outreach, and more |
| Finding Issues | Labels like good first issue and help wanted |
| Development Setup | SDK walkthrough and developer guides |
| PR Lifecycle | From filing to merge |
| Commit Guidelines | Format, style, and best practices |
ð New to Flatcar? Consider building a Flatcar App â a great hands-on way to learn!
Becoming a Maintainer
The Flatcar maintainer path is laid out in our governance document.
Repository Overview
The Flatcar project is spread across many repositories in the flatcar GitHub organisation. For a full map of repos grouped by function, see the Repository Overview in the Contributing Guide.
Project Status and Roadmap
| Board | Description |
|---|---|
| Issue Tracker | Short-term concerns â bugs and minor enhancements |
| Tactical Board | What maintainers and contributors are currently working on |
| Release Board | Completed items assigned to upcoming releases |
| Releases Tracker | Track the status of each release across all channels |
| Roadmap Board | Epics, major features, and long-term items |
Release Process
Flatcar Container Linux follows an Alpha â Beta â Stable release process:
- New features and major version upgrades enter Alpha, transition to Beta, then land in Stable.
- Bug fixes are released directly to the affected channel (Alpha fixes go to Alpha, Beta to Beta, Stable to Stable).
Within each channel, updates are planned on a 14-day cadence. Major releases follow a broader rhythm:
| Promotion | Target cadence |
|---|---|
| New major Alpha | Monthly |
| Alpha â Beta | Every 2 months |
| Beta â Stable | Every 3â4 months |
| New LTS | Yearly |
Up-to-date planning status is reflected in our release planning board. For the full release process documentation, see the Release Guide.
LTS
Some users prefer to avoid frequent version upgrades. The Flatcar LTS channel provides a longer support window:
| Detail | Value |
|---|---|
| Based on | A "golden Stable" release |
| Maintenance period | 18 months |
| New LTS frequency | Every 12 months |
| Upgrade window | 6 months overlap |
Project Governance
Flatcar is a community-driven project. Every participant â bug reporter, feature requester, code contributor â is considered a contributor. Maintainers have commit access and help govern the project, driving it forward and maintaining its scope and vision.
For full details see our governance document.
| Resource | Link |
|---|---|
| Governance | governance.md |
| Maintainers | MAINTAINERS.md |
| Security Policy | SECURITY.md |
Code of Conduct
We follow the CNCF Code of Conduct.
Please contact the private Maintainer mailing list or the Linux Foundation mediator, Mishi Choudhary (mishi@linux.com), to report an issue.
Reference
| Document | Description |
|---|---|
| CONTRIBUTING.md | How to contribute â finding issues, development setup, PR lifecycle, commit guidelines |
| RELEASES.md | Release channels, downloads, and the release process |
| governance.md | Project governance model, maintainer roles, and decision-making |
| MAINTAINERS.md | Current list of project maintainers |
| EMERITUS_MAINTAINERS.md | Former maintainers who have stepped down |
| ONBOARDING.md | Checklist for onboarding new maintainers |
| SECURITY.md | Security policy and vulnerability reporting |
| CODE_OF_CONDUCT.md | CNCF Code of Conduct |
| adding-new-packages.md | Guidelines for requesting and adding new packages to Flatcar |
| interop-matrix.md | Platform and provider interoperability matrix |
| CODEOWNERS | Code ownership and review assignments |
| LICENSE | Project license (Apache 2.0) |
Top Related Projects
Purpose-built OS for Kubernetes, fully managed by Kubernetes.
Talos Linux is a modern Linux distribution built for Kubernetes.
An operating system designed for hosting containers
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot