docs: add comprehensive project wiki for v1.0
CI / cargo fmt (push) Has been cancelled
CI / cargo clippy (macos-latest) (push) Has been cancelled
CI / cargo clippy (ubuntu-latest) (push) Has been cancelled
CI / cargo clippy (windows-latest) (push) Has been cancelled
CI / cargo test (macos-latest) (push) Has been cancelled
CI / cargo test (ubuntu-latest) (push) Has been cancelled
CI / cargo test (windows-latest) (push) Has been cancelled
CI / cargo build (macos-latest) (push) Has been cancelled
CI / cargo build (ubuntu-latest) (push) Has been cancelled
CI / cargo build (windows-latest) (push) Has been cancelled
CI / cargo build --release (macos-latest) (push) Has been cancelled
CI / cargo build --release (ubuntu-latest) (push) Has been cancelled
CI / cargo build --release (windows-latest) (push) Has been cancelled
CI / CLI smoke (macos-latest) (push) Has been cancelled
CI / CLI smoke (ubuntu-latest) (push) Has been cancelled
CI / CLI smoke (windows-latest) (push) Has been cancelled
CI / Minimal E2E (macos-latest) (push) Has been cancelled
CI / Minimal E2E (ubuntu-latest) (push) Has been cancelled
CI / Minimal E2E (windows-latest) (push) Has been cancelled
CI / cargo fmt (push) Has been cancelled
CI / cargo clippy (macos-latest) (push) Has been cancelled
CI / cargo clippy (ubuntu-latest) (push) Has been cancelled
CI / cargo clippy (windows-latest) (push) Has been cancelled
CI / cargo test (macos-latest) (push) Has been cancelled
CI / cargo test (ubuntu-latest) (push) Has been cancelled
CI / cargo test (windows-latest) (push) Has been cancelled
CI / cargo build (macos-latest) (push) Has been cancelled
CI / cargo build (ubuntu-latest) (push) Has been cancelled
CI / cargo build (windows-latest) (push) Has been cancelled
CI / cargo build --release (macos-latest) (push) Has been cancelled
CI / cargo build --release (ubuntu-latest) (push) Has been cancelled
CI / cargo build --release (windows-latest) (push) Has been cancelled
CI / CLI smoke (macos-latest) (push) Has been cancelled
CI / CLI smoke (ubuntu-latest) (push) Has been cancelled
CI / CLI smoke (windows-latest) (push) Has been cancelled
CI / Minimal E2E (macos-latest) (push) Has been cancelled
CI / Minimal E2E (ubuntu-latest) (push) Has been cancelled
CI / Minimal E2E (windows-latest) (push) Has been cancelled
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
parent
a758e8e0bc
commit
0166fb6511
@@ -0,0 +1,54 @@
|
||||
# Deployment
|
||||
|
||||
rustunnel is deployed as a single static binary. There are no containers, orchestrators, or external services required.
|
||||
|
||||
## Release builds
|
||||
|
||||
CI builds release artifacts on Linux, macOS, and Windows:
|
||||
|
||||
```sh
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
The resulting binary is uploaded as a GitHub Actions artifact with a 7-day retention.
|
||||
|
||||
## Cross-platform CI
|
||||
|
||||
The `.github/workflows/ci.yml` runs on `ubuntu-latest`, `windows-latest`, and `macos-latest`:
|
||||
|
||||
1. `cargo fmt` — format check
|
||||
2. `cargo clippy` — lint check
|
||||
3. `cargo test` — unit and inline tests
|
||||
4. `cargo build` — debug build
|
||||
5. `cargo build --release` — release build with artifact upload
|
||||
6. CLI smoke tests — `--help`, `version`, invalid command/port handling
|
||||
7. Minimal E2E — generate, listen, connect, SOCKS5, curl
|
||||
|
||||
## E2E test flow
|
||||
|
||||
The E2E job uses `cargo run --release --` for OS-neutral invocation and performs:
|
||||
|
||||
1. Generate credentials to a temp directory
|
||||
2. Start a Python HTTP server as the target
|
||||
3. Start `rustunnel listen` in the background
|
||||
4. Start `rustunnel connect` in the background
|
||||
5. Wait for services to start
|
||||
6. curl through the SOCKS5 proxy and assert HTTP 200 + expected body content
|
||||
7. Cleanup via `trap cleanup EXIT` with PID-based and port-based killing
|
||||
|
||||
## No production deployment guidance
|
||||
|
||||
rustunnel is explicitly a lab and development tool. It does not include:
|
||||
|
||||
- Container images or Dockerfiles
|
||||
- Kubernetes manifests
|
||||
- Systemd service files
|
||||
- Log rotation or monitoring infrastructure
|
||||
|
||||
For production tunneling, consider established tools like WireGuard, OpenVPN, or SSH.
|
||||
|
||||
## Key source files
|
||||
|
||||
| File | Purpose |
|
||||
| ---- | ------- |
|
||||
| `.github/workflows/ci.yml` | CI matrix: fmt, clippy, test, build, smoke, E2E |
|
||||
Reference in New Issue
Block a user