A tool for turning container images into running Kubernetes services
Go Other
Latest commit f467c8f Jan 16, 2017 @paulbellamy paulbellamy committed on GitHub Merge pull request #375 from weaveworks/update-docker-registry-client
Update the docker-registry-client
Failed to load latest commit information.
api Try a 'fluxctl status' command Jan 10, 2017
automator Remove migration code for automatedServiceJobs Jan 12, 2017
cmd Merge pull request #369 from weaveworks/release/validate-image Jan 16, 2017
db Remove old release_jobs table Dec 5, 2016
deploy Merge pull request #246 from weaveworks/use-nats-messagebus Dec 20, 2016
docker Split platform and fluxd from fluxsvc Oct 28, 2016
git Add git status stderr output into the status command Jan 10, 2017
guid Make new subscriptions kick old subscriptions Dec 14, 2016
history Correct metrics field name Dec 23, 2016
http Validate image to ensure image and tag are present. Jan 11, 2017
instance Merge pull request #369 from weaveworks/release/validate-image Jan 16, 2017
jobs Remove migration code for automatedServiceJobs Jan 12, 2017
metrics Add release_kind metric, for tracking dry runs vs executes Jan 9, 2017
platform Add fluxd version to fluxctl status command Jan 10, 2017
registry Merge pull request #372 from weaveworks/rate-limit-registry-requests Jan 16, 2017
release Merge pull request #349 from weaveworks/automated-instance-job Jan 11, 2017
server Fix loop variable capture bug in history timestamps Jan 11, 2017
vendor Update the docker-registry-client Jan 16, 2017
.gitignore Revert 76332b5 Oct 19, 2016
LICENSE Initial commit Jul 7, 2016
Makefile Bake version numbers into all binaries. Jan 10, 2017
README.md README: remove user stories Nov 22, 2016
circle.yml Run gnatsd as part of the circle build Dec 14, 2016
config.go Add --fingerprint option to get-config Nov 16, 2016
lint Basic circle.yml, respecting Glide etc. Jul 15, 2016
service.go Review fixes Jan 12, 2017
service_test.go Added "no spec" and "all spec"s to test. Jan 12, 2017



Flux is a tool for deploying container images to Kubernetes clusters.


For the minute you will have to build or use the container images weaveworks/flux{d,svc}. The directory deploy/ 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 ./...

Dependency management

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 import.


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 go build
  • Code should have appropriate test coverage, invoked via plain go test

In addition, several mechanical checks are enforced. See the lint script for details.