GreptimeTeam / GreptimeTeam/gtctl

Proposal: subcommand system

Open
#24 0 comments 2 reactions 0 assignees View on GitHub
feature request v0.2.0
Dominant language
Go
Stars
37
Forks
13
PR merge metrics
No merged PRs in 30d

Description

As [we are planning to integrate more functionalities into this utility]( https://github.com/GreptimeTeam/greptimedb/issues/454). I'm considering to create a subcommand system ahead of time for future extensibility. The idea is to have three categories of commands:

- `gtctl cluster` manages cluster on kubernetes or other platform. We will need to migrate all existing commands into this category, say `gtctl create cluster` is to be renamed to `gtctl cluster create`
- `gtctl db` manages databases
- `gtctl cloud` manages cloud accounts

Note that this architecture is from user's perspective. Internally we don't need to integrate all functionalities into one binary and can utilize an architecture like `git` or `cargo` to forward calls to certain binary. For example, `gtctl db` to `gtctl-db`

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files or tests. Start by locating the current gtctl command entry point and the existing create cluster command, then trace how commands are dispatched. Done would require an agreed subcommand architecture and migration plan for cluster, db, and cloud commands.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.