We believe in GitOps:
kubectl, all changes go through git. Use diff tools to detect divergence between observed and desired state and get notifications.
Flux is a tool that automatically ensures that the state of a cluster matches the config in git. It uses an operator in the cluster to trigger deployments inside Kubernetes, which means you don’t need a separate CD tool. It monitors all relevant image repositories, detects new images, triggers deployments and updates the desired running configuration based on that (and a configurable policy).
The benefits are: you don’t need to grant your CI access to the cluster, every change is atomic and transactional, git has your audit log. Each transaction either fails or succeeds cleanly. You’re entirely code centric and don’t need new infrastructure.
Flux is most useful when used as a deployment tool at the end of a Continuous Delivery pipeline. Flux will make sure that your new container images and config changes are propagated to the cluster.
Its major features are:
Weave Cloud is a SaaS product by Weaveworks that includes Flux, as well as:
If you want to learn more about Weave Cloud, you can see it in action on its homepage.
Get started by browsing through the documentation below:
Flux follows a typical PR workflow. All contributions should be made as PRs that satisfy the guidelines below.
In addition, several mechanical checks are enforced. See the lint script for details.
If you have any questions about Flux and continuous delivery:
Your feedback is always welcome!