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. |
Click to show internal directories.
Click to hide internal directories.