Skip to content

About

Public API contract of the ermite forge: protobuf + generated Go

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ermite-api

License: MIT Last commit GitHub stars

The public API of ermite: protobuf definitions and generated Go code for its ConnectRPC services.

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 cli or agent are a client concern.

Status: early development.

Services

Service Purpose
DepsService dependency updates (owner only)
RepoService repositories and their settings
GitService refs, trees, blobs, commits and diffs
TokenService API tokens
MergeRequestService merge requests, comments, merge
IssueService issues, comments, owner moderation of public submissions
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 .proto per service, plus shared types.proto.
  • gen/ermite/: generated messages; gen/ermite/ermiteconnect/: Connect clients and handlers. Committed, never edited by hand.
buf generate

License

MIT. See LICENSE.

About

Public API contract of the ermite forge: protobuf + generated Go

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages