refactor!: rebrand wraith to alknet
Rename all crates, CLI commands, constants, type names, doc comments, and documentation from wraith to alknet. Includes wire-protocol changes: ALPN wraith-ssh -> alknet-ssh, reserved destination prefix wraith- -> alknet-, SSH auth username wraith -> alknet.
This commit is contained in:
@@ -23,7 +23,7 @@ This integrates with `TlsAcceptor` by providing ACME-resolved certificates inste
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `crates/wraith-core/src/transport/acme.rs` (behind `#[cfg(feature = "acme")]`)
|
||||
- [ ] `crates/alknet-core/src/transport/acme.rs` (behind `#[cfg(feature = "acme")]`)
|
||||
- [ ] Feature `acme` implies `tls` in Cargo.toml
|
||||
- [ ] `AcmeCertProvider` struct accepts: domain (domain-based) or IP mode flag
|
||||
- [ ] Domain-based mode: uses `rustls-acme` with HTTP-01/TLS-ALPN-01 challenge responder
|
||||
|
||||
@@ -24,10 +24,10 @@ Feature-gated behind `iroh` feature flag.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `crates/wraith-core/src/transport/iroh.rs` (behind `#[cfg(feature = "iroh")]`)
|
||||
- [ ] `crates/alknet-core/src/transport/iroh.rs` (behind `#[cfg(feature = "iroh")]`)
|
||||
- [ ] `IrohTransport` holds: target endpoint ID (base58-decoded to `NodeId`), relay URL, optional proxy URL
|
||||
- [ ] `IrohTransport::connect()` calls `endpoint.connect(node_id, alpn)`, then `conn.open_bi()`, then `tokio::io::join(recv, send)`
|
||||
- [ ] ALPN value is `b"wraith-ssh"`
|
||||
- [ ] ALPN value is `b"alknet-ssh"`
|
||||
- [ ] `IrohTransport::describe()` returns e.g. `"iroh://<endpoint-id>"`
|
||||
- [ ] `IrohAcceptor` holds an `iroh::Endpoint` instance
|
||||
- [ ] `IrohAcceptor::bind()` creates endpoint with relay URL and optional proxy config
|
||||
|
||||
@@ -16,7 +16,7 @@ Implement the simplest transport: plain TCP. `TcpTransport` connects via `TcpStr
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `crates/wraith-core/src/transport/tcp.rs` exports `TcpTransport` and `TcpAcceptor`
|
||||
- [ ] `crates/alknet-core/src/transport/tcp.rs` exports `TcpTransport` and `TcpAcceptor`
|
||||
- [ ] `TcpTransport` holds a `SocketAddr` target address
|
||||
- [ ] `TcpTransport::connect()` calls `TcpStream::connect(addr)` and returns the stream
|
||||
- [ ] `TcpTransport::describe()` returns e.g. `"tcp://1.2.3.4:22"`
|
||||
|
||||
@@ -25,7 +25,7 @@ Feature-gated behind `tls` feature flag.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `crates/wraith-core/src/transport/tls.rs` (behind `#[cfg(feature = "tls")]`)
|
||||
- [ ] `crates/alknet-core/src/transport/tls.rs` (behind `#[cfg(feature = "tls")]`)
|
||||
- [ ] `TlsTransport` holds: target addr, optional `tls_server_name`, `insecure` flag, optional root cert for verification
|
||||
- [ ] `TlsTransport::connect()` does TCP connect then TLS client handshake via `tokio_rustls::TlsConnector`
|
||||
- [ ] When `insecure`, accepts any certificate (dangerous, `webpki_roots::CertStore` bypass or custom verifier)
|
||||
|
||||
@@ -18,14 +18,14 @@ The `TransportInfo` and `TransportKind` types carry metadata about incoming conn
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `crates/wraith-core/src/transport/mod.rs` exports `Transport` trait, `TransportAcceptor` trait, `TransportInfo`, `TransportKind`
|
||||
- [ ] `crates/alknet-core/src/transport/mod.rs` exports `Transport` trait, `TransportAcceptor` trait, `TransportInfo`, `TransportKind`
|
||||
- [ ] `Transport` trait: `async fn connect(&self) -> Result<Self::Stream>` where `Self::Stream: AsyncRead + AsyncWrite + Unpin + Send + 'static`
|
||||
- [ ] `Transport::describe(&self) -> String` for human-readable logging
|
||||
- [ ] `TransportAcceptor` trait: `async fn accept(&self) -> Result<(Self::Stream, TransportInfo)>` with same stream bounds
|
||||
- [ ] `TransportInfo { remote_addr: Option<SocketAddr>, transport_kind: TransportKind }`
|
||||
- [ ] `TransportKind` enum: `Tcp`, `Tls { server_name: Option<String> }`, `Iroh { endpoint_id: String }`
|
||||
- [ ] Traits are `Send + Sync + 'static`
|
||||
- [ ] Re-exported from `crates/wraith-core/src/lib.rs`
|
||||
- [ ] Re-exported from `crates/alknet-core/src/lib.rs`
|
||||
- [ ] Unit tests verifying trait objects can be constructed (trait is object-safe with `Box<dyn Transport<Stream = ...>>`)
|
||||
- [ ] Documentation comments on all public types referencing ADR-001, ADR-004
|
||||
|
||||
|
||||
Reference in New Issue
Block a user