Directories
¶
| Path | Synopsis |
|---|---|
|
Package auth holds who makes a request, and the two questions every request on the public API goes through: who is it (Authenticator), and may it do this (Authorizer).
|
Package auth holds who makes a request, and the two questions every request on the public API goes through: who is it (Authenticator), and may it do this (Authorizer). |
|
Package clock gives the core its time through an interface, so that tests control it (plan P1-01, step 7): code that schedules, expires or measures takes a Clock instead of calling the time package.
|
Package clock gives the core its time through an interface, so that tests control it (plan P1-01, step 7): code that schedules, expires or measures takes a Clock instead of calling the time package. |
|
clocktest
Package clocktest gives tests a clock whose time moves only when they move it.
|
Package clocktest gives tests a clock whose time moves only when they move it. |
|
Package config holds the configuration of the whitetower server: a YAML file, overridden by environment variables prefixed WT_, with defaults and validation.
|
Package config holds the configuration of the whitetower server: a YAML file, overridden by environment variables prefixed WT_, with defaults and validation. |
|
Package db is the core's access to PostgreSQL (ADR-0003): a pool of the runtime role's connections, transactions with commit hooks, the check of the schema version, and the migrations, which only whitetower migrate applies, as the migration role (threat model, DC-3).
|
Package db is the core's access to PostgreSQL (ADR-0003): a pool of the runtime role's connections, transactions with commit hooks, the check of the schema version, and the migrations, which only whitetower migrate applies, as the migration role (threat model, DC-3). |
|
dbtest
Package dbtest gives integration tests a PostgreSQL database set up as in a deployment: a migration role that owns the schema, and a runtime role, member of whitetower_runtime, for the server.
|
Package dbtest gives integration tests a PostgreSQL database set up as in a deployment: a migration role that owns the schema, and a runtime role, member of whitetower_runtime, for the server. |
|
Package golden compares what a test produces with a file that holds what it should be, and rewrites the file when the test runs with -update (plan P1-01, step 10).
|
Package golden compares what a test produces with a file that holds what it should be, and rewrites the file when the test runs with -update (plan P1-01, step 10). |
|
Package health holds the readiness checks behind /readyz.
|
Package health holds the readiness checks behind /readyz. |
|
Package jobs runs the core's background jobs (plan P1-01, step 7; architecture, section 3.1).
|
Package jobs runs the core's background jobs (plan P1-01, step 7; architecture, section 3.1). |
|
Package keys holds the core's signing keys (plan P1-05, step 1; ADR-0006): one per purpose, of the token, bundle and checkpoint keys of the architecture.
|
Package keys holds the core's signing keys (plan P1-05, step 1; ADR-0006): one per purpose, of the token, bundle and checkpoint keys of the architecture. |
|
Package logging sets up the server's logs: JSON lines with UTC timestamps in milliseconds (requirement NFR-19).
|
Package logging sets up the server's logs: JSON lines with UTC timestamps in milliseconds (requirement NFR-19). |
|
Package metrics holds the server's Prometheus metrics, served at /metrics on the operations listener.
|
Package metrics holds the server's Prometheus metrics, served at /metrics on the operations listener. |
|
Package notify tells the replicas of the core about the changes that one of them commits (plan P1-01, step 8; ADR-0003).
|
Package notify tells the replicas of the core about the changes that one of them commits (plan P1-01, step 8; ADR-0003). |
|
Package ratelimit limits how fast each client may call the core, with a token bucket per key, such as a principal or a client address, so that one client flooding the API cannot make it unusable for the others (threat model, T-11).
|
Package ratelimit limits how fast each client may call the core, with a token bucket per key, such as a principal or a client address, so that one client flooding the API cannot make it unusable for the others (threat model, T-11). |
|
Package servertls provides the certificates of the core's HTTPS listeners: read from files and reloaded when the files change, so that certificates rotate without a restart, or generated at startup for development.
|
Package servertls provides the certificates of the core's HTTPS listeners: read from files and reloaded when the files change, so that certificates rotate without a restart, or generated at startup for development. |
|
Package tracing sets up OpenTelemetry tracing (requirement OPS-05): W3C Trace Context propagation, and spans exported over OTLP/HTTP only when an endpoint is configured (requirement NFR-14).
|
Package tracing sets up OpenTelemetry tracing (requirement OPS-05): W3C Trace Context propagation, and spans exported over OTLP/HTTP only when an endpoint is configured (requirement NFR-14). |
Click to show internal directories.
Click to hide internal directories.