These instructions assume a basic familiarity with Golang development. If you have not developed a golang project before, please see the Golang docs
- Golang
- Terraform
- Vagrant with the default Virtualbox provider
- Docker (Either a Linux-local dockerd, or on OSX, via boot2docker)
$ git clone git@github.com:cloudfoundry-incubator/lattice.git -b develop # may be unstable!
$ cd lattice
$ development/setup
$ development/build
$ source development/env
Note: This will overwrite your $GOPATH.
$ development/run
$ ltc target 192.168.11.11.xip.io
$ ltc test -v
$ development/teardown
Running development/setup
subsequent times will clean and re-sync your build directory.
Running development/teardown
will delete the build
directory and destroy the running vagrant box. It is destructive and unnecessary
to run development/teardown
after build.
Our continuous deployment pipeline will automatically bump ltc
dependencies that come from diego-release
.
There is no need to bump them manually (and you probably shouldn't).
Non-diego-release dependencies should be manually bumped via godep update.
i.e., codegangsta/cli, docker/docker, etc.
For any given SHA of lattice, ltc should use the same diego-release dependencies that that lattice cluster tar builds against. This keeps any overlapping dependencies in lock step. That is, if the version of receptor in the lattice cluster gets updated, the receptor client that ltc uses will be updated with it. The pipeline ensures this on master. Nesting lattice in the GOPATH constituted by diego-release ensures this locally.
Please make pull requests against the develop branch. We will not accept untested changes. Please test-drive your code.
We strive to keep master stable. Tagged releases are vetted releases based on master. We make no guarantees about the stability of the develop branch on a per-commit basis.