This repository has been archived by the owner on Jun 28, 2023. It is now read-only.
🧙 POC: Implements wizard
command for unmanaged-cluster
#4212
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Include a proof of concept
wizard
command in the unmanaged-cluster plugin which provides an interactive terminal user interface for bootstrapping clusters and gain community feedback.Fixes: #3588
Motivation
In addition to the Guided Graphical UI in #3235, users need a terminal based
wizard
. At a high level, this should walk users through bootstrapping cluster, right in the CLI.Sure, cool. But why?
Some users don't have access to a web browser (like in a headless environment or when on a remote server). Or their network configuration won't allow for easily tunneling a request to their bootstrapping machine (like deploying through a jumpbox). In short, we should make deploying a cluster as simple as possible via the CLI.
This PR implements that proof of concept in
unmanaged-cluster
and includes 3 options: cluster name, number of worker nodes, & number of control plane nodes🔉 Demo Video
um-wizard.mp4
Goals
Non-goals
wizard
pluginUser Story 1: Configuration
User Story 2: Validation (still to do)
Graduation details
This POC is ready to go and would be an ok starting point to get community feedback. Otherwise, we can iterate here and add more configuration options and features as we go.
Looking for feedback on this as well.
Implementation details
This rough POC uses bubble and bubbletea for the TUI control flow and interactive components. Note the additions to the
go.mod
andgo.sum
Describe testing done for PR
tanzu unmanaged-cluster wizard
Appendix / useful terms
Useful examples in other CLIs & inspiration:
( ⬇️ go ahead and give this a thumbs up / thumbs down to reflect your thoughts here!)