feat: ship Rust login manager and GitLab release pipeline

Replace the legacy Go implementation as the production path, quarantine the reference tree, add deterministic release packaging and version metadata, and run verification through GitLab CI.
This commit is contained in:
2026-09-25 21:33:46 +05:30
parent 1723ab53b8
commit faf5b27328
49 changed files with 6795 additions and 747 deletions

40
Cargo.toml Normal file
View File

@@ -0,0 +1,40 @@
[workspace]
members = [".", "crates/latchd-core", "crates/latchd-auth", "crates/latchd-tui"]
resolver = "3"
[workspace.package]
version = "0.3.0"
edition = "2024"
rust-version = "1.88"
license = "Apache-2.0"
[package]
name = "latchd"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "A secure terminal login manager for Linux"
license.workspace = true
[[bin]]
name = "latchd"
path = "rust/main.rs"
[dependencies]
clap = { version = "4.5", features = ["derive", "env"] }
color-eyre = "0.6"
latchd-auth = { path = "crates/latchd-auth" }
latchd-core = { path = "crates/latchd-core" }
latchd-tui = { path = "crates/latchd-tui" }
libc = "0.2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
debug = false
incremental = false
panic = "abort"
strip = "symbols"