Rename "server" subcommand to "swarm"? #92

Closed
opened 2021-03-10 21:18:03 +00:00 by 3wordchant · 4 comments
Owner

@kawaiipunk was suggesting swarm might be clearer than server, particularly in the context of "upgrade --all on the X".

It's a fair point that the server commands currently expect to start with a server init, which really init's a swarm rather than the server itself, server rm removes the Docker context not the actual VPS, server apps lists the swarm apps. So I think swarm is maybe more precise.

The advantage of server (and downside of swarm) seems to be that it's more familiar. I also wonder if swarm might suggest multiple server nodes to people, which is only not required for Co-op Cloud, but not tested yet.

@kawaiipunk was suggesting `swarm` might be clearer than `server`, particularly in the context of "upgrade `--all` on the X". It's a fair point that the `server` commands currently expect to start with a `server init`, which really init's a swarm rather than the server itself, `server rm` removes the Docker context not the actual VPS, `server apps` lists the swarm apps. So I think `swarm` is maybe more precise. The advantage of `server` (and downside of `swarm`) seems to be that it's more familiar. I also wonder if `swarm` might suggest multiple server nodes to people, which is only not required for Co-op Cloud, but not tested yet.
3wordchant added the
question
design
labels 2021-03-10 21:18:03 +00:00
Owner

Hmmmm fair enough.

Given thoughts over here (abra server new --provider=hetzner) which will actually create a new VPS, I guess we're running into a naming issue.

Maybe we need to break down into more specifics on some of these commands. abra server init could be abra network init and abra server rm could be abra app <app> config rm (meaning we'd need to move to abra app <app> config edit?)?

I'm a bit uneasy with the "swarm" usage since Docker already uses that but "server" is wildly overloaded so I guess I am fine with a switch. As long as we have some documentation on what we mean by "server"/"swarm" (a collection of apps?).

Thoses are the thoughts.

Hmmmm fair enough. Given thoughts [over here](https://git.autonomic.zone/coop-cloud/abra/issues/86#issue-1001) (`abra server new --provider=hetzner`) which will actually create a new VPS, I guess we're running into a naming issue. Maybe we need to break down into more specifics on some of these commands. `abra server init` could be `abra network init` and `abra server rm` could be `abra app <app> config rm` (meaning we'd need to move to `abra app <app> config edit`?)? I'm a bit uneasy with the "swarm" usage since Docker already uses that but "server" is wildly overloaded so I guess I am fine with a switch. As long as we have some documentation on what we mean by "server"/"swarm" (a collection of apps?). Thoses are the thoughts.
decentral1se added this to the Beta release milestone 2021-03-11 20:12:54 +00:00
Author
Owner

Excellent thoughts!

I'm a bit uneasy with the "swarm" usage since Docker already uses that but "server" is wildly overloaded so I guess I am fine with a switch.

I think the goal with this suggestion is to use "swarm" the same way Docker does, and "server" where it uses "host":

  • abra server new ... would create a server.
  • abra swarm init initialises a swarm.
  • abra swarm ls lists the apps on a swarm.

I feel conflicted; I get where @kawaiipunk is coming from that overloading "server" to also mean "Docker stuff on the server" is confusing. I'm also not wild about introducing another separate noun to the existing "app"/"server", which seemed like a pretty excellent and minimal amount of cognitive overhead.

Maybe we need to break down into more specifics on some of these commands. abra server init could be abra network init and abra server rm could be abra app <app> config rm (meaning we'd need to move to abra app config edit`?)?

Interesting stuff. Clarifying what's being rm'd seems very useful. AFAIK abra server rm removes the local server config, I think what you're suggesting as abra app <app> config rm is currently abra app <app> rm?

Excellent thoughts! > I'm a bit uneasy with the "swarm" usage since Docker already uses that but "server" is wildly overloaded so I guess I am fine with a switch. I think the goal with this suggestion is to use "swarm" the same way Docker does, and "server" where it uses "host": - `abra server new ...` would create a server. - `abra swarm init` initialises a swarm. - `abra swarm ls` lists the apps on a swarm. I feel conflicted; I get where @kawaiipunk is coming from that overloading "server" to also mean "Docker stuff on the server" is confusing. I'm also not wild about introducing another separate noun to the existing "app"/"server", which seemed like a pretty excellent and minimal amount of cognitive overhead. > Maybe we need to break down into more specifics on some of these commands. `abra server init` could be `abra network init` and `abra server rm` could be `abra app <app> config rm` (meaning we'd need to move to `abra `app <app> config edit`?)? Interesting stuff. Clarifying what's being `rm`'d seems very useful. AFAIK `abra server rm` removes the local server config, I think what you're suggesting as `abra app <app> config rm` is currently `abra app <app> rm`?
Owner

I'm in favour of swarm but don't feel strongly.

I'm in favour of `swarm` but don't feel strongly.
Owner

We won't be making this change here anymore but we might make that over in go-abra so I've opened up coop-cloud/go-abra#13. Will close.

We won't be making this change here anymore but we might make that over in [`go-abra`](https://git.autonomic.zone/coop-cloud/go-abra) so I've opened up [coop-cloud/go-abra#13](https://git.autonomic.zone/coop-cloud/go-abra/issues/13). Will close.
This repo is archived. You cannot comment on issues.
No Milestone
No Assignees
3 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: coop-cloud/abra#92
No description provided.