This minor version release updates dependencies, and includes some quality of life improvements, such as having a cooldown for rate limiting.
- Whitelist three env vars for Git cmd executions fluxcd/flux#3016
- git: retry repo clone on status unreachable fluxcd/flux#3013
- Get ChangeSet from outside of paths if manifest generation is enabled fluxcd/flux#3022
- Direct comparison of last-synced and newly-synced resources fluxcd/flux#3039
- Ignore some errors during manifest loading fluxcd/flux#1559
- Fix missing return on ECR domain check fluxcd/flux#3002
- Take all resource versions into account during GC fluxcd/flux#3008
- Add AWS China region domain to recognized ECR hosts fluxcd/flux#2982
- Introduce cooldown period in rate limiter fluxcd/flux#2986
- Limit git commit message to first 10 images fluxcd/flux#3140
- Support completion for fish fluxcd/flux#2997
- Expand the GCP credentials support to GAR (
*-docker.pkg.dev) fluxcd/flux#3038
- Fix typo in fluxyaml-config-files.md doc fluxcd/flux#3001
- build fluxctl snap using GH action fluxcd/flux#3072
- Correct parameter name in docs fluxcd/flux#3079
- Migrate chart publishing to GitHub Actions fluxcd/flux#3085
- ci: Run CVE scanning for latest release and master build fluxcd/flux#3086
- Fix use of 'lxd' and 'snapcraft' in GH action fluxcd/flux#3153
- Update location of kubeyaml image fluxcd/flux#3087
- Update alpine and git version fluxcd/flux#3115
- Update kubectl and kustomize fluxcd/flux#3176, fluxcd/flux#2987, fluxcd/flux#3088
- document previous meetings fluxcd/flux#3006
- README: Add more companies to production users fluxcd/flux#3104, fluxcd/flux#3071, fluxcd/flux#3070, fluxcd/flux#3092, fluxcd/flux#3100, fluxcd/flux#3094, fluxcd/flux#3091, fluxcd/flux#3155, fluxcd/flux#3149, fluxcd/flux#3139, fluxcd/flux#3130, fluxcd/flux#2993, fluxcd/flux#2995, fluxcd/flux#2974, fluxcd/flux#3067
- Add social links to the footer fluxcd/flux#3106
- docs: (re-)add link to Helm Operator documentation fluxcd/flux#3105
- update theme/mkdocs, use note admonitions, fix identation fluxcd/flux#3102
- Fix markup in ordered lists + fenced code groups fluxcd/flux#3084
- docs: update helm operator integration glob patterns fluxcd/flux#3060
- Update docs for changing default namespace fluxcd/flux#3047
- Add guide to use GKE workload identity with private GCR registry fluxcd/flux#3023
- fix broken minikube link, only report broken links in GH action fluxcd/flux#3000
- build: move back to upstream gh action fluxcd/flux#2977
- Update get started docs fluxcd/flux#2973
- ci: more thorough link checking fluxcd/flux#2956
- Fix 404 pages in documentation fluxcd/flux#3007
Thanks to @BitProcessor, @Frizlab, @GregoireW, @alex-shpak, @bboreham, @billyshambrook, @bpinter, @christiangda, @circa10a, @colinrymer, @cpressland, @dholbach, @edernucci, @faweis, @hiddeco, @jaydeland, @jpreese, @marratj, @michaelbeaumont, @nipponilyal, @ordovicia, @rndstr, @sayboras, @schnatterer, @squaremo, @stefanprodan, @stephenshaw-felfel, @tux-00, @victorsalaun and @vyckou for their contributions to this release.
This minor version release is a bumper edition with many contributions, including (to pick a handful):
- more flexibility with GPG signature verification
- the ability to disable garbage collection for individual resources
- users of
.flux.yaml"patchUpdated" should see an improvement to automated updates, with fluxcd/flux#2805. - people who want to tightly control which images are scanned by fluxd will appreciate fluxcd/flux#2850
- Add ssh-keygen key format option fluxcd/flux#2911
- Publish fluxctl to Docker Hub so it can be used in e.g., GitHub Actions fluxcd/flux#2915
- Add annotation for disabling garbage collection for individual resources fluxcd/flux#2858
- Dedicated error for unresolvable Git hostname fluxcd/flux#2865
- Support multiple signature verification strategies with
--gitVerifySignaturesModefluxcd/flux#2803 - Let people explicitly include images to scan fluxcd/flux#2850, fluxcd/flux#2852
- Add support for bash/zsh completion fluxcd/flux#2833
- Log start of cluster sync fluxcd/flux#2823
- Add JSON output option for fluxctl's list-images and list-workloads fluxcd/flux#2834
- Cache the generators of patchUpdated configurations fluxcd/flux#2805
- address CVE-2020-6750 for glib fluxcd/flux#2922
- Fix concurrent map write panics fluxcd/flux#2926
- Add portforward package to break versioning deadlock fluxcd/flux#2952
- Make docker/image-tag work on MacOS again fluxcd/flux#2957
- Note the retirement of some maintainers fluxcd/flux#2953
- Migrate tests to GitHub actions fluxcd/flux#2940
- Update Kubernetes packages to 1.17 fluxcd/flux#2950
- Remove support for HelmRelease alpha and beta fluxcd/flux#2949
- Regenerate (and fix verification of) generated_templates.gogen.go fluxcd/flux#2942
- Update gitsrv used in e2e tests to v1.0.0 fluxcd/flux#2937
- Remove race condition in sync e2e test fluxcd/flux#2885
- Move github.com/2opremio/distribution to github.com/fluxcd/distribution fluxcd/flux#2884
- Update pluralization of yaml to non-disputable version fluxcd/flux#2876
- Change list in issue template to start at 1 fluxcd/flux#2842
- Fix more links fluxcd/flux#2948
- Update Who is using Flux in production fluxcd/flux#2849, fluxcd/flux#2943, fluxcd/flux#2930, fluxcd/flux#2898
- move to mkdocs fluxcd/flux#2919
- Mention new fluxctl arch linux package fluxcd/flux#2912
- Updated helm operator CRD URL in the documentation fluxcd/flux#2887
- Add other semver example with range fluxcd/flux#2866
- Fixing Helm operator docs link fluxcd/flux#2863
- Add note about targeting a specific Helm version for the Helm operator fluxcd/flux#2830
Thanks to @2opremio, @ArchiFleKs, @alaa, @alesgurd, @borancar, @dholbach, @edwardyoung, @hiddeco, @infa-bsurber, @jimangel, @jstevans, @kharf, @mattfarina, @morremeyer, @ogerbron, @pchico83, @phillebaba, @shibumi, @squaremo, @stefanprodan, @stevenpall, @sysdevguru, @trevrosen, @yasserisa and @yiannistri for their contributions to this release.
This is a feature release with quite a few new features and fixes.
It includes new flags for fluxd and fluxctl; namely, it includes a new
flag to disable registry scanning completely (--registry-disable-scanning)
which allows deploying Flux without Memcached.
There is a new .flux.yaml variant (scanForFiles) which allows telling
Flux to scan the local files, which is useful when mixing
--manifest-generation with raw manifests.
This release also includes a few bugfixes. Namely, it comes with a fix for a filesystem leak in which git clone mirrors weren't being removed.
- Disable Image Scanning with
--registry-disable-scanningfluxcd/flux{#2745, #2753 #2798, #2813} - Add
scanForFilesvariant of.flux.yamlto scan current directory for manifests instead of generating them fluxcd/flux#2638 - Honor KUBECONFIG env variable in fluxd fluxcd/flux{#2741, #2760}
- Make Kubernetes resource-exclusion configurable through
--k8s-unsafe-exclude-resourcefluxcd/flux{#2749, #2754} - Add detailed error message in
fluxctl syncfluxcd/flux#2765 - Add
--contextflag to fluxctl fluxcd/flux#2715 - Add
--containerflag tofluxctl list-workloadsto filter by container name fluxcd/flux#2766 - Add --no-headers to
fluxctl list-imagesandfluxctl list-workloadsfluxcd/flux#2767 - Add
nodeSelectorto deployment templates for mixed-OS clusters fluxcd/flux#2692 - Distinguish cached registry errors from live ones fluxcd/flux#2782
- Update
kustomizeto v3.5.4 fluxcd/flux#2751 - Update
kubectlto 1.15 and base image to Alpine to 3.11 fluxcd/flux#2781
- Fix git clone leak and make clone cleanups more robust fluxcd/flux#2788
- Fix syncing with --k8s-default-namespace fluxcd/flux#2799
- Unmarshal Docker image labels separately fluxcd/flux#2785
- Raise error if arguments are provided to
fluxctl versionandfluxctl installfluxcd/flux#2809
- Extend end-to-end tests fluxcd/flux{#2752, #2800, #2817}
- Make pkg/install a Go module to reduce its dependencies fluxcd/flux{#2778, #2822, #2824}
- e2e: Make Kind cluster creation more verbose fluxcd/flux#2791
- e2e: Update Kind to v0.7.0 fluxcd/flux#2743
- e2e: check for GNU parallel and schedule defers before creation fluxcd/flux#2727
- Update aws-sdk-go to v1.27.0 fluxcd/flux#2722
- Update packages to Kubernetes 1.16 fluxcd/flux#2731
- Remove obsolete
integration-testtarget fluxcd/flux#2819 - Remove go-containerregistry replace directive fluxcd/flux#2776
- Fix
make generate-deployfluxcd/flux#2789 - snap: fix sorting of git tags fluxcd/flux#2772
- Make docker/image-tag work with multiple version tags fluxcd/flux#2748
- Update bug report template fluxcd/flux#2756
- Docs: update Sphinx fluxcd/flux#2694
- Update install docs to Helm v3 fluxcd/flux#2770
- Add Kiam whitelist to ECR docs fluxcd/flux{#2744, #2821}
- Fix typo and mention sops in
.flux.yamldocs fluxcd/flux#2730 - Update the get-started guide to recent versions of Kustomize fluxcd/flux#2732
- Remove broken link from FAQ fluxcd/flux#2733
- Use table to display prod users fluxcd/flux#2716
- Add B3i, BlaBlaCar, Cloudlets, Mintel, UK Hydrographic Office, workarea and zaaksysteem to list of production users fluxcd/flux{#2707, #2783, #2773, #2701, #2747, #2784, #2714}
Thanks to @2opremio, @Ant59, @dholbach, @dinosk, @fliphess, @hiddeco, @jurruh, @krymzonn, @mcfearsome, @michaelbeaumont, @nabadger, @ogerbron, @patrickwall57, @prometherion, @roffe, @rparsonsbb, @sa-spag, @squaremo and @stefanprodan for their contributions to this release.
This is a security patch release fixing a problem with the scoping
of imagePullSecrets and removing git-URL HTTPS credentials server-side.
- Correctly scope imagePullSecrets by their namespace fluxcd/flux#2728
- Sanitize Git remote URLs on the server side fluxcd/flux#2726
Thanks to @2opremio, @hiddeco and @bootc for contributing to this release.
This feature release adds support for encrypted manifests with
SOPS and includes the sops
binary in the Flux container.
When supplying the --sops flag to fluxd, it will decrypt SOPS-encrypted
manifest files before syncing them. Provide decryption keys in the same way
as providing them for sops the binary, for example with
--git-gpg-key-import. The full description of how to supply sops with a key
can be found in the SOPS documentation.
Be aware that manifests generated with .flux.yaml files are not decrypted.
Instead, make sure to output cleartext manifests by explicitly invoking the
sops binary included in the Flux container.
This release also adds the new fluxd flag --k8s-default-namespace
which overrides the namespace used for manifests which omit it.
- Add support for SOPS fluxcd/flux#2580
- Add
--k8s-default-namespaceflag to override default namespace fluxcd/flux#2625 - Upgrade aws-sdk-go to support IRSA (IAM Roles for Service Accounts) fluxcd/flux#2664
- Propagate uppercase proxy env variables to git command fluxcd/flux#2665
- Avoid collisions when checking whether the Git repo can be written to fluxcd/flux#2684
- Parallelize end-to-end tests and some unit tests fluxcd/flux{#2647, #2681, #2682}
- Considerably reduce the impact of flakey unit and end-to-end tests fluxcd/flux{#2688, #2685, #2687, #2679, #2675, #2675}
- Add program to generate changelog release entries fluxcd/flux#2626
- Change snap confinement to classic fluxcd/flux#2529
- Fix shfmt return-code check when linting end-to-end tests fluxcd/flux#2673
- Update memcached image to 1.5.20 fluxcd/flux#2637
- Update docs on annotations in HelmReleases fluxcd/flux#2670
- Docs: Add early link pointing to kustomize example fluxcd/flux#2666
- Docs: include gpg's --armor option on export fluxcd/flux#2653
- Fix link in troubleshooting docs fluxcd/flux#2658
- Simplify fluxyaml reference fluxcd/flux#2634
- Docs: update helm chart release steps fluxcd/flux#2641
- Add Canva, Infabode, LUNAR, Sage AI Labs and Workable as users of Flux in production fluxcd/flux{#2667, #2644, #2630, #2654, #2680}
Thanks to @2opremio, @Crevil, @PaulFarver, @aackerman, @aaparmeggiani, @adusumillipraveen, @alastairs, @dholbach, @groodt, @gtseres-workable, @hiddeco, @kaspernissen, @moshloop, @squaremo and @stefansedich for their contributions to this release.
This is a feature release with minor new features. New flags
--manifest-generation and --read-only have been added to
fluxctl install.
This release also incorporates a few fixes and enhacements. Namely:
- The pressure on the Kubernetes API server has been reduced when Flux operates in all namespaces.
- The error handling of manifest generation has been improved.
Additionally, the end-to-end testing infrastructure has been rewritten and numerous new end-to-end tests have been added.
- Exclude the metrics APIs from resource discovery fluxcd/flux#2606
- Parse image refs in HelmReleases with >2 elements fluxcd/flux#2620
- Ignore timestamp labels during sorting and release of images fluxcd/flux#2594
- Security: Stop showing value of
GIT_AUTHKEYin thefluxctloutput fluxcd/flux#2549
- Improve experience with
.flux.yamlfiles fluxcd/flux#{2565, 2603, 2604} - Performance: Reduce pressure on Kubernetes' API server when Flux operates on all namespaces fluxcd/flux#{2520, 2539, 2622}
- Add manifest generation flag to
fluctl installcommand fluxcd/flux#2583 - Add a read-only flag to
fluxctl installcommand fluxcd/flux#2530 - Create Prometheus metric for flux manifest errors fluxcd/flux#2535
- Rewrite end-to-end test infrastructure and add numerous new end-to-end tests fluxcd/flux#{2543, 2552, 2559, 2560, 2562, 2567, 2569, 2572, 2574, 2575, 2576, 2577, 2579, 2581, 2587, 2596, 2597, 2598}
- Bump alpine to 3.10 fluxcd/flux#2609
- Break code generation cycle fluxcd/flux#2525
- Fix indents in
.flux.yamlexample fluxcd/flux#2607 - Remove redundant return code fluxcd/flux#2585
- Remove replace directives in
go.modfluxcd/flux#2590 - Support unwrapping
NotReadyErrorfluxcd/flux#2617 - Fix incorrect use of
strings.Trim()fluxcd/flux#2527 - Add Cybrary, bimspot.io, Limejump and Yad2 as production users to
README.mdfluxcd/flux#{2592, 2499, 2503, 2509} - Clarify use of pre-release versions by semver fluxcd/flux#2582
- Fix some steps in README.md to install flux by helm fluxcd/flux#2532
- Fix command in fluxyaml config example fluxcd/flux#2531
- Docs: fix namespace in
kubectl logsexample fluxcd/flux#2526 - Document sync-state and git-readonly daemon flags fluxcd/flux#2511
- Update FAQ advice on using ignore annotation fluxcd/flux#2502
- Fix typo in guide index docs fluxcd/flux#2506
- Fix link to flux-kustomize-example fluxcd/flux#2497
Thanks to @2opremio, @at-ishikawa, @bboreham, @beautytiger, @carnott-snap, @denysvitali, @ducksecops, @erdii, @eriadam, @gsf, @hiddeco, @idobry, @jmymy, @mbellgb, @mosesyou, @mpashka, @palemtnrider, @sebikul, @squaremo, @srueg, @stefanprodan, @translucens, @vic3lord and @waseem-h for their contributions to this release!
This feature release adds secure support for Git over HTTPS, updates
kubectl and kustomize, and does a lot of internal rewiring
without changing user-visible functions or the public APIs.
From this release forward, garbage collection, namespace scoping,
and manifest generation are no longer considered experimental.
- Reinstate
git-secretsupport after accidentally breaking it during a refactor that landed in1.14.0fluxcd/flux#2429 - Fix error handling in
splitConfigFilesAndRawManifestPathsfluxcd/flux#2455
- Support secure Git over HTTPS using credentials from environment variables fluxcd/flux#2470
- Add a flag
--sync-timeout, for configuring the timeout of sync operations. This is mainly of interest to people making use of the manifest generation feature, or people who are operating exceptionally large Git repositories fluxcd/flux#2481 - Update
kubectlto1.14.7andkustomizeto3.2.0fluxcd/flux#2461 - De-experimental-ise garbage collection, namespace scoping, and manifest generation features fluxcd/flux#2485
- Improve logged warning about unsupported automated resource kinds fluxcd/flux#2471
- Build: upgrade Go to
1.13.1fluxcd/flux#2482 - Build: avoid spurious diffs in generated files by fixing their modtimes to Unix epoch fluxcd/flux#2473
- Build: update Kind, used for end-to-end tests, to
0.5.1fluxcd/flux#2461 - Build: simplify the files included in
snapcraft.yamlfluxcd/flux#2427 - Build: stop publishing Docker images to Weaveworks' DockerHub fluxcd/flux#2491
- Build: republish Git tag with a
vprefix during release, to make it available to Go Mod fluxcd/flux#2491 - Code: change import paths from
weaveworkstofluxcdfluxcd/flux#2305 - Code: move all packages to
pkg/fluxcd/flux#2464 - Code: fix some typos in comments fluxcd/flux#2478
- Documentation: update organization mentions (
weaveworks->fluxcd) fluxcd/flux#2430 - Documentation: remove
values.prefix from annotation examples fluxcd/flux#2436 - Documentation: include installation instructions for
fluxctlon Windows using Chocolatey fluxcd/flux#2457 - Documentation: provide some additional links within the documentation to using Flux with Kustomize, Helm, or Flagger fluxcd/flux#2358
- Documentation: reflow commit customization bits in
fluxctldocumentation fluxcd/flux#2459 - Documentation: small
.flux.yamldocumentation improvements fluxcd/flux#{#2466, #2467} - Documentation: remove mention of
mergePatchUpdaterin.flux.yamldocumentation, as it is not a thing fluxcd/flux#2469 - Documentation: use
fluxas a default namespace indeploy/examples fluxcd/flux#2475 - Documentation: fix incorrectly documented Helm chart repository fluxcd/flux#2484
- Documentation: update the documented
fluxctloutput fluxcd/flux#2489 - Documentation: fix
--git-pathargument in 'get started' and 'driving Flux' tutorials fluxcd/flux#{#2423, #2424} - Documentation: add HMCTS and WGTwo as production users (:tada:) fluxcd/flux#{#2458, #2450}
Tip of the hat and many thanks to @davidpristovnik, @dananichev, @Keralin, @domgoodwin @luxas, @squaremo, @stefanprodan, @hiddeco, @elzapp, @nodanero, @dholbach, @stealthybox, @arsiesys, @alexmt, @DarinDouglass, @holger-wg2, @chrisfowles, @timja, @2opremio, @adusumillipraveen for contributions to this release.
This is a patch release, with some important fixes to the handling of HelmRelease resources.
- Correct a problem that prevented automated HelmRelease updates fluxcd/flux#2412
- Fix a crash triggered when
helm.fluxcd.io/v1resources are present in the cluster fluxcd/flux#2404
- Add a flag
--k8s-verbosity, for controlling Kubernetes client logging (formerly, this was left disabled) fluxcd/flux#2410
- Rakuten is now listed as a production user fluxcd/flux#2413
Bouquets to @HighwayofLife, @IsNull, @adeleglise, @aliartiza75, @antonosmond, @bforchhammer, @brunowego, @cartyc, @chainlink, @cristian-radu, @dholbach, @dranner-bgt, @fshot, @hiddeco, @isen-ng, @jonohill, @kingdonb, @mflendrich, @mfrister, @mgenov, @raravena80, @rndstr, @robertgates55, @sklemmer, @smartpcr, @squaremo, @stefanprodan, @stefansedich, @yellowmegaman, @ysaakpr for contributions to this release.
This is a patch release.
- Automated updates of auto detected images in
HelmReleaseresources has been fixed fluxcd/flux#2400 fluxctl install--git-pathsoption has been replaced by--git-path, to match thefluxdoption, the--git-pathshas been deprecated but still works fluxcd/flux#2392fluxctlport forward looks for a pod with one of the labels again, instead of stopping when the first label did not return a result fluxcd/flux#2394
- Starbucks is now listed as production user (:tada:!) fluxcd/flux#2389
- Various fixes to the installation documentation fluxcd/flux{#2384, #2395}
- Snap build has been updated to work with Go Modules and Go
1.12.xfluxcd/flux#2385 - Typo fixes in code comments fluxcd/flux#2381
Thanks @aliartiza75, @ethan-daocloud, @HighwayOfLife, @stefanprodan, @2opremio, @dhbolach, @mbridgen, @hiddeco for contributing to this release.
This feature release adds a read-only mode to the Flux daemon, adds
support for mapping images in HelmRelease resources using YAML dot
notation annotations, eases the deployment of Flux with a new fluxctl install command which generates the required YAML manifests, lots of
documentation improvements, and many more.
- Fetch before branch check to detect upstream changes made after the initial clone fluxcd/flux#2371
- With
--git-readonly,fluxdcan now sync a git repo without having write access to it. In this mode,fluxdwill not make any commits to the repo. fluxcd/flux#1807 - Mapping images in
HelmRelease resourcesusing YAML dot notation annotations is now supported fluxcd/flux#2249 fluxctlhas a newinstallcommand to ease generating the YAML manifests required to deploy Flux fluxcd/flux#2287- Kubectl and Kustomize have been upgraded
kubectl->1.13.8fluxcd/flux#2327kustomize->3.1.0fluxcd/flux#2299
- The annotation domain has been changed to
fluxcd.io, but backwards compatibility with the old (flux.weave.works) domain is maintained fluxcd/flux#2219 - The number of sorts done by
ListImagesWithOptionshas been reduced fluxcd/flux#2338 fluxctlwill only look for runningfluxcdpods while attempting to setup a port forward fluxcd/flux#2283--registry-poll-intervalhas been renamed to--automation-intervalto better reflect what it controls; the interval at which automated workloads are checked for updates, and updated. fluxcd/flux#2284fluxctlnow has a global--timeoutflag, which controls how long it waits for jobs sent tofluxdto complete fluxcd/flux#2056
- Documentation is now hosted on ReadTheDocs fluxcd/flux#2152
- Helm Operator has been removed from the codebase, as it has been moved
to a dedicated repository (
fluxcd/helm-operator) fluxcd/flux{#2329, #2356} - Documentation on how to use
fluxctl installhas been added fluxcd/flux#2298 - Reference about automated image updates has been added to the documentation fluxcd/flux#2369
- Documentation has been added on how to deploy Flux with Kustomize fluxcd/flux#2375
- CLVR, IBM Cloudant, Omise, Replicated, and Yusofleet are now listed as production users (:tada:!) fluxcd/flux{#2331, #2343, #2360, #2373, #2378}
- Various changes to the documentation fluxcd/flux{#2306, #2311, #2313, #2314, #2315, #2332, #2351, #2353, #2358, #2363, #2364, #2365, #2367, #2368, #2372}
- Soon-to-be deprecated version script has been removed from the Snapcraft build configuration fluxcd/flux#2350
- Various typos have been fixed fluxcd/flux{#2348, #2352, #2295}
- Various CI build tweaks (i.a. support preleases containing numbers, Go tarball cleanup after installation, Helm chart release changes) fluxcd/flux{#2301, #2302, #2312, #2320, #2336, #2349, #2361}
- Helm chart repository has been changed to
charts.fluxcd.iofluxcd/flux{#2337, #2339, #2341}
Many thanks for contributions from @2opremio, @AndriiOmelianenko, @GODBS, @JDavis10213, @MehrCurry, @Sleepy-GH, @adusumillipraveen, @ainmosni, @alanjcastonguay, @aliartiza75, @autarchprinceps, @benmathews, @blancsys, @carlosjgp, @cristian-radu, @cristian04, @davidkarlsen, @dcherman, @demisx, @derrickburns, @dholbach, @ethan-daocloud, @fred, @gldraphael, @hiddeco, @hlascelles, @ianmiell, @ilya-spv, @jacobsin, @judewin-alef, @jwenz723, @kaspernissen, @knackaron, @ksaritek, @larhauga, @laverya, @linuxbsdfreak, @luxas, @matthewbednarski, @mhumeSF, @mzachh, @nabadger, @obiesmans, @ogerbron, @onedr0p, @paulmil1, @primeroz, @rhockenbury, @runningman84, @rytswd, @semyonslepov, @squaremo, @stealthybox, @stefanprodan, @stefansedich, @suvl, @tjanson, @tomaszkiewicz, @tomcheah, @tschonnie, @ttarczynski, @willholley, @yellowmegaman, @zcourt.
This is a patch release, mostly concerned with adapting documentation to Flux's new home in https://github.com/fluxcd/ and the CNCF sandbox.
- Correct the name of the
--registry-requireargument mentioned in a log message fluxcd/flux#2256 - Parse Docker credentials that have a host and port, but not a scheme fluxcd/flux#2248
- Change references to weaveworks/flux to fluxcd/flux fluxcd/flux#2240, fluxcd/flux#2244, fluxcd/flux#2257, fluxcd/flux#2271
- Add Walmart to production users (:tada:!) fluxcd/flux#2268
- Mention the multi-tenancy tutorial in the README fluxcd/flux#2286
- Fix the filename given in the
.flux.yaml(manifest generation) docs fluxcd/flux#2270 - Run credentials tests in parallel, without sleeping fluxcd/flux#2254
- Correct the Prometheus annotations given in examples fluxcd/flux#2278
Thanks to the following for contributions since the last release: @2opremio, @aaron-trout, @adusumillipraveen, @alexhumphreys, @aliartiza75, @ariep, @binjheBenjamin, @bricef, @caniszczyk, @carlosjgp, @carlpett, @chriscorn-takt, @cloudoutloud, @derrickburns, @dholbach, @fnmeissner, @gled4er, @hiddeco, @jmtrusona, @jowparks, @jpellizzari, @ksaritek, @ktsakalozos, @mar1n3r0, @mzachh, @primeroz, @squaremo, @stefanprodan, @sureshamk, @vyckou, @ybaruchel, @zoni.
This is a patch release, including a fix for problems with using image labels as timestamps.
- Because image labels are inherited from base images, fluxd cannot
indiscriminately use labels to determine the image created date. You
must now explicitly allow that behaviour with the argument
--registry-use-labelsweaveworks/flux#2176 - Image timestamps can be missing (or zero) if ordering them by semver version rather than timestamp weaveworks/flux#2175
- Environment variables needed by the Google Cloud SDK helper are now propagated to git weaveworks/flux#2222
- Image builds are pushed to both weaveworks/ and fluxcd/ orgs on DockerHub, in preparation for the project moving organisations weaveworks/flux#2213
- Calculate Go dependencies more efficiently during the build weaveworks/flux#2207
- Refactor to remove a spurious top-level package weaveworks/flux#2201
- Update the version of Kubernetes-in-Docker used in end-to-end test, to v0.4.0 weaveworks/flux#2202
- Bump the Ubuntu version used in CI weaveworks/flux#2195
Thanks go to the following for contributions: @2opremio, @4c74356b41, @ArchiFleKs, @adrian, @alanjcastonguay, @alexanderbuhler, @alexhumphreys, @bobbytables, @derrickburns, @dholbach, @dlespiau, @gaffneyd4, @hiddeco, @hkalsi, @hlascelles, @jaksonwkr, @jblunck, @jwenz723, @linuxbsdfreak, @luxas, @mpashka, @nlamot, @semyonslepov, @squaremo, @stefanprodan, @tegamckinney, @ysaakpr.
This is a patch release.
- Use a context with a timeout for every request that comes through the upstream connection, so they may be abandoned if taking too long weaveworks/flux#2171
- Initialise the high-water mark once, so it doesn't get continually reset and cause notification noise weaveworks/flux#2177
- Force tag updates when making local clones, to account for changes in git 2.20 weaveworks/flux#2184
Cheers to the following people for their contributions: @2opremio, @J-Lou, @aarnaud, @adrian, @airmap-madison, @alanjcastonguay, @arsiesys, @atbe-crowe, @azazel75, @bia, @carlosjgp, @chriscorn-takt, @cristian-radu, @davidkarlsen, @derrickburns, @dholbach, @dlespiau, @errordeveloper, @ewoutp, @hiddeco, @humayunjamal, @isen-ng, @judewin-alef, @kevinm444, @muhlba91, @roaddemon, @runningman84, @squaremo, @starkers, @stefanprodan, @sukrit007, @willholley.
This feature release contains an experimental feature for generating manifests from the sources in git and completes the support for GPG signatures.
- Use openssh-client rather than openssh in container image weaveworks/flux#2142
- Cope when filenames from git start or end with spaces weaveworks/flux#2117
- Ignore
metricsAPI group, known to be problematic weaveworks/flux#2096 - Remove a possible deadlock from code calling
gitweaveworks/flux#2086
- When
--manifest-generationis set, look for.flux.yamlfiles in the git repo and generate manifests according to the instructions therein (see the docs) weaveworks/flux#1848 - Verify GPG signatures on commits (when
--git-verify-signaturesis set; see the docs) weaveworks/flux#1791 - Make the log format configurable (specifically to admit JSON logging) weaveworks/flux#2138
- Log when a requested workload is not of a kind known to fluxd weaveworks/flux#2097
- Get image build time from OCI labels, if present weaveworks/flux#1992, weaveworks/flux#2084
- A new flag
--garbage-collection-dry-runwill report what would be deleted by garbage collection in the log, without deleting it weaveworks/flux#2063
- Let fluxd be run outside a cluster, for development convenience weaveworks/flux#2140
- Documentation edits weaveworks/flux#2134, weaveworks/flux#2109
- Improve some tests weaveworks/flux#2111, weaveworks/flux#2110, weaveworks/flux#2085, weaveworks/flux#2090
- Give the memcached pod a security context weaveworks/flux#2125
- Move to
go modules and abandongo depweaveworks/flux#2083, weaveworks/flux#2127, weaveworks/flux#2094 - Give an example of DNS settings in the example deployment weaveworks/flux#2116
- Document how to get the fluxctl
snapweaveworks/flux#1966, weaveworks/flux#2108 - Give more guidance on how to contribute to Flux weaveworks/flux#2104
- Speed CI builds up by using CircleCI caching weaveworks/flux#2078
Many thanks for contributions from @2opremio, @AndriiOmelianenko, @ArchiFleKs, @RGPosadas, @RoryShively, @alanjcastonguay, @amstee, @arturo-c, @azazel75, @billimek, @brezerk, @bzon, @derrickburns, @dholbach, @dminca, @dmitri-lerko, @guzmo, @hiddeco, @imrtfm, @jan-schumacher, @jp83, @jpds, @kennethredler, @leoblanc, @marcelonaso, @marcossv9, @marklcg, @michaelgeorgeattard, @mr-karan, @nabadger, @ncabatoff, @primeroz, @rdubya16, @rjanovski, @rkouyoumjian, @rndstr, @runningman84, @squaremo, @stefanprodan, @stefansedich, @suvl, @tckb, @timja, @vovkanaz, @willholley.
This is a patch release.
- Show tag image for workload in list-images weaveworks/flux#2024
- Log warning when not applying resource by namespace weaveworks/flux#2034
- Always list the status of a workload in
fluxctlweaveworks/flux#2035 - Ensure Flux installs gnutls >=3.6.7, to resolve security scan issues weaveworks/flux#2044
- Rename controller to workload in
fluxctl releaseweaveworks/flux#2048 - Give full output of git command on errors weaveworks/flux#2054
- Warn about Flux only supporting YAML and not JSON weaveworks/flux#2010
- Fix and refactor end-to-end tests weaveworks/flux#2050 weaveworks/flux#2058
Thanks to @2opremio, @hiddeco, @squaremo and @xtellurian for contributions.
This is a patch release.
- Fix error shadowing when parsing YAML manifests weaveworks/flux#1994
- Fix 'workspace' -> 'workload' typo in deprecated controller flag weaveworks/flux#1987 weaveworks/flux#1996
- Improve internal Kubernetes error logging, by removing the duplicate timestamp and providing a full path to the Kubernetes file emitting the error weaveworks/flux#2000
- Improve
fluxctlauto portforward connection error, by better guiding the user about what could be wrong weaveworks/flux#2001 - Ignore discovery errors for metrics resources, to prevent syncs from failing when the metrics API is misconfigured weaveworks/flux#2009
- Fix
(Flux)HelmReleasecluster lookups, before this change, the same resource ID would be reported for allHelmReleases with e.g.fluctl list-workloadsweaveworks/flux#2018
- Replace deprecated
--controllerflag in documentation with--workloadweaveworks/flux#1985 - Update
MAINTAINERSand include email addresses weaveworks/flux#1995
Thanks to @2opremio, @cdenneen, @hiddeco, @jan-schumacher, @squaremo, @stefanprodan for contributions.
This is a patch release.
- Be more tolerant of image manifests being missing in the registry, when we don't need them weaveworks/flux#1916
- Give image registry fetches a timeout, so the image metadata DB doesn't get stuck weaveworks/flux#1970
- Allow insecure host arguments to exclude the port weaveworks/flux#1967
- Make sure client-go logs to stderr weaveworks/flux#1945
- Cope gracefully when custom API resources are not present in the cluster or in git (and therefore we cannot determine how a custom resource is scoped) weaveworks/flux#1943
- Warn when the configured branch does not exist in git, and use the configured branch to check writablility weaveworks/flux#1937
- Deal with YAML document end markers weaveworks/flux#1931, weaveworks/flux#1973
- Add some known production users to the README weaveworks/flux#1958, weaveworks/flux#1946, weaveworks/flux#1932
- Move images to DockerHub and have a separate pre-releases image repo weaveworks/flux#1949, weaveworks/flux#1956
- Support
armandarm64builds weaveworks/flux#1950 - Refactor the core image metadata fetching func weaveworks/flux#1935
- Update client-go to v1.11 weaveworks/flux#1929
- Retry keyscan when building images, to mitigate for occasional timeouts weaveworks/flux#1971
- Give the GitHub repo an issue template for bug reports weaveworks/flux#1968
Thanks to @2opremio, @UnwashedMeme, @alexanderbuhler, @aronne, @arturo-c, @autarchprinceps, @benhartley, @brantb, @brezerk, @dholbach, @dlespiau, @dvelitchkov, @dwightbiddle-ef, @gtseres, @hiddeco, @hpurmann, @ingshtrom, @isen-ng, @jimangel, @jpds, @kingdonb, @koustubh25, @koustubhg, @michaelfig, @moltar, @nabadger, @primeroz, @rdubya16, @squaremo, @stealthybox, @stefanprodan, @tycoles for contributions.
This release renames some fluxctl commands and arguments while deprecating others, to better follow Kubernetes terminology. In particular, it drops the term "controller" in favour of "workload"; e.g., instead of
fluxctl list-controllers --controller=...
there is now
fluxctl list-workloads --workload=...
The old commands are deprecated but still available for now.
It also extends the namespace restriction flag
(--k8s-allow-namespace, with a deprecated alias
--k8s-namespace-whitelist) to cover all operations, including
syncing; previously, it covered only query operations e.g.,
list-images etc..
- Periodically refresh memcached addresses, to recover from DNS outages weaveworks/flux#1913
- Properly apply
fluxctl policy --tag-allwhen a manifest does not have a namespace weaveworks/flux#1901 - Support newer git versions (>=2.21) weaveworks/flux#1884
- Avoid errors arising from ambiguous git refs weaveworks/flux#1875 and weaveworks/flux#1829
- Reload the API definitions periodically, to account for the API server being unavailable when starting weaveworks/flux#1859
- Admit
<cluster>when parsing resource IDs, since it's now used to mark cluster-scoped resources weaveworks/flux#1851 - Better recognise and tolerate when Kubernetes API errors mean "not accessible" weaveworks/flux#1840 and weaveworks/flux#1832, and stop the Kubernetes client from needlessly logging them weaveworks/flux#1837
- Use "workload" as the term for resources that specify pods to run,
in
fluxctlcommands and wherever else it is needed weaveworks/flux#1777 - Make
regexan alias forregexpin tag filters weaveworks/flux#1915 - Be more sparing when logging AWS detection failures; add flag for requiring AWS authentication; observe ECR restrictions on region and account regardless of AWS detection weaveworks/flux#1863
- Treat all
*List(e.g.,DeploymentList) resources as lists weaveworks/flux#1883 - Add host key for legacy VSTS (now Azure DevOps) weaveworks/flux#1870
- Extend namespace restriction to all operations, and change the name
of the flag to
--k8s-allow-namespaceweaveworks/flux#1668 - Avoid updating images when there is no record for the current image weaveworks/flux#1831
- Include the file name in the error when kubeyaml fails to update a manifest weaveworks/flux#1815
- Avoid creating a cached image when host key verification fails while building weaveworks/flux#1908
- Separate "Get started" instructions for fluxd vs. fluxd with the Helm operator weaveworks/flux#1902, weaveworks/flux#1912
- Add an end-to-end smoke test to run in CI weaveworks/flux#1800
- Make git tracing report more output weaveworks/flux#1844
- Fix flaky API discovery test weaveworks/flux#1849
Many thanks to @2opremio, @AmberAttebery, @alanjcastonguay, @alexanderbuhler, @arturo-c, @benhartley, @cruisehall, @dholbach, @dimitropoulos, @hiddeco, @hlascelles, @ipedrazas, @jrryjcksn, @marchmallow, @mazzy89, @mulcahys, @nabadger, @pmquang, @southbanksoftwaredeveloper, @squaremo, @srueg, @stefanprodan, @stevenpall, @stillinbeta, @swade1987, @timfpark, @vanderstack for contributions.
This is a bugfix release, fixing a regression introduced in 1.11.0 which caused syncs to fail when adding a CRD and instance(s) from that CRD at the same time.
- Obtain scope of CRD instances from its manifest as a fallback weaveworks/flux#1876
This release comes with experimental garbage collection and Git commit signing:
-
Experimental garbage collection of cluster resources. When providing the
--sync-garbage-collectionflag, cluster resources no longer existing in Git will be removed. Read the garbage collection documentation for further details. -
GPG Git commit signing, when providing
--git-signing-keyflag. GPG keys can be imported with--git-gpg-key-import. By default Flux will import to and use the keys in~/.gnupg. This path can be overridden by setting theGNUPGHOMEenvironment variable.Commit signature verification is in the works and will be released shortly.
- Wait for shutdown before returning from
main()weaveworks/flux#1789 - Make
fluxctl list-imagesadhere to namespace filter weaveworks/flux#1763 - Take ignore policy into account when working with automated resources weaveworks/flux#1749
- Delete resources no longer in git weaveworks/flux#1442 weaveworks/flux#1798 weaveworks/flux#1806
- Git commit signing weaveworks/flux#1394
- Apply user defined Git timeout on all operations weaveworks/flux#1767
- Bump Alpine version from v3.6 to v3.9 weaveworks/flux#1801
- Increase memcached memory defaults weaveworks/flux#1780
- Update developing docs to remind to
make testweaveworks/flux#1796 - Fix Github link weaveworks/flux#1795
- Improve Docs (focusing on local development) weaveworks/flux#1771
- Increase timeouts in daemon_test.go weaveworks/flux#1779
- Rename resource method
Policy()toPolicies()weaveworks/flux#1775 - Improve testing in local environments other than linux-amd64 weaveworks/flux#1765
- Re-flow sections to order by importance weaveworks/flux#1754
- Document flux-dev mailing list weaveworks/flux#1755
- Updates Docs (wording, typos, formatting) weaveworks/flux#1753
- Document source of Azure SSH host key weaveworks/flux#1751
Lots of thanks to @2opremio, @Timer, @bboreham, @dholbach, @dimitropoulos, @hiddeco, @scjudd, @squaremo and @stefanprodan for their contributions to this release.
This release provides a deeper integration with Azure (DevOps Git hosts
and ACR) and allows configuring how fluxctl finds fluxd (useful for
clusters with multiple fluxd installations).
- Support Azure DevOps Git hosts weaveworks/flux#1729 weaveworks/flux#1731
- Use AKS credentials for ACR weaveworks/flux#1694
- Make port forward label selector configurable weaveworks/flux#1727
Lots of thanks to @alanjcastonguay, @hiddeco, and @sarath-p for their contributions to this release.
This release adds the --registry-exclude-image flag for excluding
images from scanning, allows for registries with self-signed
certificates, and fixes several bugs.
- Bumped
justinbarrick/go-k8s-portforwardto1.0.2to correctly handle multiple paths in theKUBECONFIGenv variable weaveworks/flux#1658 - Improved handling of registry challenge requests (preventing memory leaks) weaveworks/flux#1672
- Altered merging strategy for image credentials, which previously could lead to Flux trying to fetch image details with credentials from a different workload weaveworks/flux#1702
- Allow (potentially all) images to be excluded from scanning weaveworks/flux#1659
--registry-insecure-hostnow first tries to skip TLS host host verification before falling back to HTTP, allowing registries with self-signed certificates weaveworks/flux#1526- Allow
HOMEenv variable when invoking Git which allows for mounting a config file under$HOME/config/gitweaveworks/flux#1644 - Several documentation improvements and clarifications weaveworks/flux{#1656, #1675, #1681}
- Removed last traces of
lintingweaveworks/flux#1673 - Warn users about external changes in sync tag weaveworks/flux#1695
Lots of thanks to @2opremio, @alanjcastonguay, @bheesham, @brantb, @dananichev, @dholbach, @dmarkey, @hiddeco, @ncabatoff, @rade, @squaremo, @switchboardOp, @stefanprodan and @Timer for their contributions to this release, and anyone I've missed while writing this note.
This release adds native support for ECR (Amazon Elastic Container Registry) authentication.
- Make sure a
/etc/hostsmounted into the fluxd container is respected weaveworks/flux#1630 - Proceed more gracefully when RBAC rules restrict access weaveworks/flux#1620
- Show more contextual information when
fluxctlfails weaveworks/flux#1615
- Authenticate to ECR using a token from AWS IAM, when possible weaveworks/flux#1619
- Make it possible, and the default for new deployments, to configure a ClusterIP for memcached (previously it was only possible to use DNS service discovery) weaveworks/flux#1618
This release was made possible by welcome contributions from @2opremio, @agcooke, @cazzoo, @davidkarlsen, @dholbach, @dmarkey, @donifer, @ericbarch, @errordeveloper, @florianrusch, @gellweiler, @hiddeco, @isindir, @k, @marcincuber, @markbenschop, @Morriz, @rndstr, @roffe, @runningman84, @shahbour, @squaremo, @srueg, @stefanprodan, @stephenmoloney, @switchboardOp, @tobru, @tux-00, @u-phoria, @Viji-Sarathy-Bose.
This holiday season release fixes a handful of annoyances, and adds an
experimental --watch flag for following the progress of fluxctl release.
- Respect proxy env entries for git operations weaveworks/flux#1556
- Only push the "sync tag" when the synced revision has changed, avoiding spurious notifications weaveworks/flux#1605
- Return any sync errors for workloads in the ListControllers API weaveworks/flux#1521
- The experimental flag
fluxctl release --watchshows the rollout progress of workloads in the release weaveworks/flux#1525 - The example manifests now include resource requests, to help Kubernetes with scheduling weaveworks/flux#1541
- We have a more comprehensive example git repo, which is mentioned consistently throughout the docs weaveworks/flux#1527 and weaveworks/flux#1540.
- Many clarifications and better structure in the docs weaveworks/flux{#1597, #1595, #1563, #1555, #1548, #1550, #1549, #1547, #1508, #1557}
- Registry scanning produces far less log spam, and abandons scans as soon as possible on being throttled weaveworks/flux#1538
Thanks to @Alien2150, @batpok, @bboreham, @brantb, @camilb, @davidkarlsen, @dbluxo, @demikl, @dholbach, @dpgeekzero, @etos, @hiddeco, @iandotmartin, @jakubbujny, @JeremyParker, @JimPruitt, @johnraz, @kopachevsky, @kozejonaz, @leoblanc, @marccarre, @marcincuber, @mgazza, @michalschott, @montyz, @ncabatoff, @nmaupu, @Nogbit, @pdeveltere, @rampreethethiraj, @rndstr, @samisq, @scjudd, @sfrique, @Smirl, @songsak2299, @squaremo, @stefanprodan, @stephenmoloney, @Timer, @whereismyjetpack, @willnewby for contributions in the period up to this release.
This release completes the support for HelmRelease resources as used
by the Helm operator from v0.5 onwards.
Note This release bakes in kubectl v.1.11.3, while previous
releases used v1.9.0. Officially, kubectl is compatible with one
minor version before and one minor version after its own, i.e., now
v1.10-1.12. In practice, it may work fine for most purposes in a wider
range. If you run into difficulties relating to the kubectl version,
contact us.
- Deal correctly with port numbers in images, when updating (Flux)HelmRelease resources weaveworks/flux#1507
- Many corrections and updates to the documentation weaveworks/flux#1506, weaveworks/flux#1502, weaveworks/flux#1501, weaveworks/flux#1498, weaveworks/flux#1492, weaveworks/flux#1490, weaveworks/flux#1488, weaveworks/flux#1489
- The metrics exported by the Flux daemon are now listed weaveworks/flux#1483
HelmReleaseresources are treated as workloads, so they can be automated, and updated withfluxctl release ...weaveworks/flux#1382- Container-by-container releases, as used by
fluxctl --interactive, now post detailed notifications to Weave Cloud weaveworks/flux#1472 and have better commit messages weaveworks/flux#1479 - Errors encountered when applying manifests are reported in the
ListControllers API (and may appear, in the future, in the
fluxctl releaseoutput) weaveworks/flux#1410
Thanks go to @Ashiroq, @JimPruitt, @MansM, @Morriz, @Smirl, @Timer, @aytekk, @bzon, @camilb, @claude-leveille, @demikl, @dholbach, @endrec, @foot, @hiddeco, @jrcole2884, @lelenanam, @marcusolsson, @mellena1, @montyz, @olib963, @rade, @rndstr, @sfitts, @squaremo, @stefanprodan, @whereismyjetpack for their contributions.
This release includes a change to how image registries are scanned for metadata, which should reduce the amount of polling, while being sensitive to image metadata that changes frequently, as well as respecting throttling.
- Better chance of a graceful shutdown on signals weaveworks/flux#1438
- Take more notice of possible errors weaveworks/flux#1432 and weaveworks/flux#1433
- Report the problematic string when failing to parse an image ref weaveworks/flux#1407
- Apply CustomResourceDefinition manifests ahead of (most) other kinds of resource, since there will likely be other things that depend on the definition (e.g., the custom resources themselves) weaveworks/flux#1429
- Add
--git-timeoutflag for setting the default timeout for git operations (useful e.g., if you knowgit clonewill take a long time) weaveworks/flux#1416 fluxctl list-controllersnow has an aliasfluxctl list-workloadsweaveworks/flux#1425- Adapt the sampling rate for image metadata, and back off when throttled weaveworks/flux#1354
- The detailed rollout status of workloads is now reported in the API (NB this is not yet used in the command-line tool) weaveworks/flux#1380
A warm thank-you to @AugustasV, @MansM, @Morriz, @MrYadro, @Timer, @aaron-trout, @bhavin192, @brandon-bethke-neudesic, @brantb, @bzon, @dbluxo, @dholbach, @dlespiau, @endrec, @hiddeco, @justdavid, @justinbarrick, @kozejonaz, @lelenanam, @leoblanc, @marcemq, @marcusolsson, @mellena1, @mt-inside, @ncabatoff, @pcfens, @rade, @rndstr, @sc250024, @sfrique, @skurtzemann, @squaremo, @stefanprodan, @stephenmoloney, @timthelion, @tlvu, @whereismyjetpack, @white-hat, @wstrange for your contributions.
This is a patch release, mainly to include the fix for initContainer images (#1372).
- Include initContainers when scanning for images to fetch metadata
for, e..g, so there will be "available image" rows for the
initContainer in
fluxctl list-imagesweaveworks/flux#1372 - Turn memcached's logging verbosity down, in the example deployment YAMLs weaveworks/flux#1369
- Remove mention of an archaic
fluxctlcommand from help text weaveworks/flux#1389
Thanks for fixes go to @alanjcastonguay, @dholbach, and @squaremo.
This release has a soupçon of bug fixes. It gets a minor version bump,
because it introduces a new flag, --listen-metrics.
- 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-pathdoesn't exist weaveworks/flux#1341 fluxctldoesn'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
- Prometheus metrics can be exposed on a port different from that of
the Flux API, using the flag
--listen-metricsweaveworks/flux#1325
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.
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.
- Update example manifests to Kubernetes 1.9+ API versions weaveworks/flux#1322
- Operate with more restricted RBAC permissions weaveworks/flux#1298
- Verify baked-in host keys (against known good fingerprints) during build weaveworks/flux#1283
- Support authentication for GKE, AWS, etc., when
fluxctldoes automatic port forwarding weaveworks/flux#1284 - Respect tag filters in
fluxctl release ..., unless--forceis given weaveworks/flux#1270
- Cope with
':'characters in resource names weaveworks/flux#1282 - Accept multiple
--git-patharguments; 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
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.
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.
- 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:
- Sort images with zero timestamps correctly weaveworks/flux#1247
- Skip any updates where there's suspicious-looking image metadata weaveworks/flux#1249 (then weaveworks/flux#1250)
- Fix the bug that resulted in zero timestamps in the first place weaveworks/flux#1251
- 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
fluxctlwill now transparently port-forward to the Flux pod, making it easier to connect securely to the Flux API weaveworks/flux#1212fluxctl releasegained an experimental flag--interactivethat 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 inFluxHelmReleaseresources) weaveworks/flux#1258 - You can use semver (Semantic Versioning) filters for automation, rather than having to rely on glob patterns weaveworks/flux#1266
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.
This release includes a number of usability improvements, the majority of which were suggested or contributed by community members. Thanks everyone!
- Don't output fluxd usage text twice weaveworks/flux#1183
- Allow dots in resource IDs; e.g.,
default:deployment/foo.db, which is closer to what Kubernetes allows weaveworks/flux#1197 - Log more about why git mirroring fails weaveworks/flux#1171
- 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-whitelistweaveworks/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
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!
- 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
- 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
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.
- 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:
- botched releases when a YAML has indented container blocks weaveworks/flux#1082
- mangled annotations when using multidoc YAML files weaveworks/flux#1044
- 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).
- Correct filtering of Helm charts when loading manifests from the git repo weaveworks/flux#1076
- Sync with cluster as soon as the git repository is ready weaveworks/flux#1060
- Avoid panic when reporting on
StatefulSetstatus weaveworks/flux#1062
- 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-configso 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
fluxandhelm-operatorimages 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-poll-intervalweaveworks/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
- Handle single-quoted image values in manifests weaveworks/flux#1008
- 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
- CLI help examples updated with new resource ID format weaveworks/flux#945
- Fix a panic caused by accessing a
nilmap when logging events weaveworks/flux#975 - Properly support multi-line lock messages weaveworks/flux#978
- Ignore Helm charts when looking for Kubernetes manifests weaveworks/flux#993
- Enable pprof weaveworks/flux#927
- Use a Kubernetes serviceAccount when deploying Flux standalone weaveworks/flux#972
- Ensure at-least-once delivery of events to Weave Cloud weaveworks/flux#973
- Include resource sync errors when logging a sync event weaveworks/flux#970
- Alpha release of helm-operator. See ./CHANGELOG-helmop.md for future releases.
- Fix a spin loop in the registry cache weaveworks/flux#928
- Correctly handle YAML files with no trailing newline weaveworks/flux#916
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-hostfor marking a registry as accessible via HTTP (rather than HTTPS) weaveworks/flux#918 - Better logging of registry fetch failures, for troubleshooting weaveworks/flux#898
- 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
- Support signed manifests (from GCR in particular) weaveworks/flux#838
- Support CronJobs from Kubernetes API version
batch/v1beta1, which are present in Kubernetes 1.7 (while those frombatch/b2alpha1are not) weaveworks/flux#868 - Expand the GCR credentials support to
*.gcr.ioweaveworks/flux#882 - Check that the synced git repo is writable before syncing, which avoids a number of indirect failures weaveworks/flux#865
- and, lots of other things
- 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 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
- The
fluxctl identitycommand 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 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.
Update to support newer Kubernetes (1.6.1).
- 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.
- Updated the version of
kubectlbundled in the Flux daemon image, to work with newer (>1.5) Kubernetes. - Added
fluxctl savecommand 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
fluxctl release - Added option in
fluxctl set-configto 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.