-
Notifications
You must be signed in to change notification settings - Fork 1
[FEAT cloudctl] - bootstrap procedure #80
Copy link
Copy link
Open
Labels
backlogReady for sprint planning; triggers project additionReady for sprint planning; triggers project additionfeatureNew functional capabilities or significant additions to the CLI.New functional capabilities or significant additions to the CLI.
Description
Activity
Metadata
Metadata
Assignees
Labels
backlogReady for sprint planning; triggers project additionReady for sprint planning; triggers project additionfeatureNew functional capabilities or significant additions to the CLI.New functional capabilities or significant additions to the CLI.
Type
Projects
- StatusShow more project fieldsSprint Backlog
Priority
None
User Story
Description
Provide a
cloudctl bootstrapcommand for first-time Greenhouse cluster access. The command merges a Greenhouse-scoped kubeconfig into the user's local kubeconfig interactively, then suggests the next step.The command must support two input modes so the Web UI can show both:
Mode 1 — individual flags (readable, scriptable):
```bash
cloudctl bootstrap
--greenhouse-server=https://greenhouse.example.com
--greenhouse-org=my-org
--greenhouse-token=
--greenhouse-ca-data=
```
Mode 2 — single base64 blob (one-liner, easy to copy-paste from UI):
```bash
cloudctl bootstrap --data=
```
Both modes open an interactive prompt locally: ask for the context name to use, ask whether to set it as the new default context, then write the result to the local kubeconfig.
After a successful bootstrap the command prints a next-step suggestion:
```
Bootstrap complete. Run
cloudctl sync -n my-orgto pull in your cluster access.```
Acceptance Criteria
cloudctl bootstrap --data=<base64-blob>decodes and merges the Greenhouse kubeconfigcloudctl bootstrap --greenhouse-server / --greenhouse-org / --greenhouse-token / --greenhouse-ca-dataworks as an alternative input modegreenhouse-<org>) and whether to set it as the current context~/.kube/configby default, overridable with--kubeconfig)--dry-runshows what would be written without touching the filecloudctl sync -n <org>Out of Scope (handled on the Greenhouse side)
Reference Issues
cloudctl syncflag-free)