feat: initial Go/JS/Rust Origin check-in client SDKs
CI / rust (push) Successful in 3m6s
CI / go (push) Successful in 33s
CI / js (push) Successful in 34s

Standalone clients that resolve a machine unique ID (OS machine ID first,
falling back to a generated UUID persisted to disk), detect hostname/IP/
container/orchestrator, and register+re-ping origin.warky.dev's public
service-checkin endpoint on a daily interval. Ported from icy2's internal
origincheckin package but extended to the full check-in contract and made
dependency-light for external reuse.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-01 15:25:30 +02:00
co-authored by Claude Sonnet 5
parent 282f76a021
commit 2590e404f5
40 changed files with 4105 additions and 181 deletions
+25
View File
@@ -0,0 +1,25 @@
[package]
name = "origin-client"
version = "0.1.0"
edition = "2021"
license = "Apache-2.0"
description = "Origin service check-in client: registers this process with origin.warky.dev and re-pings it on an interval."
repository = "https://git.warky.dev/wdevs/origin_client"
[dependencies]
dirs = "5"
gethostname = "0.5"
if-addrs = "0.13"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["rt", "time", "macros", "sync"] }
tokio-util = "0.7"
uuid = { version = "1", features = ["v4"] }
[target.'cfg(windows)'.dependencies]
winreg = "0.52"
[dev-dependencies]
mockito = "1"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] }