Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
ermite
command
Command ermite is a single-user Git forge.
|
Command ermite is a single-user Git forge. |
|
gen
|
|
|
internal
|
|
|
adapters/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. |
|
adapters/ermitegit
Package ermitegit implements ports.RepoReader over the ermite-git library.
|
Package ermitegit implements ports.RepoReader over the ermite-git library. |
|
adapters/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. |
|
adapters/gitcli
Package gitcli implements the Git ports over the git binary.
|
Package gitcli implements the Git ports over the git binary. |
|
adapters/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. |
|
adapters/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. |
|
adapters/kvstore
Package kvstore implements the metadata ports over ermite-kv.
|
Package kvstore implements the metadata ports over ermite-kv. |
|
adapters/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 app 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 app and back, the interceptor that authenticates callers, and the error mapping. |
|
adapters/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. |
|
adapters/web
Package web is the HTML front of ermite: the pages of the read-only showcase, rendered with templ from the data of the ermite API.
|
Package web is the HTML front of ermite: the pages of the read-only showcase, rendered with templ from the data of the ermite API. |
|
app
Package app holds the use cases of ermite.
|
Package app holds the use cases of ermite. |
|
clientlimit
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. |
|
config
Package config parses and validates the server configuration from the environment.
|
Package config parses and validates the server configuration from the environment. |
|
ports
Package ports declares the interfaces the use cases need from the outside world.
|
Package ports declares the interfaces the use cases need from the outside world. |
|
readertest
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. |
Click to show internal directories.
Click to hide internal directories.