GitOps for k8s
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 20KB

This is the changelog for the Flux daemon; the changelog for the Helm operator is in ./CHANGELOG-helmop.md.

1.x.x (unreleased)

Fixes

  • ..

Improvements

  • ..

1.7.0 (2018-09-17)

This release has a soupçon of bug fixes. It gets a minor version bump, because it introduces a new flag, --listen-metrics.

Fixes

  • Updates to workloads using initContainers can now succeed weaveworks/flux#1351
  • Port forwarding to GCP (and possibly others) works as intended weaveworks/flux#1334
  • No longer falls over if the directory given as --git-path doesn’t exist weaveworks/flux#1341
  • fluxctl doesn’t try to connect to the cluster when just reporting its version weaveworks/flux#1332
  • Metadata for unusable images (e.g., those for the wrong architecture) are now correctly recorded, so that they don’t get fetched continually weaveworks/flux#1304

Improvements

  • Prometheus metrics can be exposed on a port different from that of the flux API, using the flag --listen-metrics weaveworks/flux#1325

Thanks

Thank you to the following for contributions (along with anyone I’ve missed): @ariefrahmansyah, @brantb, @casibbald, @davidkarlsen, @dholbach, @hiddeco, @justinbarrick, @kozejonaz, @lelenanam, @petervandenabeele, @rade, @rndstr, @squaremo, @stefanprodan, @the-fine.

1.6.0 (2018-08-31)

This release improves existing features, and has some new goodies like regexp tag filtering and multiple sync paths. Have fun!

We also have a new contributing guide.

Fixes

Improvements

  • Cope with ':' characters in resource names weaveworks/flux#1282
  • Accept multiple --git-path arguments; sync (and update) files in all the paths given weaveworks/flux#1297
  • Use image pull secrets attached to service accounts, as well as those attached to workloads themselves weaveworks/flux#1291
  • You can now filter images using regular expressions (in addition to semantic version ranges, and glob patterns) weaveworks/flux#1292

Thanks

Thank you to the following for contributions: @Alien2150, @ariefrahmansyah, @brandon-bethke-neudesic, @bzon, @dholbach, @dkerwin, @hartmut-pq, @hiddeco, @justinbarrick, @petervandenabeele, @nicolerenee, @rndstr, @squaremo, @stefanprodan, @stephenmoloney.

1.5.0 (2018-08-08)

This release adds semver image filters, makes it easier to use fluxctl securely, and has an experimental interactive mode for fluxctl release. It also fixes some long-standing problems with image metadata DB, including no longer being bamboozled by Windows images.

Fixes

  • Read the fallback image credentials every time, so they can be updated. This makes it feasible to mount them from a ConfigMap, or update them with a sidecar weaveworks/flux#1230
  • Take some measures to prevent spurious image updates caused by bugs in image metadata fetching:
  • Respect 'false' value for automation annotation weaveworks/flux#1264
  • Cope with images that have a Windows (or other) flavour, by omitting the unsupported image rather than failing entirely weaveworks/flux#1265

Improvements

  • fluxctl will now transparently port-forward to the Flux pod, making it easier to connect securely to the Flux API weaveworks/flux#1212
  • fluxctl release gained an experimental flag --interactive that lets you toggle each image update on or off, then apply exactly the updates you have chosen weaveworks/flux#1231
  • Flux can now report and update initContainers, and a wider variety of Helm charts (as used in FluxHelmRelease resources) weaveworks/flux#1258
  • You can use semver (Semantic Versioning) filters for automation, rather than having to rely on glob patterns weaveworks/flux#1266

Thanks

Thanks to @ariefrahmansyah, @chy168, @cliveseldon, @davidkarlsen, @dholbach, @errordeveloper, @geofflamrock, @grantbachman, @grimesjm, @hiddeco, @jlewi, @JoeyX-u, @justinbarrick, @konfiot, @malvex, @marccampbell, @marctc, @mt-inside, @mwhittington21, @ncabatoff, @rade, @rndstr, @squaremo, @srikantheee84, @stefanprodan, @stephenmoloney, @TheJaySmith (and anyone I’ve missed!) for their contributions.

1.4.2 (2018-07-05)

This release includes a number of usability improvements, the majority of which were suggested or contributed by community members. Thanks everyone!

Fixes

Improvements

  • Interpret FluxHelmRelease resources that specify multiple images to use in a chart weaveworks/flux#1175 (and several PRs that can be tracked down from there)
  • Add an experimental flag for restricting the view fluxd has of the cluster, reducing Kubernetes API usage: --k8s-namespace-whitelist weaveworks/flux#1184
  • Share more image layers between quay.io/weaveworks/flux and quay.io/weaveworks/helm-operator images weaveworks/flux#1192
  • Apply resources in “dependency order” so that e.g., namespaces are created before things in the namespaces weaveworks/flux#1117

1.4.1 (2018-06-21)

This release fixes some wrinkles in the new YAML updating code, so that YAML multidocs and kubernetes List resources are fully supported.

It also introduces the fluxctl sync command, which tells Flux to update from git and apply to Kubernetes -- as requested in TGI Kubernetes!

Fixes

  • Write whole files back after updates, so that multidocs and Lists aren’t overwritten. A symptom of the problem was that a release would return an error something like “Verification failed: resources {…} were present before update and not after” weaveworks/flux#1137
  • Interpret and update CronJob manifests correctly weaveworks/flux#1133

Improvements

  • Return a more helpful message when Flux can’t parse YAML files weaveworks/flux#1141
  • Bake SSH config into the global location (/etc/ssh), so that it’s easier to override it by mounting a ConfigMap into /root/.ssh/ weaveworks/flux#1154
  • Reduce the size of list-images API/RPC responses by sending only the image metadata that’s requested weaveworks/flux#913

1.4.0 (2018-06-05)

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 indentation of container blocks).

See https://github.com/weaveworks/flux/blob/1.4.0/site/requirements.md for remaining constraints.

The YAML parser preserves comments and literal quoting, but may reindent blocks the first time it changes a file.

Fixes

  • Correct an issue the led to Flux incorrectly reporting resources as read-only weaveworks/flux#1119
  • Some YAML update problems were fixed by the rewrite, the most egregious being:

Improvements

  • Rewrite the YAML update code to use a round-tripping parser, rather than regular expressions weaveworks/flux#976. This removes the restrictions on how YAMLs are formatted, though there are still going to be corner cases in the parser (verifying changes will mitigate those by failing updates that would corrupt files).

1.3.1 (2018-05-29)

Fixes

Improvements

  • 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.
  • Label flux and helm-operator images with Open Containers Initiative (OCI) metadata weaveworks/flux#1075

1.3.0 (2018-04-26)

Fixes

  • 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

Improvements

  • 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-poll-interval weaveworks/flux#1030
  • Add --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

1.2.5 (2018-03-19)

Fixes

Improvements

  • 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

1.2.4 (2018-03-14)

Fixes

Improvements

Experimental

1.2.3 (2018-02-07)

Fixes

1.2.2 (2018-01-31)

Fixes

Improvements

The following improvements are to help if you are running a private registry.

  • Support image registries using basic authentication (rather than token-based authentication) weaveworks/flux#915
  • Introduce the daemon argument --registry-insecure-host for marking a registry as accessible via HTTP (rather than HTTPS) weaveworks/flux#918
  • Better logging of registry fetch failures, for troubleshooting weaveworks/flux#898

1.2.1 (2018-01-15)

Fixes

  • Fix an issue that prevented fetching tags for private repositories on DockerHub (and self-hosted registries) weaveworks/flux#897

1.2.0 (2018-01-04)

Improvements

  • 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

Fixes

1.1.0 (2017-11-01)

Improvements

  • Flux can now release updates to DaemonSets, StatefulSets and CronJobs in addition to Deployments. Matching Service resources are no longer required.

1.0.2 (2017-10-18)

Improvements

  • Implemented support for v2 registry manifests.

1.0.1 (2017-09-19)

Improvements

  • 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 its branch/path
  • 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

Fixes

  • The fluxctl identity command only worked via the Weave Cloud service, and not when connecting directly to the daemon

1.0.0 (2017-08-22)

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 config repository
  • Release, automation and policy actions work by updating the config repository

See https://github.com/weaveworks/flux/releases/tag/1.0.0 for full details.

0.3.0 (2017-05-03)

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 (see https://kubernetes.io/docs/user-guide/replication-controller/#deployment-recommended)
  • 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.

Improvements

  • Updated the version of kubectl bundled in the Flux daemon image, to work with newer (>1.5) Kubernetes.
  • Added 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

0.2.0 (2017-03-16)

More informative and helpful UI.

Features

  • Lots more documentation
  • More informative output from fluxctl release
  • Added option in fluxctl set-config to generate a deploy key

Improvements

  • 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”

0.1.0 (2017-01-27)

Initial semver release.

Features

  • Validate image release requests.
  • Added version command

Improvements

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