Consolidate SSH handling #255

Merged
decentral1se merged 1 commits from conslidate-ssh into main 2023-02-02 08:37:19 +00:00
Owner

This is a breaking change. Docs PR is coop-cloud/docs.coopcloud.tech#124

Change log:

  • abra can no longer install docker, initialise swarm and the proxy network. It will check if docker exists and is in swarm mode or not and error out accordingly. We leave the provisioning to tools that are designed for that.

  • abra server add <host> is the only interface now. The <host> should correspond to a Host <host> entry in your ~/.ssh/config or in an Include <file> statement (hosts are retrieved via ssh -G <host>). This means "how does abra interact with SSH is 1) do you have an ~/.ssh/config entry for <host> 2) can you ssh <host> successfully? 3) there is no 3. It's an easier mental model and also the way abra-bash works, hence, less weird obscure errors. Public <host> names are still required.

  • abra no longer tries to do the TOFU host key verification prompt. We follow the praxis of the Docker cli itself and just give up when host keys are not validated. We leave it to folks to ssh and verify themselves.

  • Refactored internal docker client creation & validation to only happen at command initialisation and be threaded down into the internals. It's easier to reason about where things might be going wrong for SSH connections in the code now.

  • Basically all of the custom SSH handling code is gone now! SSH connection building is done in one place and validated in one place.

  • --local on server add still works, error messages are arguably better now.

Concerns?

This is a breaking change. Docs PR is https://git.coopcloud.tech/coop-cloud/docs.coopcloud.tech/pulls/124 Change log: - `abra` can no longer install docker, initialise swarm and the proxy network. It will check if docker exists and is in swarm mode or not and error out accordingly. We leave the provisioning to tools that are designed for that. - `abra server add <host>` is the only interface now. The `<host>` should correspond to a `Host <host>` entry in your `~/.ssh/config` or in an `Include <file>` statement (hosts are retrieved via `ssh -G <host>`). This means "how does `abra` interact with SSH is 1) do you have an `~/.ssh/config` entry for `<host>` 2) can you `ssh <host>` successfully? 3) there is no 3. It's an easier mental model and also the way `abra-bash` works, hence, less weird obscure errors. Public `<host>` names are still required. - `abra` no longer tries to do the TOFU host key verification prompt. We follow the praxis of the Docker cli itself and just give up when host keys are not validated. We leave it to folks to ssh and verify themselves. - Refactored internal docker client creation & validation to only happen at command initialisation and be threaded down into the internals. It's easier to reason about where things might be going wrong for SSH connections in the code now. - Basically all of the custom SSH handling code is gone now! SSH connection building is done in one place and validated in one place. - `--local` on `server add` still works, error messages are arguably better now. Concerns?
decentral1se force-pushed conslidate-ssh from cef9eddb1d to bdfe6ad1f7 2023-01-21 22:29:25 +00:00 Compare
decentral1se force-pushed conslidate-ssh from bdfe6ad1f7 to 9b2510108b 2023-01-22 09:05:44 +00:00 Compare
decentral1se force-pushed conslidate-ssh from 9b2510108b to 59d23d4206 2023-01-23 14:29:17 +00:00 Compare
decentral1se force-pushed conslidate-ssh from 59d23d4206 to 2f59b18572 2023-01-26 11:11:24 +00:00 Compare
decentral1se force-pushed conslidate-ssh from 2f59b18572 to 99757a2ae6 2023-01-31 13:28:08 +00:00 Compare
decentral1se force-pushed conslidate-ssh from 99757a2ae6 to d9eb0d9cbf 2023-01-31 14:12:21 +00:00 Compare
decentral1se changed title from WIP: consolidate SSH handling to Consolidate SSH handling 2023-01-31 14:14:31 +00:00
decentral1se force-pushed conslidate-ssh from d9eb0d9cbf to a0d3a0abcf 2023-01-31 14:14:31 +00:00 Compare
decentral1se force-pushed conslidate-ssh from a0d3a0abcf to 4bcdb4e3cf 2023-01-31 19:52:20 +00:00 Compare
decentral1se force-pushed conslidate-ssh from 4bcdb4e3cf to a0ba70352b 2023-01-31 20:40:38 +00:00 Compare
decentral1se force-pushed conslidate-ssh from a0ba70352b to 05d5f27001 2023-01-31 21:03:58 +00:00 Compare
decentral1se force-pushed conslidate-ssh from 05d5f27001 to c1007adb7e 2023-02-01 07:02:29 +00:00 Compare
decentral1se merged commit 7c1a97be72 into main 2023-02-02 08:37:19 +00:00
decentral1se deleted branch conslidate-ssh 2023-02-02 08:37:24 +00:00
Sign in to join this conversation.
No description provided.