Flux is a tool for deploying container images to Kubernetes clusters.
For the minute you will have to build or use the container images
has example Kubernetes configuration and instructions for using it.
Ensure the repository is checked out into $GOPATH/src/github.com/weaveworks/flux. Then, from the root,
$ gvt restore # .. time passes .. $ make
This makes Docker images, and installs binaries to $GOPATH/bin.
$ go test ./...
Note: In order to run the NATS message bus tests (the message bus that connects fluxctl -> fluxsvc -> nats -> fluxsvc -> fluxd) you need to have a running gnatsd instance.
We use gvt to manage vendored dependencies. Note that we do not check in the vendor folder.
To get all the dependencies put in the
vendor/ folder, use
$ go get -u github.com/FiloSottile/gvt # install gvt if you don't have it $ gvt restore
To add dependencies, use
$ gvt fetch <dependency>
gvt does not discover dependencies for you, but it will add them
recursively; so, it should be sufficient to just add packages you
See the release docs for instructions about how to release a version of flux.
Flux follows a typical PR workflow. All contributions should be made as PRs that satisfy the guidelines below.
- All code must abide Go Code Review Comments
- Names should abide What's in a name
- Code must build on both Linux and Darwin, via plain
- Code should have appropriate test coverage, invoked via plain
In addition, several mechanical checks are enforced. See the lint script for details.