Read-only mirror. Development happens at git.bnema.dev; issues and pull requests are closed here.
import (
"bnema.dev/ermite-api/gen/ermite"
"bnema.dev/ermite-api/gen/ermite/ermiteconnect"
)
- The server mounts the services under
/-/api/. Errors are Connect codes. - No version number: the contract only changes in backward-compatible ways, and CI rejects breaking changes (
buf breaking). - Tokens carry scopes only; presets such as
clioragentare a client concern.
Status: early development.
Services
| Service | Purpose |
|---|---|
RepoService |
repositories and their settings |
GitService |
refs, trees, blobs, commits and diffs |
TokenService |
API tokens |
MergeRequestService |
merge requests, comments, merge |
SessionService |
web sign-in links (owner only) |
EventService |
live event stream, resumable |
ServerService |
version, features, signing key, OIDC key rotation |
RunService |
CI runs, jobs, logs, checks, runners |
RunnerService |
used by CI runners to fetch and report jobs |
SecretService, VariableService, EnvironmentService |
CI settings |
ArtifactService |
CI artifacts, for people |
JobArtifactService |
CI artifacts v4, for runners |
TrustedKeyService |
SSH and OpenPGP keys commit signatures are checked against |
Every RPC: docs/services.md.
Layout
proto/ermite/: one.protoper service, plus sharedtypes.proto.gen/ermite/: generated messages;gen/ermite/ermiteconnect/: Connect clients and handlers. Committed, never edited by hand.
buf generate
License
MIT. See LICENSE.