From c3c84d0ea0e9a927ac6b722d787e4b37bd32a183 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 24 Jun 2020 15:26:38 +0300 Subject: [PATCH 1/2] Add roadmap draft to docs --- docs/roadmap/index.md | 81 +++++++++++++++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 82 insertions(+) create mode 100644 docs/roadmap/index.md diff --git a/docs/roadmap/index.md b/docs/roadmap/index.md new file mode 100644 index 00000000..f070790d --- /dev/null +++ b/docs/roadmap/index.md @@ -0,0 +1,81 @@ +# Roadmap + +!!! hint "Work in Progress" + We will be building the roadmap together with the Flux community, + our end-users and everyone who is interested in integrating with us. + So a lot of this is still TBD - read this as our shopping list of + ideas after some brainstorming as Flux maintainers. + +## The road to Flux v2 + +### Flux read-only feature parity + +This would be the first stepping stone: we want the GitOps Toolkit to be on-par with today's Flux in +[read-only mode](https://github.com/fluxcd/flux/blob/master/docs/faq.md#can-i-run-flux-with-readonly-git-access) +and FluxCloud notifications. + +Goals + +- Offer an in-place migration tool for those that are using Flux in read-only mode to synchronize plain manifests +- Offer a migration guide for those that are using Flux in read-only mode to synchronize Kustomize overlays +- Offer a dedicated component for forwarding events to external messaging platforms + +Non-Goals + +- Migrate users that are using Flux to run custom scripts with flux.yaml +- Automate the migration of flux.yaml kustomize users + +Tasks + +- Review the git source and kustomize APIs +- Design the events API +- Implement events in source and kustomize controllers +- Implement prometheus metrics in source and kustomize controllers +- Make the kustomize-controller apply/gc events on-par with Flux v1 apply events +- Design the notifications and events filtering API +- Implement a notification controller for Slack, MS Teams, Discord, Rocket +- Implement the migration command in tk +- Create a migration guide for flux.yaml kustomize users + +### Flux image update feature parity + +Goals + +- Offer a dedicated component that can replace Flux v1 image update feature + +Non-Goals + +- Maintain backwards compatibility with Flux v1 annotations + +Tasks + +- Design the git push API +- Implement git push in source controller +- Design the image scanning API +- Implement an image scanning controller +- Design the manifests patching component +- Implement the image scan/patch/push workflow +- Integrate the new components in the toolkit assembler +- Create a migration guide from Flux annotations + +## The road to Helm Operator v2 + +### Helm v3 feature parity + +Goals + +- Offer a migration guide for those that are using Helm Operator with Helm v3 and Helm Repositories + +Non-Goals + +- Migrate users that are using Helm v2 +- Migrate users that are using Helm charts from Git + +Tasks + +- Review the helm release, chart and repository APIs +- Design helm releases based on source API +- Implement a helm controller for Helm v3 covering all the current release options +- Implement events in helm controller +- Implement prometheus metrics in helm controller +- Create a migration guide for helm operator users diff --git a/mkdocs.yml b/mkdocs.yml index a4756bde..2553e3d4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -78,3 +78,4 @@ nav: - Sync source: cmd/tk_sync_source.md - Sync source git: cmd/tk_sync_source_git.md - Uninstall: cmd/tk_uninstall.md + - Roadmap: roadmap/index.md From fd7ab0a7fd567aa6d424f6636a66675cce44c7c8 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Wed, 24 Jun 2020 16:02:50 +0300 Subject: [PATCH 2/2] Hidde's fixes to roadmap Co-authored-by: Hidde Beydals --- docs/roadmap/index.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/roadmap/index.md b/docs/roadmap/index.md index f070790d..172ebe8e 100644 --- a/docs/roadmap/index.md +++ b/docs/roadmap/index.md @@ -12,7 +12,7 @@ This would be the first stepping stone: we want the GitOps Toolkit to be on-par with today's Flux in [read-only mode](https://github.com/fluxcd/flux/blob/master/docs/faq.md#can-i-run-flux-with-readonly-git-access) -and FluxCloud notifications. +and [FluxCloud](https://github.com/justinbarrick/fluxcloud) notifications. Goals @@ -22,20 +22,20 @@ Goals Non-Goals -- Migrate users that are using Flux to run custom scripts with flux.yaml -- Automate the migration of flux.yaml kustomize users +- Migrate users that are using Flux to run custom scripts with `flux.yaml` +- Automate the migration of `flux.yaml` kustomize users Tasks - Review the git source and kustomize APIs - Design the events API - Implement events in source and kustomize controllers -- Implement prometheus metrics in source and kustomize controllers +- Implement Prometheus metrics in source and kustomize controllers - Make the kustomize-controller apply/gc events on-par with Flux v1 apply events - Design the notifications and events filtering API - Implement a notification controller for Slack, MS Teams, Discord, Rocket - Implement the migration command in tk -- Create a migration guide for flux.yaml kustomize users +- Create a migration guide for `flux.yaml` kustomize users ### Flux image update feature parity @@ -49,8 +49,8 @@ Non-Goals Tasks -- Design the git push API -- Implement git push in source controller +- Design the Git push API +- Implement Git push in source controller - Design the image scanning API - Implement an image scanning controller - Design the manifests patching component @@ -64,7 +64,7 @@ Tasks Goals -- Offer a migration guide for those that are using Helm Operator with Helm v3 and Helm Repositories +- Offer a migration guide for those that are using Helm Operator with Helm v3 and Helm repositories Non-Goals @@ -73,9 +73,9 @@ Non-Goals Tasks -- Review the helm release, chart and repository APIs -- Design helm releases based on source API -- Implement a helm controller for Helm v3 covering all the current release options -- Implement events in helm controller -- Implement prometheus metrics in helm controller -- Create a migration guide for helm operator users +- Review the Helm release, chart and repository APIs +- Design Helm releases based on source API +- Implement a Helm controller for Helm v3 covering all the current release options +- Implement events in Helm controller +- Implement Prometheus metrics in Helm controller +- Create a migration guide for Helm Operator users