5 Roadmap Updates
Evan Louie редактировал(а) эту страницу 2020-05-07 14:15:18 -07:00

2020-05-01 - Road to Helm 3 and v1/v2

Hi all! It's been a while since we've done a release of Fabrikate and I know that many of you are eager/kean to know updates/road-map/status of the project. Know that we have some very exciting things in-flight and are eager to move the project to a v1 and v2 (more on why 2 releases below).

General Updates

Migration to GitFlow branching model

We have decided to migrate to a GitFlow branching model. This is to alleviate some of the migration pains that we I will delve into a bit down below.

The main takeaways for this migrations:

  • If you clone Fabrikate, develop is the the default branch.
  • develop is now considered the mainline branch -- All PRs should be made to that branch.
  • We are also going to maintain a helm2 branch (more on that below). This is branch will only receive bug-fixes and high priority features.
  • master will now only contain cut releases off of develop.

Helm 3 Support

One of the major changes in dependencies since the project started was Helm's upgrade from v2 to v3 and you might have noticed that we recently merged Helm 3 support (special thanks @michaelperel) into develop. We are keen to cut a release including this, but are awaiting an update in the Bedrock sister project to add SemVer pinning of Fabrikate to one of the core scripts. Expect this to be unblocked in the coming weeks.

Once this is unblocked, we will maintain Helm 3 support in v2.x.x and Helm 2 support in v1.x.x.

Release v1 and v2

As alluded to above, we will maintain 2 versions of Fabrikate:

Fabrikate Branch Helm Support
v1 develop v2 Bug-fixes and high priority features (all fixes/features here will also be included in v2)
v2 helm2 v3 Full
v2 master v3 Tagged releases off of develop

With the eventual goal to deprecate v1 once the sister Bedrock project is fully migrated to Helm 3.

TLDR

  • We are migrating to GitFlow style branch management.
    • develop is now the default branch.
      • When you clone the repo, thats the branch which will automatically be checked out.
      • This will effect your flow as that will be the branch you make PRs to.
    • master will now only contain tagged releases off of develop
  • Helm3 support has been added to the develop branch.
    • Helm2 has been dropped.
  • Helm2 support is continued in the helm2 branch.
    • The goal is to continue support for this branch in maintenance mode until full Helm 3 migration is done in the Bedrock scripts. (i.e. bug-fixes and high-pri feature requests only).
      • All new features/bug-fixes that make it to this branch should make it to the develop; But not vice-versa.
  • Going forward in conformance to Go's pkg versioning conventions:
    • Helm2 support will be tagged under v0.x.x - v1.x.x
    • Helm3 support will be tagged under v2.x.x
    • v0 and v1 will eventually be deprecated once the Bedrock project fully migrates to Helm 3.
  • Before we can cut any releases with Helm3 support, we will need to add semver pinning to the bedrock build.sh script so it pulls a pinned major (depending on the version of helm it installs) and a new release of Fabrikate does not break pipelines.

Conclusion

Thanks you all for you continued support and you can look forward to a v1 and v2 release in the coming weeks (hopefully sooner 🙏)