This release includes a rewrite of the YAML updating code, removing
the restrictions on using List resources and files with multiple YAML
documents, as well as fixing various bugs (like being confused by the
for remaining constraints.
The YAML parser preserves comments and literal quoting, but may
reindent blocks the first time it changes a file.
- Correct an issue the led to Flux incorrectly reporting resources as
- Some YAML update problems were fixed by the rewrite, the most egregious being:
- Rewrite the YAML update code to use a round-tripping parser, rather
than regular expressions
removes the restrictions on how YAMLs are formatted, though there
are still going to be corner cases in the parser
will mitigate those by failing updates that would corrupt files).
- Changes made to the git repo when releasing new images are now verified, meaning less chance of erroneous changes being committed weaveworks/flux#1094
- The ListImages API method now accepts an argument saying which fields to include for each container. This is intended to cut down the amount of data sent over the wire, since you don’t always need the full list of available images weaveworks/flux#1084
- Add (back) the fluxd flag
--docker-config so that image registry credentials can be supplied in a file mounted into the container weaveworks/flux#1065. This should make it easier to work around situations in which you don’t want to use imagePullSecrets on each resource.
helm-operator images with Open Containers Initiative (OCI) metadata weaveworks/flux#1075
- Exclude no-longer relevant changes from auto-releases weaveworks/flux#1036
- Make release and auto-release events more accurately record the
affected resources, by looking at the calculated result weaveworks/flux#1050
- Let the flux daemon operate without a git repo, and report cluster resources as read-only when there is no corresponding manifest weaveworks/flux#962
- Reinstate command-line arg for setting the git polling interval
--git-ci-skip (and for more fine control,
--git-ci-skip-message) for customising flux’s commit messages such that CI systems ignore the commits weaveworks/flux#1011
- Log the daemon version on startup weaveworks/flux#1017
- Use a writable tmpfs volume for generating keys, since Kubernetes >=1.10 and GKE (as of March 13 2018) mount secrets as read-only weaveworks/flux#1007
The following improvements are to help if you are running a private
- Support image registries using basic authentication (rather than
- Introduce the daemon argument
--registry-insecure-host for marking
a registry as accessible via HTTP (rather than HTTPS)
- Better logging of registry fetch failures, for troubleshooting
- Fix an issue that prevented fetching tags for private repositories on DockerHub (and self-hosted registries) weaveworks/flux#897
- Releases are more responsive, because dry runs are now done without triggering a sync weaveworks/flux#862
- Syncs are much faster, because they are now done all-in-one rather than calling kubectl for each resource weaveworks/flux#872
- Rewrite of the image registry package to solve several problems weaveworks/flux#851
- Flux can now release updates to DaemonSets, StatefulSets and
CronJobs in addition to Deployments. Matching Service resources are
no longer required.
- Implemented support for v2 registry manifests.
- Flux daemon can be configured to populate the git commit author with
the name of the requesting user
- When multiple flux daemons share the same configuration repository,
each fluxd only sends Slack notifications for commits that affect
- When a resource is locked the invoking user is recorded, along with
an optional message
- When a new config repo is synced for the first time, don’t send
notifications for the entire commit history
fluxctl identity command only worked via the Weave Cloud
service, and not when connecting directly to the daemon
This release introduces significant changes to the way flux works:
- The git repository is now the system of record for your cluster
state. Flux continually works to synchronise your cluster with the
- Release, automation and policy actions work by updating the config
See https://github.com/weaveworks/flux/releases/tag/1.0.0 for full
Update to support newer Kubernetes (1.6.1).
Potentially breaking changes
- Support for Kubernetes’ ReplicationControllers is deprecated; please
update these to Deployments, which do the same job but much better
- The service<->daemon protocol is versioned. The daemon will now
crash-loop, printing a warning to the log, if it tries to connect to
the service with a deprecated version of the protocol.
- Updated the version of
kubectl bundled in the Flux daemon image,
to work with newer (>1.5) Kubernetes.
fluxctl save command for bootstrapping a repo from an existing cluster
- You can now record a message and username with each release, which
show up in notifications
More informative and helpful UI.
- Lots more documentation
- More informative output from
- Added option in
fluxctl set-config to generate a deploy key
- Slack notifications are tidier
- Support for releasing to >1 service at a time
- Better behaviour when flux deploys itself
- More help given for commonly encountered errors
- Filter out Kubernetes add-ons from consideration
- More consistent Prometheus metric labeling
See also https://github.com/weaveworks/flux/issues?&q=closed%3A”2017-01-27 .. 2017-03-15”
Initial semver release.
- Validate image release requests.
- Added version command
- Added rate limiting to prevent registry 500’s
- Added new release process
- Refactored registry code and improved coverage
See https://github.com/weaveworks/flux/milestone/7?closed=1 for full details.