Managing repos
Deploy keys, webhooks & mirrors
Features that connect a repo to servers, other services, and automation. All live in repo Settings (Maintainer role and above).
Deploy keys
An SSH key for one repo for servers or scripts โ tied to no one's account.
- Read-only by default (clone & pull). Tick Allow push if the server must push.
- Protected branches still apply.
# on the server
ssh-keygen -t ed25519 -f ~/.ssh/deploy_nama-repo -N ""
cat ~/.ssh/deploy_nama-repo.pub # paste into Settings โ Deploy keys
Webhooks
Lumbung sends a JSON POST to your URL whenever a selected event happens: Push, Tag, Issues, Merge requests, Comments.
| Header | Contents |
|---|---|
X-Lumbung-Event |
event type (dorong, isu, mr, โฆ) |
X-Lumbung-Delivery |
unique delivery id |
X-Lumbung-Signature |
sha256= + HMAC of the body with your secret |
Verifying the signature (Ruby):
expected = "sha256=" + OpenSSL::HMAC.hexdigest("SHA256", ENV["SECRET"], request.raw_post)
ok = Rack::Utils.secure_compare(expected, request.headers["X-Lumbung-Signature"])
Test sends a ping; History shows the last 50 deliveries with the server's response. Webhooks disable themselves after 10 consecutive failures. The URL must point to a public server.
Mirrors
- Push โ every push to Lumbung is forwarded to another repo (e.g. a backup on GitHub).
- Pull โ this repo becomes a read-only mirror of an outside source, synced every 30 minutes or via Sync now.
Enter the target provider's username & token (for GitHub: a fine-grained token with Contents: Read and write). Tokens are stored encrypted and never shown again.
Rembug & Kala
- Rembug channel โ issues & MRs open topics in the chosen channel; pushes, comments, approvals, and merges are reported there.
- Kala โ assigned issues become tasks in the assignee's Kala (see Issues).