# bottlerocket-os/bottlerocket

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bottlerocket-os-bottlerocket).**

9,624 stars · 578 forks · Rust · NOASSERTION

## Links

- GitHub: https://github.com/bottlerocket-os/bottlerocket
- Homepage: https://bottlerocket.dev
- awesome-repositories: https://awesome-repositories.com/repository/bottlerocket-os-bottlerocket.md

## Topics

`containers` `linux` `operating-system` `rust`

## Description

Bottlerocket is a container-optimized operating system and minimal Linux distribution designed specifically for hosting container workloads. It functions as an immutable infrastructure OS, utilizing a read-only root filesystem and atomic partition swapping to ensure consistent and reversible system updates.

The system is distinguished by an API-driven host manager that replaces traditional shell-based configuration with a local REST API for administrative tasks. To maintain security and stability, it employs a dual-runtime isolation model that separates workload runtimes from system operational tasks to prevent resource exhaustion.

The project provides specialized image variants for various hosting environments, including optimized builds for Kubernetes nodes and Amazon ECS. It further supports high-performance computing through integrated drivers for hardware accelerators such as NVIDIA GPUs and neural accelerators.

Broad capabilities cover the full lifecycle of container hosting, including bootstrap configuration via TOML, in-place software updates, and out-of-band administrative access via privileged containers for system debugging.

## Tags

### Part of an Awesome List

- [Container Host Operating Systems](https://awesome-repositories.com/f/awesome-lists/devtools/container-host-operating-systems.md) — Provides a minimal and secure Linux distribution specifically optimized for hosting container workloads.

### DevOps & Infrastructure

- [Container-Optimized Operating Systems](https://awesome-repositories.com/f/devops-infrastructure/container-hosting/container-optimized-operating-systems.md) — Implements a secure, minimal Linux distribution specifically optimized to run and manage container workloads. ([source](https://bottlerocket.dev/en/os/1.14.x/install/))
- [Immutable Infrastructure OS](https://awesome-repositories.com/f/devops-infrastructure/immutable-infrastructure-os.md) — Provides an operating system using read-only filesystems and atomic partition swapping to ensure consistent and reversible infrastructure updates. ([source](https://bottlerocket.dev/en/os/1.13.x/install/))
- [API-Driven Infrastructure Managers](https://awesome-repositories.com/f/devops-infrastructure/api-driven-infrastructure-managers.md) — Replaces traditional shell access with a local REST API for managing host and cluster configurations.
- [OS Management APIs](https://awesome-repositories.com/f/devops-infrastructure/api-service-management/api-management/api-operations-automation/os-management-apis.md) — Updates and retrieves system configurations via a REST API to modify host behavior. ([source](https://bottlerocket.dev/en/os/1.13.x/api/endpoints/))
- [Application Settings Management](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management.md) — Updates system configurations and administrative settings through a dedicated application programming interface. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/))
- [Container Hosting](https://awesome-repositories.com/f/devops-infrastructure/container-hosting.md) — Provides a secure, minimal Linux environment specifically optimized for hosting containerized workloads across orchestrators. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Administrative Containers](https://awesome-repositories.com/f/devops-infrastructure/container-hosting/administrative-containers.md) — Provides privileged host containers for administrative tasks and system debugging on an immutable OS. ([source](https://bottlerocket.dev/en/os/1.14.x/api/settings/))
- [Container Shell Access](https://awesome-repositories.com/f/devops-infrastructure/container-hosting/container-shell-access.md) — Provides a restricted administrative container with SSH access for system inspection and root-level tasks. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Out-of-Band Host Access](https://awesome-repositories.com/f/devops-infrastructure/container-hosting/out-of-band-host-access.md) — Provides isolated containers with varying privilege levels for debugging and configuration on shell-less hosts. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/shell-less-host/))
- [Container Execution](https://awesome-repositories.com/f/devops-infrastructure/container-images/container-execution.md) — Runs container engines and orchestrators on a hardened Linux foundation to execute isolated applications. ([source](https://bottlerocket.dev/en/os/1.13.x/install/quickstart/))
- [Container Orchestration Integrations](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-integrations.md) — Connects to various container orchestration control planes via agents to automate the container lifecycle. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/components/))
- [OS Image Variants](https://awesome-repositories.com/f/devops-infrastructure/hardware-specific-container-images/os-image-variants.md) — Provides specialized OS builds tailored for specific cloud environments and hardware accelerators like GPUs.
- [Kubernetes Cluster Management](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management.md) — Supports multiple versions of Kubernetes to function as a secure and stable cluster node. ([source](https://bottlerocket.dev/en/os/1.13.x/version-information/packages/1.13.0/))
- [Kubernetes Cluster Provisioning](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-provisioning.md) — Integrates multiple kubelet versions to serve as a secure, production-grade Kubernetes cluster node. ([source](https://bottlerocket.dev/en/os/1.13.x/version-information/packages/1.13.1/))
- [Kubernetes Integrations](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-integrations.md) — Configures the kubelet and node settings to allow the system to join a Kubernetes cluster. ([source](https://bottlerocket.dev/en/os/1.14.x/api/settings/))
- [Kubernetes Node Provisioning](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-node-provisioning.md) — Configures and manages secure cluster nodes that integrate with the kubelet to support Kubernetes clusters.
- [Privileged Host Management](https://awesome-repositories.com/f/devops-infrastructure/privileged-host-management.md) — Runs privileged containers independently of the orchestrator to operate the system when agents fail. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/components/))
- [AWS ECS Deployments](https://awesome-repositories.com/f/devops-infrastructure/aws-ecs-deployments.md) — Integrates with Amazon ECS to manage cluster membership and orchestration through the service agent. ([source](https://bottlerocket.dev/en/os/1.14.x/api/settings/))
- [Container Orchestration & Deployment](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-deployment.md) — Bootstraps a secure environment for deploying and scaling container orchestration services. ([source](https://bottlerocket.dev/en/os/1.13.x/install/quickstart/aws/))
- [Hardware-Accelerated OS Images](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/gpu-accelerated-containers/hardware-accelerated-os-images.md) — Ships pre-configured OS images with drivers for NVIDIA GPUs and neural accelerators to power high-performance workloads.
- [Container Management Agent Deployments](https://awesome-repositories.com/f/devops-infrastructure/coordinated-stack-deployments/container-management-agent-deployments.md) — Manages the deployment and execution of the ECS service agent for orchestration integration. ([source](https://bottlerocket.dev/en/os/1.13.x/version-information/packages/1.13.0/))
- [OS Platform Variants](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/execution-platforms-and-targets/deployment-environments/hardware-specific-installations/os-platform-variants.md) — Provides specialized operating system builds tailored for different cloud providers, orchestrators, and hardware accelerators. ([source](https://bottlerocket.dev/en/os/1.13.x/version-information/variants/))
- [ECS Node Management](https://awesome-repositories.com/f/devops-infrastructure/ecs-node-management.md) — Provides purpose-built nodes that integrate with the Amazon ECS agent to launch containerized workloads.
- [Workload Isolation](https://awesome-repositories.com/f/devops-infrastructure/environment-isolation/workload-isolation.md) — Employs a dual-runtime isolation model to separate system operational tasks from customer workloads. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/components/))
- [Ephemeral Storage](https://awesome-repositories.com/f/devops-infrastructure/ephemeral-storage.md) — Uses non-persistent storage for volatile system settings to ensure a clean state after reboot.
- [Hardware-Specific Container Images](https://awesome-repositories.com/f/devops-infrastructure/hardware-specific-container-images.md) — Provides pre-defined images tailored for specific architectures and hardware accelerators like NVIDIA GPUs. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/variants/))
- [In-Place Node Updates](https://awesome-repositories.com/f/devops-infrastructure/in-place-node-updates.md) — Enables applying software updates directly to running nodes to transition versions without full node replacement. ([source](https://bottlerocket.dev/en/os/1.13.x/update/methods/))
- [In-Place OS Upgrades](https://awesome-repositories.com/f/devops-infrastructure/in-place-os-upgrades.md) — Supports upgrading the operating system to a newer version on running hosts without requiring full re-provisioning. ([source](https://bottlerocket.dev/en/os/1.13.x/update/guidelines/))
- [In-Place System Updates](https://awesome-repositories.com/f/devops-infrastructure/in-place-system-updates.md) — Enables triggering system updates on existing nodes via an API server to avoid full reprovisioning. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/updating-bottlerocket/))
- [Administrative Host Access](https://awesome-repositories.com/f/devops-infrastructure/layered-filesystems/host-to-layer-mounting/administrative-host-access.md) — Provides root access to the host operating system via a privileged administrative container for troubleshooting. ([source](https://bottlerocket.dev/en/os/1.13.x/install/quickstart/aws/host-containers/))
- [OS Version Pinning](https://awesome-repositories.com/f/devops-infrastructure/os-version-pinning.md) — Allows administrators to lock the system to a specific release version to prevent automatic updates. ([source](https://bottlerocket.dev/en/os/1.14.x/update/))
- [Pre-built Image Deployments](https://awesome-repositories.com/f/devops-infrastructure/pre-built-image-deployments.md) — Offers pre-configured image variants tailored for specific hosting environments to speed up deployment. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/))

### Operating Systems & Systems Programming

- [Container-Optimized Operating Systems](https://awesome-repositories.com/f/operating-systems-systems-programming/container-optimized-operating-systems.md) — Ships a minimal, security-focused Linux distribution optimized specifically for executing containerized applications. ([source](https://bottlerocket.dev/en/os/1.13.x/version-information/packages/1.13.0/))
- [Immutable Root Filesystems](https://awesome-repositories.com/f/operating-systems-systems-programming/immutable-root-filesystems.md) — Protects the core system using signed read-only images to ensure filesystem integrity.
- [Atomic System Updates](https://awesome-repositories.com/f/operating-systems-systems-programming/atomic-system-updates.md) — Implements update mechanisms that replace the entire filesystem with a new signed image as a single indivisible operation. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Immutable Operating Systems](https://awesome-repositories.com/f/operating-systems-systems-programming/immutable-operating-systems.md) — Functions as an immutable operating system using signed read-only images and atomic partition swapping.
- [Isolated Runtime Environments](https://awesome-repositories.com/f/operating-systems-systems-programming/isolated-runtime-environments.md) — Employs a dual-runtime isolation model that separates workload runtimes from system operational tasks.
- [Kubernetes Node Images](https://awesome-repositories.com/f/operating-systems-systems-programming/kubernetes-node-images.md) — Ships specialized system images optimized to function as secure, minimal nodes within Kubernetes clusters.
- [OS Version Updates](https://awesome-repositories.com/f/operating-systems-systems-programming/os-version-updates.md) — Supports in-place updates to newer operating system versions while preserving the current variant configuration. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/variants/))
- [Root Filesystem Integrity](https://awesome-repositories.com/f/operating-systems-systems-programming/root-filesystem-integrity.md) — Protects the system against unauthorized changes using integrity checks to maintain a signed, immutable root image. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Atomic OS Rollbacks](https://awesome-repositories.com/f/operating-systems-systems-programming/atomic-os-rollbacks.md) — Provides the ability to revert the operating system to a previous known-good version after boot or workload failures. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Dual-Runtime Isolations](https://awesome-repositories.com/f/operating-systems-systems-programming/dual-runtime-isolations.md) — Separates system operational runtimes from workload runtimes to prevent resource exhaustion.
- [Hardware Acceleration](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration.md) — Integrates specialized drivers for NVIDIA GPUs and AWS Neuron instances to accelerate computational workloads. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Hardware-Optimized OS Images](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-optimized-os-images.md) — Provides pre-configured system images containing drivers and tools optimized for specific hardware and cloud platforms. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/variants/))
- [Kernel Parameter Tuning](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-parameter-tuning.md) — Provides the ability to modify Linux kernel parameters to optimize performance and behavior for container workloads. ([source](https://bottlerocket.dev/en/os/1.14.x/api/settings/))

### Development Tools & Productivity

- [Node Software Provisioning](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration/virtual-machine-provisioning/node-software-provisioning.md) — Automates the installation of required runtimes and daemons to bootstrap operating system instances as orchestration nodes. ([source](https://bottlerocket.dev/en/os/1.14.x/install/quickstart/aws/))
- [Host Environment Initialization](https://awesome-repositories.com/f/development-tools-productivity/environment-initializers/container-environment-initialization/host-environment-initialization.md) — Provides the ability to execute specialized containers during boot to prepare the host environment for container workloads. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/))
- [System Software Updates](https://awesome-repositories.com/f/development-tools-productivity/project-version-updaters/system-software-updates.md) — Provides mechanisms for replacing core system files and software with newer versions without full re-provisioning. ([source](https://bottlerocket.dev/en/os/1.13.x/update/methods/in-place/))
- [Container Command Executors](https://awesome-repositories.com/f/development-tools-productivity/shell-command-execution/container-command-executors.md) — Runs shell sessions and management commands on instances using an integrated control container. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))

### Security & Cryptography

- [Read-Only Filesystem Enforcement](https://awesome-repositories.com/f/security-cryptography/security/policies/host-resource-access/file-system-access-controls/path-access-restrictions/read-only-filesystem-enforcement.md) — Employs signed root filesystems and integrity checking to prevent unauthorized modifications to the system. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/restricted-filesystem/))
- [Access Control Labels](https://awesome-repositories.com/f/security-cryptography/access-control-labels.md) — Uses security labels and mandatory access control policies to apply granular read and write permissions to files. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/restricted-filesystem/))
- [Mandatory Access Control](https://awesome-repositories.com/f/security-cryptography/mandatory-access-control.md) — Restricts access to non-root filesystem resources using labels and mandatory access control policies. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/restricted-filesystem/))
- [Container Privilege Restrictions](https://awesome-repositories.com/f/security-cryptography/security/policies/capability-authorization/capability-based-security/container-privilege-restrictions.md) — Applies enforced security policies to block containers from executing dangerous kernel-level operations. ([source](https://bottlerocket.dev/))

### Software Engineering & Architecture

- [Boot Partition Swaps](https://awesome-repositories.com/f/software-engineering-architecture/atomic-installation-swaps/boot-partition-swaps.md) — Ensures consistent and reversible system updates by switching between bootable partitions.
- [Initial Boot Configurations](https://awesome-repositories.com/f/software-engineering-architecture/automatic-configuration/initial-boot-configurations.md) — Runs specialized containers during the boot process to initialize system settings before orchestrator connection. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/bootstrap-containers/))
- [TOML-Based Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/declarative-configuration-management/toml-based-synchronization.md) — Initializes system state and environment settings at boot using structured TOML data files.
- [Administrative](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/namespace-provisioners/container-isolation/administrative.md) — Runs debugging and administrative tools in separate privileged containers to maintain host security.

### System Administration & Monitoring

- [Administrative APIs](https://awesome-repositories.com/f/system-administration-monitoring/administrative-apis.md) — Manages host configurations and administrative tasks through a local REST API instead of shell-based files.
- [System Configuration](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/configuration-control-utilities/system-administration-tools/system-configuration.md) — Modifies operating system parameters via an API to update behavior without rebooting. ([source](https://bottlerocket.dev/en/os/1.14.x/api/))
- [API-Driven System Administration](https://awesome-repositories.com/f/system-administration-monitoring/api-driven-system-administration.md) — Provides a local REST API to replace traditional shell-based configuration for administrative tasks like rebooting and update checks. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/api-driven/))
- [Host Configuration Management](https://awesome-repositories.com/f/system-administration-monitoring/host-configuration-management.md) — Modifies system settings using a local API server, command-line client, or user data. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Host System Debugging](https://awesome-repositories.com/f/system-administration-monitoring/host-system-debugging.md) — Provides out-of-band access to the host operating system via privileged containers for system modification and debugging. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/shell-less-host/))
- [System Configuration Management](https://awesome-repositories.com/f/system-administration-monitoring/system-configuration-management.md) — Modifies and retrieves operating system configurations through a centralized API interface. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/api-driven/))
- [Operational Task Automation](https://awesome-repositories.com/f/system-administration-monitoring/operational-task-automation.md) — Performs system operations like rebooting and checking for updates via API calls. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/api-driven/))
- [Remote Command Execution](https://awesome-repositories.com/f/system-administration-monitoring/remote-command-execution.md) — Executes administrative commands and shell sessions on instances via a dedicated control container. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Cluster Version Updaters](https://awesome-repositories.com/f/system-administration-monitoring/software-version-managers/cluster-version-updaters.md) — Provides utilities to refresh the cluster by provisioning new nodes with updated versions via centralized configuration. ([source](https://bottlerocket.dev/en/os/1.13.x/update/methods/))

### Artificial Intelligence & ML

- [GPU Acceleration](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-acceleration.md) — Leverages pre-configured NVIDIA drivers to execute high-performance processing tasks on GPU-equipped instances. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))
- [Neural Accelerators](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-acceleration-support/neural-accelerators.md) — Configures the necessary packages and drivers to run machine learning workloads on specialized AWS Neuron hardware. ([source](https://cdn.jsdelivr.net/gh/bottlerocket-os/bottlerocket@develop/README.md))

### Programming Languages & Runtimes

- [Bootstrap Configurations](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-bootstrapping/bootstrap-configurations.md) — Applies a collection of system settings at boot via TOML-formatted configuration. ([source](https://bottlerocket.dev/en/os/1.14.x/concepts/api-driven/))
- [System Bootstrapping Configurations](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-bootstrapping/bootstrap-configurations/system-bootstrapping-configurations.md) — Initializes system settings at boot using a TOML-formatted data file. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/api-driven/))

### Web Development

- [Node Replacement Updates](https://awesome-repositories.com/f/web-development/document-lifecycle-management/node-replacement-updates.md) — Supports updating clusters by provisioning new nodes and decommissioning old ones to ensure a clean state. ([source](https://bottlerocket.dev/en/os/1.14.x/update/methods/))
- [Rolling Node Updates](https://awesome-repositories.com/f/web-development/document-lifecycle-management/rolling-node-updates.md) — Supports sequentially replacing nodes in a group with updated versions to apply system updates without service outages. ([source](https://bottlerocket.dev/en/os/1.13.x/concepts/updating-bottlerocket/))
