Skip to content

Instantly share code, notes, and snippets.

@scottrigby
Last active March 14, 2021 03:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scottrigby/f9030494d8d6566a983e2d12c87d70de to your computer and use it in GitHub Desktop.
Save scottrigby/f9030494d8d6566a983e2d12c87d70de to your computer and use it in GitHub Desktop.

⚠️ Work In Progress

Public Timetable for Flux 1 to 2 Migration & Support

Goal: A simple, memorable, canonical, public timetable to be used for community communication (READMEs, blog posts, etc), not for internal planning.

Purpose: State our commitment to end users to improve their experience in knowing how and when to plan their own infra decisions related to Flux.

When Flux 2 Flux 1
Oct 6, 2020 CLI: Development mode 1 (follows semver)
APIs and Controllers: v1alpha1 (follow k8s release style). See Roadmap for component versions.
  • Flux 2 is working to finish parity with Flux 1
  • New projects are encouraged to test Flux 2 pre-releases in non-production
Maintenance Mode
  • Flux 1 releases will only include critical bug fixes (which don’t require changing Flux 1 architecture), and security patches (for OS packages, Go runtime, and kubectl). No new features
  • Existing projects are encouraged to test migration to Flux 2 pre-releases in non-production
Feb 18, 2021 CLI: development mode
APIs and Controllers: some v1beta1, some v2beta1, some v1alpha1
  • Flux 2 has reached feature parity and is in Beta
  • Image Automation is in Alpha
Partial Migration Mode
  • Existing projects encouraged to migrate to v1beta1/v2beta1 if you only use those features (flux1 read-only mode, and and helm operator)
  • Existing projects are encouraged to test image automation Alpha in non-production
DATE TBD
(target date ?)
All Flux components production-ready except CLI may still get breaking changes as we support users
CLI: dev mode
APIs & Controllers: some v1beta1, some v2beta1, major change Image Updates will be v1beta1
  • All Flux 1 features are stable and supported in Flux 2
  • Promoting alpha versions to beta makes this production ready
  • CLI needs further user testing during this migration period
Superseded
DATE TBD
(can we commit to a specific support window from this date (e.g., 6 months)?
Public release
CLI: MAJOR release
APIs and Controllers: some v1, some v2, some still in v1betaX
  • CLI commits to backwards compatibility moving forward
  • CLI follows kubectl style backwards compatibility support: +1 -1 MINOR version for server components (e.g., APIs, Controllers, validation webhooks)
Migration and security support only
  • Flux 1 releases will only include security patches (no bug fixes)
  • We support users with migration to Flux 2 only, no longer with Flux 1 issues
  • Flux 1 EOL date will be announced
DATE TBD Continuing active development
  • Flux 2 continues to be actively developed and supported
Archived
  • Flux 1 is obsolete, with no further releases or maintainer support
  • Flux 1 repo is archived
  • 1 Flux 2 versioning requires a more complex answer than Flux 1 versionsing, because it is no longer a monolithic application. We do however coordinate component versions for cross-compatibility. When we tag the Flux CLI version, we bundle in that CLI version API and Component versions that are tested together with end-to-end tests. You may safely upgrade from one PATCH version to another.

    To-do

    • Make the version guarantees very clear in the Roadmap
    • Add CLI to this matrix. Also add Terraform (those who don’t use CLI, but only Terraform provider)
    • In dev mode, you may also install Flux with just kubectl (then create git repo history on cluster, then place file you created with kubectl in your git repo)
    • Add a note explaining why we use two different versioning schemes (1. semver for Flux CLI, and 2. k8s API style versioning for Flux APIs and Controllers)
    @scottrigby
    Copy link
    Author

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment