Full Rust implementation of the warpgate NAS cache proxy: - CLI: clap-based with subcommands (run, setup, status, cache, warmup, bwlimit, speed-test, config-init, log) - Config: TOML-based with env var override, preset templates - rclone: VFS mount args builder, config generator, RC API client - Services: Samba config gen, NFS exports, WebDAV serve args, systemd units - Deploy: dependency checker, filesystem validation, one-click setup - Supervisor: single-process tree managing rclone mount + smbd + WebDAV as child processes — no systemd dependency for protocol management Supervisor hardening: - ProtocolChildren Drop impl prevents orphaned processes on startup failure - Early rclone exit detection in mount wait loop (fail fast, not 30s timeout) - Graceful SIGTERM → 3s grace → SIGKILL (prevents orphaned smbd workers) - RestartTracker with 5-min stability reset and linear backoff (2s/4s/6s) - Shutdown signal checked during mount wait and before protocol start Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2 lines
18 B
Plaintext
2 lines
18 B
Plaintext
/warpgate/target/
|