Git Product home page Git Product logo

gardenlinux's Introduction


FeaturesBuild RequirementsQuick StartCustomize


Garden Linux is a Debian deriviate that aims to provide a small, auditable linux image for most Cloud Providers and Bare Metal.

Features:

  • easy to use build System for images
  • build are repeatable and auditable
  • small footprint (based on minbase of Debian)
  • subscribes for debian/testing, so no huge (problematic) version jumps needed
  • whole setup is purely systemd based (network, fstab etc.) #101 #102
  • initramfs is dracut generated #105
  • optional complete immutability #104
  • regular updates (since the whole build process is completely automated via a Tekton CI) and
  • thorough automated testing
    • unit tests against the local build and
    • integration tests against the various cloud Providers (only rc builds)
  • aiming to always to integrate the lates LTS kernel #100 (currently 5.4)
  • running scans against against common issues like
    • License voilations (we try to be completely open! #1)
    • Scans for outdated software versions
  • project licensed under MIT
  • supporting major platforms out-of-the-box
    • major cloud providers AWS, Azure, Google, Alicloud
    • major virtualizer VMware, OpenStack, KVM
    • bare metal

Build Requirements

The entire build runs in a docker container (well a privileged one with extended capabilities - since we need loop back support) We can run on any system supporting Docker and having loopback support and has

  • 2+ GiB (use RAM-disk; use fs with sparse-file support)
  • 10+ GiB free disk space

required packages are (on Debian/Ubuntu): apt install docker.io make

Recommended packages to run recommended supporting services (like a build cache) and extended tests (virtualized image runs)

apt install docker-compose qemu-system-x86

Quick start

Build all images:

make all

Building specific platform images:

make aws
make gcp
make azure
make ali
make vmware
make openstack
make kvm
make metal

See in build/ folder for the outcome

Customize builds

Our build is based on a feature system.

The feature sytem distinguishes between

  • Platforms (aws, azure, google ...)
  • Features (container host, virtual host ...)
  • Modifiers (_slim. _readonly, _pxe ...)

if you want to manually build choose:

build.sh <Platform>,[<feature1>],[<featureX>],[_modifier1],[_modifierX] destination [version]

e.g. build.sh server,cloud,chost,vmware build/

builds a Server image, cloud-like, with a container host for the Platform VMware. The build result can be found in build/

also look into our Version scheme since adding a date or a Version targets the whole build for a specific date

gardenlinux's People

Contributors

5kt avatar andreasburger avatar archoversight avatar ccwienk avatar danielfoehrkn avatar dependabot[bot] avatar dguendisch avatar dkistner avatar docktofuture avatar gehoern avatar jia-jerry avatar jpalinriot avatar liorokman avatar maltej avatar marwinski avatar msohn avatar nachtmaar avatar ubi2go avatar vlerenc avatar vpnachev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.