-
Notifications
You must be signed in to change notification settings - Fork 489
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cluster refactor: Split out SysInstaller, simplify check-fixes #721
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good with few minor points.
It'd be nice to merge and publish infinyon/fluvio-helm#11 before this, so that we can bump our dependency to fluvio-helm:0.4.1 and use the latest version. The big benefit there is that the new fluvio-helm updates do not forward all of the noise from the helm command |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
…yon#721) * Consolidate start and upgrade checks * Factor out SysInstaller from k8 and local installers * Fix broken intra-doc links * Add 'attempt_fix' to ClusterCheck * Add progress rendering checks to K8Installer * Move check implementations into ClusterCheck impls * Apply cargo fmt * Apply cargo clippy * Add builder method for conditional chaining * Bump fluvio-helm dependency to 0.4.1
* Consolidate start and upgrade checks * Factor out SysInstaller from k8 and local installers * Fix broken intra-doc links * Add 'attempt_fix' to ClusterCheck * Add progress rendering checks to K8Installer * Move check implementations into ClusterCheck impls * Apply cargo fmt * Apply cargo clippy * Add builder method for conditional chaining * Bump fluvio-helm dependency to 0.4.1
This is a good start to some refactoring that's needed in the cluster crate. In this PR I've extracted the sys chart installation logic into its own
SysInstaller
type, which means we have less code duplication and cross-dependency between the Local and K8 installers.Another change here is that I've added an
attempt_fix
optional function to theClusterCheck
trait, which allows instances of that trait to define the means by which it can attempt to fix a failed check. Previously, this fixing logic was very far removed from the check itself, so this consolidates things nicely. It also has the effect of unblocking the "incremental progress checks" for the k8 installer. Now, using the k8 installerfluvio cluster start
will print checking outputs as they are run, the same way thatfluvio cluster start --local
already does today.This checks a number of the boxes from #705