Directories
¶
| Path | Synopsis |
|---|---|
|
Package apitest provides helpers for end-to-end HTTP tests that drive a real application handler through an httptest.Server.
|
Package apitest provides helpers for end-to-end HTTP tests that drive a real application handler through an httptest.Server. |
|
Package app holds the application assembly layer of the SDK.
|
Package app holds the application assembly layer of the SDK. |
|
Package auditlog records a versioned audit trail of model changes and answers history and diff queries over it.
|
Package auditlog records a versioned audit trail of model changes and answers history and diff queries over it. |
|
auditbus
Package auditbus records audit entries from events on the in-process eventbus, decoupling producers from the audit core: a producer publishes an Event on the bus and Register subscribes the audit core to consume it, so a domain package can request an audit write without importing auditlog.
|
Package auditbus records audit entries from events on the in-process eventbus, decoupling producers from the audit core: a producer publishes an Event on the bus and Register subscribes the audit core to consume it, so a domain package can request an audit write without importing auditlog. |
|
auditqueue
Package auditqueue is a durable, queue-backed auditlog.Recorder: Record enqueues the audit entry onto a skit queue (one cheap INSERT on the request path) and a background Worker drains it into the audit core.
|
Package auditqueue is a durable, queue-backed auditlog.Recorder: Record enqueues the audit entry onto a skit queue (one cheap INSERT on the request path) and a background Worker drains it into the audit core. |
|
auditrest
Package auditrest is the REST integration for auditlog: a read-side handler group (history / diff / changes) mountable on any skit router in one call.
|
Package auditrest is the REST integration for auditlog: a read-side handler group (history / diff / changes) mountable on any skit router in one call. |
|
db
Package db is the Postgres implementation of auditlog.Store.
|
Package db is the Postgres implementation of auditlog.Store. |
|
Package auth provides authentication and authorization building blocks: a transport-neutral Principal carried in context, credential extraction from HTTP requests, a pluggable Verifier (token -> Principal), a built-in JWT verifier, and net/http middleware for authentication and role-based access control.
|
Package auth provides authentication and authorization building blocks: a transport-neutral Principal carried in context, credential extraction from HTTP requests, a pluggable Verifier (token -> Principal), a built-in JWT verifier, and net/http middleware for authentication and role-based access control. |
|
Package broker abstracts an event broker behind transport-agnostic Publisher and Consumer contracts.
|
Package broker abstracts an event broker behind transport-agnostic Publisher and Consumer contracts. |
|
rabbitmq
Package rabbitmq implements the broker abstraction over RabbitMQ.
|
Package rabbitmq implements the broker abstraction over RabbitMQ. |
|
Package closer manages graceful shutdown of resources.
|
Package closer manages graceful shutdown of resources. |
|
cmd
|
|
|
skit
command
Command skit scaffolds and manages skit-based services.
|
Command skit scaffolds and manages skit-based services. |
|
Package config standardizes 12-factor configuration on jessevdk/go-flags: a single options struct whose fields carry `long`/`env`/`default`/`description` tags, so the same definition drives CLI flags, environment variables, and `--help`.
|
Package config standardizes 12-factor configuration on jessevdk/go-flags: a single options struct whose fields carry `long`/`env`/`default`/`description` tags, so the same definition drives CLI flags, environment variables, and `--help`. |
|
Package dbtest spins up disposable databases for integration tests using testcontainers.
|
Package dbtest spins up disposable databases for integration tests using testcontainers. |
|
Package dbx provides Postgres helpers on top of jmoiron/sqlx and the pgx driver: connection setup, named query/exec wrappers with query logging, transactions, and bulk insert/upsert.
|
Package dbx provides Postgres helpers on top of jmoiron/sqlx and the pgx driver: connection setup, named query/exec wrappers with query logging, transactions, and bulk insert/upsert. |
|
dialect
Package dialect provides cross-cutting helpers that vary between SQL engines but are otherwise reusable by every domain store.
|
Package dialect provides cross-cutting helpers that vary between SQL engines but are otherwise reusable by every domain store. |
|
Package debugsrv serves operational endpoints — net/http/pprof profiles plus optional metrics and health handlers — on a separate, internal-only listener or as a handler attached to an existing router.
|
Package debugsrv serves operational endpoints — net/http/pprof profiles plus optional metrics and health handlers — on a separate, internal-only listener or as a handler attached to an existing router. |
|
Package dim is a slim, generics-based dependency-injection toolkit: lazy providers and managed resources built from plain functions, with structured logging of initialization and cleanup.
|
Package dim is a slim, generics-based dependency-injection toolkit: lazy providers and managed resources built from plain functions, with structured logging of initialization and cleanup. |
|
Package errs provides a single, transport-agnostic error type with stable codes, an HTTP (and later gRPC) status mapping, request validation helpers, and automatic redaction of secrets in user-facing messages.
|
Package errs provides a single, transport-agnostic error type with stable codes, an HTTP (and later gRPC) status mapping, request validation helpers, and automatic redaction of secrets in user-facing messages. |
|
Package eventbus is an in-process, synchronous event bus for decoupling domain packages that cannot import one another (avoiding import cycles).
|
Package eventbus is an in-process, synchronous event bus for decoupling domain packages that cannot import one another (avoiding import cycles). |
|
Package grpcgateway builds a grpc-gateway as a plain http.Handler, so the JSON/HTTP transport runs as just another brick of the server kit — wrapped by httpserver and supervised in the same worker.Group as the gRPC and REST servers.
|
Package grpcgateway builds a grpc-gateway as a plain http.Handler, so the JSON/HTTP transport runs as just another brick of the server kit — wrapped by httpserver and supervised in the same worker.Group as the gRPC and REST servers. |
|
Package grpcserver bootstraps a gRPC server with the SDK's cross-cutting concerns and exposes it as a worker.Runnable.
|
Package grpcserver bootstraps a gRPC server with the SDK's cross-cutting concerns and exposes it as a worker.Runnable. |
|
Package health provides liveness and readiness HTTP handlers suitable for Kubernetes probes.
|
Package health provides liveness and readiness HTTP handlers suitable for Kubernetes probes. |
|
Package httpmw provides outbound HTTP-client middleware: composable http.RoundTripper wrappers for resilient calls to upstream services.
|
Package httpmw provides outbound HTTP-client middleware: composable http.RoundTripper wrappers for resilient calls to upstream services. |
|
Package httpserver is the standard-library-idiomatic core of the server kit: a worker.Runnable that serves any http.Handler on its own listener with graceful shutdown.
|
Package httpserver is the standard-library-idiomatic core of the server kit: a worker.Runnable that serves any http.Handler on its own listener with graceful shutdown. |
|
Package i18n is a thin wrapper over nicksnyder/go-i18n that loads message catalogs from an fs.FS (typically an embed.FS), resolves the request language from an Accept-Language header, and localizes *errs.Error messages by their MessageID/Code with Args as template data.
|
Package i18n is a thin wrapper over nicksnyder/go-i18n that loads message catalogs from an fs.FS (typically an embed.FS), resolves the request language from an Accept-Language header, and localizes *errs.Error messages by their MessageID/Code with Args as template data. |
|
Package logger is a thin wrapper around log/slog tailored for services.
|
Package logger is a thin wrapper around log/slog tailored for services. |
|
Package metrics provides a Prometheus registry, a scrape handler, an HTTP request middleware, and the building block for extensible, conflict-free metrics across the SDK and the application.
|
Package metrics provides a Prometheus registry, a scrape handler, an HTTP request middleware, and the building block for extensible, conflict-free metrics across the SDK and the application. |
|
Package middleware provides standard net/http server middleware for skit services.
|
Package middleware provides standard net/http server middleware for skit services. |
|
Package migrate applies SQL schema migrations from an embedded filesystem.
|
Package migrate applies SQL schema migrations from an embedded filesystem. |
|
Package order describes the ordering of a list query: a By value (an allowlisted field name + an ASC/DESC direction) and a Parse that builds one from untrusted "field,direction" request input.
|
Package order describes the ordering of a list query: a By value (an allowlisted field name + an ASC/DESC direction) and a Parse that builds one from untrusted "field,direction" request input. |
|
Package otel bootstraps OpenTelemetry tracing and provides helpers to inject a trace id into the context (and therefore into logs), open child spans, and propagate trace context across service boundaries.
|
Package otel bootstraps OpenTelemetry tracing and provides helpers to inject a trace id into the context (and therefore into logs), open child spans, and propagate trace context across service boundaries. |
|
Package outbox implements the transactional outbox pattern for reliably publishing domain events to a message broker.
|
Package outbox implements the transactional outbox pattern for reliably publishing domain events to a message broker. |
|
Package page provides a small, validated value for query paging, shared by the transport (parsing ?page=/?rows= or gRPC fields) and the store (binding :offset / :rows_per_page, e.g.
|
Package page provides a small, validated value for query paging, shared by the transport (parsing ?page=/?rows= or gRPC fields) and the store (binding :offset / :rows_per_page, e.g. |
|
Package poller maintains a single "current value" that is refreshed by periodically calling a Getter.
|
Package poller maintains a single "current value" that is refreshed by periodically calling a Getter. |
|
Package provider holds ready-made resource constructors for the dependencies applications need most often, so an app's deps layer declares WHAT to build and reuses these for HOW.
|
Package provider holds ready-made resource constructors for the dependencies applications need most often, so an app's deps layer declares WHAT to build and reuses these for HOW. |
|
Package query provides the response envelope for paginated list endpoints: Result[T] carries the page's items plus the total count, the page/rows echoed back, and the derived TotalPages and Prev/Next page numbers.
|
Package query provides the response envelope for paginated list endpoints: Result[T] carries the page's items plus the total count, the page/rows echoed back, and the derived TotalPages and Prev/Next page numbers. |
|
Package queue is a durable work queue with at-least-once delivery, safe for concurrent consumers across processes.
|
Package queue is a durable work queue with at-least-once delivery, safe for concurrent consumers across processes. |
|
Package rest is a tiny typed-handler layer over net/http.
|
Package rest is a tiny typed-handler layer over net/http. |
|
mid
Package mid provides application-layer middleware: rest.MidFunc values that wrap a typed rest.HandlerFunc and operate on the ResponseEncoder it returns (the typed value), not on raw bytes.
|
Package mid provides application-layer middleware: rest.MidFunc values that wrap a typed rest.HandlerFunc and operate on the ResponseEncoder it returns (the typed value), not on raw bytes. |
|
router
Package router wraps the standard library's net/http.ServeMux with nestable groups and two cooperating handler/middleware layers: net/http transport middleware and typed rest application middleware.
|
Package router wraps the standard library's net/http.ServeMux with nestable groups and two cooperating handler/middleware layers: net/http transport middleware and typed rest application middleware. |
|
Package retry runs an operation again on failure, with exponential backoff, optional jitter, a bounded attempt budget, and an early stop on terminal errors.
|
Package retry runs an operation again on failure, with exponential backoff, optional jitter, a bounded attempt budget, and an early stop on terminal errors. |
|
Package safetick provides panic recovery helpers for long-running background loops and message-consumer callbacks, so a single bad tick or message cannot crash the worker.
|
Package safetick provides panic recovery helpers for long-running background loops and message-consumer callbacks, so a single bad tick or message cannot crash the worker. |
|
Package to hides the repeated work of turning a value into a rest.ResponseEncoder for a given content type, so handlers stay terse: return to.JSON(v), to.JSONStatus(v, 201) or to.JSONAPI(model) instead of constructing a ResponseEncoder by hand.
|
Package to hides the repeated work of turning a value into a rest.ResponseEncoder for a given content type, so handlers stay terse: return to.JSON(v), to.JSONStatus(v, 201) or to.JSONAPI(model) instead of constructing a ResponseEncoder by hand. |
|
Package translation provides a type-safe, declarative system for translating model content stored per-record (distinct from i18n, which localizes static catalog/error strings).
|
Package translation provides a type-safe, declarative system for translating model content stored per-record (distinct from i18n, which localizes static catalog/error strings). |
|
postgres
Package postgres is the Postgres implementation of translation.Store.
|
Package postgres is the Postgres implementation of translation.Store. |
|
translationrest
Package translationrest wires the translation package into a skit REST router as a single rest.MidFunc that translates responses automatically.
|
Package translationrest wires the translation package into a skit REST router as a single rest.MidFunc that translates responses automatically. |
|
Package worker unifies the background-execution patterns found across the reference services into one small vocabulary.
|
Package worker unifies the background-execution patterns found across the reference services into one small vocabulary. |
Click to show internal directories.
Click to hide internal directories.