Distributed locking as a service — one binary, simple HTTP API, SQLite persistence, optional GitHub OAuth