Devolutions / Devolutions/ironPosh
Transport: out-of-process (NamedPipe / stdio / Hyper-V / Container)
- Dominant language
- Rust
- Stars
- 10
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Gap
Beyond WinRM and SSH, native PowerShell supports several out-of-process transports, all sharing one PSGuid-tagged XML packet protocol (Data/DataAck, Command/CommandAck, Close/CloseAck, Signal/SignalAck). We have none. (pypsrp also lacks these; this is native-C#-only territory.)
This is an umbrella/tracking issue — split into sub-issues when picked up. Depends on the transport abstraction from the SSH issue.
## Variants
- **stdio / OutOfProc** — launch a local `pwsh` and speak the packet protocol over its stdin/stdout.
- **NamedPipe** — `Enter-PSHostProcess` style attach to a local PowerShell process via its named pipe.
- **Hyper-V (VMBus socket, AF_HYPERV)** — `PowerShell Direct` into a VM.
- **Container** — Hyper-V socket or named-pipe fallback into a container.
## Required
- Reuse the transport abstraction + out-of-proc packet codec (see SSH issue).
- Implement each transport's connect/spawn + framing.
- Priority order suggestion: stdio/OutOfProc → NamedPipe → Hyper-V → Container.
## References
- Native C# `src/System.Management.Automation/engine/remoting/fanin/OutOfProcTransportManager.cs` (all variants + packet protocol), `RemoteSessionNamedPipe.cs`, `RemoteSessionHyperVSocket.cs`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the SSH issue's transport abstraction, then read the referenced native C# files: OutOfProcTransportManager.cs, RemoteSessionNamedPipe.cs, and RemoteSessionHyperVSocket.cs. Begin by splitting this umbrella into a transport-specific sub-issue, following the suggested priority order; done means the selected transport has connect or spawn handling and packet framing covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, powershell, rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100