|Written in||Go, Shell script, C, Roff, Python|
|Source model||Open source|
|Initial release||April 1, 2020|
|Latest release||2.0.20220625 / July 2, 2022|
|Marketing target||Cloud infrastructure and edge products and services|
|Kernel type||Monolithic (Linux kernel)|
|License||Primarily MIT License, with some components under Photon License, Apache License v2, GPLv2, and LGPLv2.1|
CBL-Mariner (in which CBL stands for Common Base Linux) is a free and open-source Linux distribution that Microsoft has developed. It is the base container OS for Microsoft Azure services and the graphical component of WSL 2.
CBL-Mariner is being developed by the Linux Systems Group at Microsoft for its edge network services and as part of its cloud infrastructure. The company uses it as the base Linux for containers in the Azure Stack HCI implementation of Azure Kubernetes Service. Microsoft also uses CBL-Mariner in Azure IoT Edge to run Linux workloads on Windows IoT, and as a backend distro to host the Weston compositor for WSLg.
In a similar approach to Fedora CoreOS, CBL-Mariner only has the basic packages needed to support and run containers. Common Linux tools are used to add packages and manage security updates. Updates are offered either as RPM packages or as complete disk images that can be deployed as needed. Using RPM allows adding custom packages to a base CBL-Mariner image to support additional features and services as needed. Notable features include an iptables-based firewall, support for signed updates, and a hardened kernel.
Microsoft released the operating system in 2020. Its source code is available on GitHub, mainly under the MIT License, with some components under Photon License, Apache License v2, GPLv2, and LGPLv2.1. Building CBL-Mariner requires the Go programming language, QEMU utilities, and RPM.