chipsenkbeil / distant

🚧 (Alpha stage software) Library and tooling that supports remote filesystem and process operations. 🚧

Home Page:https://distant.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Split protocol and local into separate crates

chipsenkbeil opened this issue · comments

The protocol section of distant-core is starting to get polluted with implementation details for the local implementation of the API.

To reduce how many dependencies are being brought in and to separate logic to proper places, distant should be split out into these crates:

  • distant-auth - authentication traits and implementation split by feature
  • distant-net - network implementation (fine as is).
  • distant-protocol - data structures used for requests & responses related to distant.
  • distant-core - provides the glue and API traits to be implemented for supporting a distant client and server. Depends on distant-net and distant-protocol.
  • distant-ssh2 - ssh2 implementation of distant. Depends on distant-core (and indirectly distant-protocol and distant-net).
  • distant-local - local implementation of distant (operates on local machine). Depends on distant-core (and indirectly distant-protocol and distant-net).
  • distant - CLI wrapper around distant-local and optionally distant-ssh2.
  • distant-auth split finished with 8cf7f11
  • distant-protocol split finished with 76dc7cf

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.