Garden Linux is a Debian GNU/Linux derivate that aims to provide small, auditable Linux images for most cloud providers (e.g. AWS, Azure, GCP etc.) and bare-metal machines. Garden Linux is the best Linux for Gardener nodes. Garden Linux provides great possibilities for customizing that is made by a highly customizable feature set to fit your needs.
- Easy to use build system
- Repeatable and auditable builds
- Small footprint
- Purely systemd based (network, fstab etc.)
- Initramfs is dracut generated
- Running latest LTS Kernel
- MIT license
- Security
- Fully immutable image(s) (optional)
- OpenSSL 3.0 (default)
- CIS Framework (optional)
- Testing
- Unit tests (Created image testing)
- Integration tests (Image integration tests in all supported platforms)
- License violations (Testing for any license violations)
- Outdated software versions (Testing for outdated software)
- Supporting major platforms out-of-the-box
- Major cloud providers AWS, Azure, Google, Alicloud
- Major virtualizer VMware, OpenStack, KVM
- Bare-metal systems
The build system utilises the gardenlinux/builder to create customized Linux distributions. gardenlinux/gardenlinux is maintained by the Garden Linux team, highlighting specialized "features" available for other projects.
Tip
For further information about the build process, and how to set it up on your machine, refer to the Build Image documentation page.
To initiate a build, use the command:
./build ${platform}-${feature}_${modifier}
Where:
${platform}
denotes the desired platform (e.g.,kvm
,metal
,aws
).${feature}
represents a specific feature from thefeatures/
folder.${modifier}
is an optional modifier from thefeatures/
folder, prefixed with an underscore "_".
You can combine multiple platforms, features, and modifiers as needed.
Example:
./build kvm-python_dev
The build script fetches the required builder container and manages all internal build steps. By default, it uses rootless podman, but you can switch to another container engine with the --container-engine
flag.
To run unit tests for a specific target, use the command ./test ${target}
.
Further documentation about tests is located in tests/README.md.
Product | Release Frequency | Download |
---|---|---|
LTS cloud and baremetal images | Quarterly | Download |
LTS base container images | Quarterly | Download |
LTS bare python container | Quarterly | Download |
LTS bare libc container | Quarterly | Download |
LTS bare nodejs container | Quarterly | Download |
Note: For each artifact, there also exists a nightly version, which is built daily but is not considered LTS.
The LTS cloud and baremetal images provided by Garden Linux are compatible with various cloud platforms, including Alibaba Cloud, AWS, Microsoft Azure and GCP.
An installer can be found in the gardenlinux/gardenlinux-nvidia-installer repository.
Please refer to docs/README.md.
Contributions to the Garden Linux open source projects are welcome.
More information are available in in CONTRIBUTING.md and our docs/
.
If you need further assistance, have any issues or just want to get in touch with other Garden Linux users feel free to join our public chat room on Gitter.