Skip to content

gardenlinux/gardenlinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

latest release Nightly Build Dev 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)
    • Platform tests (Image platform 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}-${feature1}-${feature2}-${feature3}-${arch}

Where:

  • ${platform} denotes the desired platform (e.g., kvm, metal, aws). It should be the first part of the flavor that is built.
  • ${featureX} represents one or more specific features from the features/ folder. Features are appended and seperated by a hyphen - or (if the feature starts with an underscore _) by an underscore.
  • ${arch} optinally you can reference a certain architecture amd64 or arm64. It should be the last part of the flavor that is built.

You can combine multiple platforms and features as needed.

Examples:

./build kvm-python_dev
./build aws-gardener_prod-amd64

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.

Releases

For more information about the release strategy and lifecycle, have a look at the Release Plan Overview.

Active and Next Releases

gantt
    title Garden Linux active and next releases
    axisFormat %m.%y
    section 1443
        Release:                milestone, 2024-03-13, 0m
        Standard maintenance:       task, 2024-03-13, 6M
        Extended maintenance:       milestone, 2024-09-13, 0m
        Extended maintenance:       task, 2024-09-13, 4M
        End of maintenance:         milestone, 2025-01-13, 0m
    section 1592
        Release:                milestone, 2024-08-12, 0m
        Standard maintenance:       task, 2024-08-12, 9M
        Extended maintenance:       milestone, 2025-05-12, 0m
        Extended maintenance:       task, 2025-05-12, 3M
        End of maintenance:         milestone, 2025-08-12, 0m
    section next
        Release:                milestone, 2024-12-01, 0m
        Standard maintenance:       task, 2024-12-01, 6M
        Extended maintenance:       milestone, 2025-06-01, 0m
        Extended maintenance:       task, 2025-06-01, 3M
        End of maintenance:         milestone, 2025-09-01, 0m        
Loading

Download Stable and Patch Releases

Stable and Patch releases can be downloaded from the following sources:

Product Release Frequency Download
cloud and baremetal images Quarterly Download
base container images Quarterly Download
bare python container Quarterly Download
bare libc container Quarterly Download
bare nodejs container Quarterly Download

The cloud and baremetal images provided by Garden Linux are compatible with various cloud platforms, including Alibaba Cloud, AWS, Microsoft Azure and GCP.

Download Nightly Releases

Nightly releases can be downloaded from the same sources and are either tagged or named nightly.

Warning

Nightly releases do not include maintenance commitments and never receive updates. Advanced users are invited to try them out and provide feedback, but it is strongly discouraged to use them in any sort of production environment.

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