Wings, hardened in Rust
As part of my Development Manager role at Elcro Digital Services LLC, I maintained and extended the Rust-based Wings fork behind its Lagless.gg brand: containers, files, backups, and communication with the panel.
Reliable underneath.
- Panel
- Rust daemon
- Containers & storage
Architecture sketch: Rust, Docker, S3, Linux
- Role and contribution
- Development Manager at Elcro
- Documented activity
- May — September 2026
- Stack
- Rust, Docker, S3, Restic, SFTP, Linux
Context
A good panel depends on a reliable node daemon. My work focuses on recovering data safely, provisioning services without manual handoffs, handling broken connections, and making asynchronous operations observable.
Engineering notes
Streaming user backups
S3-compatible multipart uploads, bounded concurrency, timeout and retry handling, durable indexes, status callbacks, and coordination between backups and server deletion.
Backup compatibility & recovery
Restic initialization and legacy-panel compatibility, restore configuration adapters, Google Drive backup work, and retention coordination with the panel.
Database provisioning
CLI and asynchronous HTTP setup flows for MariaDB/MySQL, PostgreSQL, and Redis, with progress reporting and safer tenant provisioning.
Container & storage lifecycle
Guarded orphan-container cleanup, SFTP quota accounting corrections, folder-size and system-stat APIs, and safer startup log handling.
Connection reliability & protection
WebSocket lifecycle hardening, BBR configuration with documented tradeoffs, process-based miner detection, and file-signature scanning with false-positive corrections.
Builds & release delivery
Nightly build naming, release compatibility fixes, and CI delivery of binaries through Cloudflare R2.
How it evolved
Compatibility comes first
Restic compatibility work establishes the fork's contribution history before system and storage APIs are extended.
User backups across panel and node
S3-backed user backups connect the daemon to a recoverable deleted-server workflow.
Correct storage accounting
SFTP quota accounting is corrected so retries and file truncation do not leave usage counters out of sync.
Backup reliability and visibility
Streaming uploads, durable state, deletion coordination, and panel notifications improve how long-running backups are handled.
Connection lifecycle hardening
WebSocket handling receives another reliability pass after the network and provisioning improvements.
The contribution record
- Reviewed commits
- 45
- Authored by me
- 45
- Reviewed repositories
- 1
The daemon builds on an existing Rust Wings implementation. The reviewed Lagless fork contains 45 commits authored by me; the rewrite's upstream foundations are not presented as my original work. Commit history records implementation changes, not independently verified performance or uptime guarantees.
Reviewed on . This is a reviewed snapshot, not a live GitHub counter. Dates describe repository activity, not employment start dates. Private commit subjects are summarized; source code, author emails, internal paths, and credentials are not published.
45 matching commits · showing 1–12
Harden websocket connection handling (v1.6.1)
Enable the rustix features Wings actually uses
Default to BBR congestion control (v1.6.0)
Drop the unused is_running helper from DatabaseSetupManager
Expose `database setup` over HTTP so the panel can provision a node (v1.5.0)
Fix two build errors in the user backup rewrite
Harden user backups and report their status to the panel (v1.4.0)
Add orphaned-container reaper and harden `database setup` (v1.3.0)
Fix SFTP disk quota accounting leak on truncate (v1.2.0)
Authentication, security, or deployment hardening update
Fix websocket broken-pipe error flood (v1.1.2)
Authentication, security, or deployment hardening update