Skip to content

gardenlinux/gardenlinux

Repository files navigation

GitHub Release Build Build CII Best Practices

Garden Linux

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.

Features

  • 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

Build

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 the features/ folder.
  • ${modifier} is an optional modifier from the features/ 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.

Test

To run unit tests for a specific target, use the command ./test ${target}. Further documentation about tests is located in tests/README.md.

Download Releases

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.

Nvidia Driver Support

An installer can be found in the gardenlinux/gardenlinux-nvidia-installer repository.

Documentation

Please refer to docs/README.md.

Contributing

Contributions to the Garden Linux open source projects are welcome. More information are available in in CONTRIBUTING.md and our docs/.

Community

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.

Link: https://gitter.im/gardenlinux/community