Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

cloudfoundry-attic/garden-linux-release

Repository files navigation

Garden Linux Release

Garden Linux is not actively developed anymore. We are currnetly focusing on the OCI Garden backend: garden-runc.

A BOSH release for deploying Garden Linux.

To play with it, deploy to BOSH Lite in the usual way:

git clone --recursive https://github.com/cloudfoundry/garden-linux-release
cd garden-linux-release
bosh create release
bosh upload release
bosh deployment manifests/bosh-lite.yml
bosh deploy

When you're done, Garden Linux should be running and you can create containers, run a process in a container, and so on via the garden client.

To update to a new version:

git pull
git submodule update --init --recursive
bosh create release
bosh upload release
bosh deployment manifests/bosh-lite.yml
bosh deploy

## Developing

We use concourse to run our tests. You should first set up concourse (a local vagrant install of concourse will do). If you want to use a remote concourse, set the GARDEN_REMOTE_ATC_URL environment variable, this will be passed as --target to fly if present.

The garden-linux-release package is a bosh release and a go workspace. The included .envrc will set up your GOPATH environment variable for you (if you have direnv installed and run direnv allow).

You can develop in the submodules (normally src/code.cloudfoundry.org/garden and src/code.cloudfoundry.org/garden-linux) and then, when you're ready to bump, run ./scripts/test-and-bump to run all the tests and generate a commit to bump the submodules. You can run all the tests without creating a bump commit with ./scripts/test.

Example Workflow:

direnv allow
git checkout develop # we work on the develop branch, CI commits to master for us
pushd src/code.cloudfoundry.org/garden-linux
# now make some changes..
popd
./scripts/test # run the tests
./scripts/test-and-bump # run the tests, create a bump commit