abra server interface is confusing? #34

Closed
opened 2021-08-02 18:53:17 +00:00 by decentral1se · 1 comment
Owner

I'm thinking that abra server new hetzner and abra server rm are confusing since new creates a server but rm deletes a local docker context? Also add vs. new is like, two vague terms that can be easily be confused and I literally never remember myself. ls/add/rm are all local only, new/init do something on a remote.

Anyone feeling the same? We can handle UI/UX after we reach feature parity I guess.

Guessing at alternatives:

  • abra server:
    • list/ls: list all managed VPSs
    • create/mk: create VPS (hetzner, capsul, etc.)
    • remove/del/rm: delete VPS (hetzner, capsul, etc.)
    • config/cfg: configure connection details for VPS (SSH username/port/etc.)
    • provision/prv: install docker/swarm/networking on VPS

It looks like go-abra can do everything now so end-users won't even have to install Docker locally on their dev machines, they'll just need our binary! So, the "docker context" becomes something of an implementation detail and doesn't need to be directly handled? We just need SSH connection details now and we build the context connection string ourselves internally.

I'd like to merge add/new into a single create? If you want a new server, then you abra server create ... and if you have one already and just want to "register" it with go-abra then you abra server create --existing and then abra server config to adjust SSH details?

I'm thinking that `abra server new hetzner` and `abra server rm` are confusing since `new` creates a server but `rm` deletes a local docker context? Also `add` vs. `new` is like, two vague terms that can be easily be confused and I literally never remember myself. `ls`/`add`/`rm` are all local only, `new`/`init` do something on a remote. Anyone feeling the same? We can handle UI/UX after we reach feature parity I guess. Guessing at alternatives: - `abra server`: - `list`/`ls`: list all managed VPSs - `create`/`mk`: create VPS (hetzner, capsul, etc.) - `remove`/`del`/`rm`: delete VPS (hetzner, capsul, etc.) - `config`/`cfg`: configure connection details for VPS (SSH username/port/etc.) - `provision`/`prv`: install docker/swarm/networking on VPS It looks like `go-abra` can do everything now so end-users won't even have to install Docker locally on their dev machines, they'll just need our binary! So, the "docker context" becomes something of an implementation detail and doesn't need to be directly handled? We just need SSH connection details now and we build the context connection string ourselves internally. I'd like to merge `add`/`new` into a single `create`? If you want a new server, then you `abra server create ...` and if you have one already and just want to "register" it with `go-abra` then you `abra server create --existing` and then `abra server config` to adjust SSH details?
decentral1se added the
question
label 2021-08-02 18:53:17 +00:00
Author
Owner

Hmmm maybe add/new can't be merged? create --existing is quite gross actually.

Hmmm maybe `add`/`new` can't be merged? `create --existing` is quite gross actually.
decentral1se added the
design
help wanted
labels 2021-08-02 19:34:07 +00:00
decentral1se added this to the (deleted) milestone 2021-09-08 12:27:46 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: toolshed/abra#34
No description provided.