Help us shape the future of Go! Take the 2026 Go Developer Survey

internal/

directory
v0.27.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: AGPL-3.0

Directories

Path Synopsis
adapters
ciartifacts
Package ciartifacts implements ports.CIArtifactFiles under $ERMITE_DATA_DIR/ci/artifacts, keyed by the global run id like the logs (a repository rename never moves them):
Package ciartifacts implements ports.CIArtifactFiles under $ERMITE_DATA_DIR/ci/artifacts, keyed by the global run id like the logs (a repository rename never moves them):
cilogs
Package cilogs implements ports.CILogStore with append-only files under $ERMITE_DATA_DIR/ci/logs/<run id>/<job id>/<attempt>.log.
Package cilogs implements ports.CILogStore with append-only files under $ERMITE_DATA_DIR/ci/logs/<run id>/<job id>/<attempt>.log.
cisummaries
Package cisummaries implements ports.CISummaryStore with one Markdown file per step under $ERMITE_DATA_DIR/ci/summaries/<run id>/<job id>/<attempt>/<step>.md.
Package cisummaries implements ports.CISummaryStore with one Markdown file per step under $ERMITE_DATA_DIR/ci/summaries/<run id>/<job id>/<attempt>/<step>.md.
client
Package client is the Connect client of the remote CLI: it turns the ERMITE_URL and ERMITE_TOKEN settings into authenticated service clients for the ermite-api contract, maps Connect errors to one-line messages and keeps a Watch stream alive across reconnections.
Package client is the Connect client of the remote CLI: it turns the ERMITE_URL and ERMITE_TOKEN settings into authenticated service clients for the ermite-api contract, maps Connect errors to one-line messages and keeps a Watch stream alive across reconnections.
ermitegit
Package ermitegit implements ports.RepoReader over the ermite-git library.
Package ermitegit implements ports.RepoReader over the ermite-git library.
eventbus
Package eventbus implements ports.EventBus: in-process fan-out to subscribers, never blocking the publisher.
Package eventbus implements ports.EventBus: in-process fan-out to subscribers, never blocking the publisher.
gitcli
Package gitcli implements the Git ports over the git binary.
Package gitcli implements the Git ports over the git binary.
githttp
Package githttp serves Git over smart HTTP: it routes, authenticates and authorizes a request, then lets `git http-backend` answer it through net/http/cgi.
Package githttp serves Git over smart HTTP: it routes, authenticates and authorizes a request, then lets `git http-backend` answer it through net/http/cgi.
githubapi
Package githubapi serves the subset of GitHub's REST API that the actions running on ermite call under github.api_url (/-/github/api, ADR 0025 CI-2):
Package githubapi serves the subset of GitHub's REST API that the actions running on ermite call under github.api_url (/-/github/api, ADR 0025 CI-2):
githubraw
Package githubraw downloads a reusable workflow file from raw.githubusercontent.com at a commit (ports.WorkflowFetcher).
Package githubraw downloads a reusable workflow file from raw.githubusercontent.com at a commit (ports.WorkflowFetcher).
gitremote
Package gitremote lists the refs of repositories on github.com with `git ls-remote`, for the resolution of actions (ports.GitRemote).
Package gitremote lists the refs of repositories on github.com with `git ls-remote`, for the resolution of actions (ports.GitRemote).
httpserver
Package httpserver is the HTTP entry of ermite: the router, the security headers, the request log and the graceful shutdown.
Package httpserver is the HTTP entry of ermite: the router, the security headers, the request log and the graceful shutdown.
kvstore
Package kvstore implements the metadata ports over ermite-kv.
Package kvstore implements the metadata ports over ermite-kv.
oidchttp
Package oidchttp serves the OIDC provider of CI jobs under /-/oidc, the issuer (CI-4, D5):
Package oidchttp serves the OIDC provider of CI jobs under /-/oidc, the issuer (CI-4, D5):
rpc
Package rpc serves the ermite API contract (bnema.dev/ermite-api) with ConnectRPC: handlers that map the messages of the contract to the use cases of usecase and back, the interceptor that authenticates callers, and the error mapping.
Package rpc serves the ermite API contract (bnema.dev/ermite-api) with ConnectRPC: handlers that map the messages of the contract to the use cases of usecase and back, the interceptor that authenticates callers, and the error mapping.
secretbox
Package secretbox seals the values of CI secrets with AES-256-GCM under the server's master key (ERMITE_SECRETS_KEY, ADR 0019).
Package secretbox seals the values of CI secrets with AES-256-GCM under the server's master key (ERMITE_SECRETS_KEY, ADR 0019).
sigverify
Package sigverify checks commit signatures against the trusted keys (ADR 0030).
Package sigverify checks commit signatures against the trusted keys (ADR 0030).
sshsig
Package sshsig signs the commits ermite creates with the instance key (ADR 0022): an ed25519 key, in the SSH signature format Git reads with gpg.format=ssh.
Package sshsig signs the commits ermite creates with the instance key (ADR 0022): an ed25519 key, in the SSH signature format Git reads with gpg.format=ssh.
web
templ: version: v0.3.1020
templ: version: v0.3.1020
webauthn
Package webauthn implements ports.PasskeyVerifier over go-webauthn (ADR 0026).
Package webauthn implements ports.PasskeyVerifier over go-webauthn (ADR 0026).
Package app is the composition root and the command line of ermite: it parses the CLI, reads the environment, builds the adapters and wires them to the use cases.
Package app is the composition root and the command line of ermite: it parses the CLI, reads the environment, builds the adapters and wires them to the use cases.
Package clientlimit counts failed authentications per client address and finds the address of a request behind trusted proxies.
Package clientlimit counts failed authentications per client address and finds the address of a request behind trusted proxies.
Package config parses and validates the server configuration from the environment.
Package config parses and validates the server configuration from the environment.
Package ports declares every interface that crosses a layer, and the parameter and result types of the use case interfaces.
Package ports declares every interface that crosses a layer, and the parameter and result types of the use case interfaces.
Package readertest is the shared test kit of the RepoReader adapters: Git fixtures built with the git binary, the conformance table every adapter must pass, and the comparison of one adapter with another.
Package readertest is the shared test kit of the RepoReader adapters: Git fixtures built with the git binary, the conformance table every adapter must pass, and the comparison of one adapter with another.
Package usecase holds the use cases of ermite.
Package usecase holds the use cases of ermite.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL