Directories
¶
| Path | Synopsis |
|---|---|
|
Package access is the per-instance authorization check callable from the application layer (the hexagonal use cases, not the transport layer) once an entity has already been loaded.
|
Package access is the per-instance authorization check callable from the application layer (the hexagonal use cases, not the transport layer) once an entity has already been loaded. |
|
Package audit defines the audit-trail port: the Entry record, the Auditable interface domain entities implement to be recorded automatically, and the Repository port a storage adapter implements (see audit/postgres).
|
Package audit defines the audit-trail port: the Entry record, the Auditable interface domain entities implement to be recorded automatically, and the Repository port a storage adapter implements (see audit/postgres). |
|
httpx
Package httpx provides a ready-to-use HTTP handler for the audit log — List and GetByID — plus the composable pieces it is built from: DTO mapping (ToResponse, ToResponseList), filter parsing (FiltersFromRequest), and configurable user-facing messages (Messages).
|
Package httpx provides a ready-to-use HTTP handler for the audit log — List and GetByID — plus the composable pieces it is built from: DTO mapping (ToResponse, ToResponseList), filter parsing (FiltersFromRequest), and configurable user-facing messages (Messages). |
|
migrations
Package migrations embeds the SQL migration(s) that create the audit_log table this library owns.
|
Package migrations embeds the SQL migration(s) that create the audit_log table this library owns. |
|
postgres
Package postgres provides the PostgreSQL-backed implementation of the audit.Repository port, built on pgx.
|
Package postgres provides the PostgreSQL-backed implementation of the audit.Repository port, built on pgx. |
|
Package auth defines the contracts for authenticating a caller from a bearer credential.
|
Package auth defines the contracts for authenticating a caller from a bearer credential. |
|
zitadel
Package zitadel adapts github.com/zitadel/zitadel-go/v3's OIDC authorizer to the auth.Authenticator port.
|
Package zitadel adapts github.com/zitadel/zitadel-go/v3's OIDC authorizer to the auth.Authenticator port. |
|
Package authz defines the contracts for authorization decisions.
|
Package authz defines the contracts for authorization decisions. |
|
cerbos
Package cerbos adapts github.com/cerbos/cerbos-sdk-go's gRPC client to the authz.Checker port.
|
Package cerbos adapts github.com/cerbos/cerbos-sdk-go's gRPC client to the authz.Checker port. |
|
Package config provides primitives for reading and validating configuration from environment variables: typed readers with defaults, a required-variable reader that fails with a clear message, an error accumulator so a boot failure reports every problem at once instead of one per restart, and semantic validators (well-formed URL, int range, allowed set, min<=max pairs) for cases where "non-empty" is not enough to catch a misconfiguration.
|
Package config provides primitives for reading and validating configuration from environment variables: typed readers with defaults, a required-variable reader that fails with a clear message, an error accumulator so a boot failure reports every problem at once instead of one per restart, and semantic validators (well-formed URL, int range, allowed set, min<=max pairs) for cases where "non-empty" is not enough to catch a misconfiguration. |
|
Package decimalx provides a bounded parser for money-shaped strings coming from an HTTP request, plus the money-precision rule that goes with it.
|
Package decimalx provides a bounded parser for money-shaped strings coming from an HTTP request, plus the money-precision rule that goes with it. |
|
decimalxtest
Package decimalxtest provides a structural test helper for consumers of decimalx: a guard that fails a test if any .go file outside the decimalx package itself calls one of shopspring/decimal's string constructors directly, bypassing the bounded parser decimalx.Parse provides.
|
Package decimalxtest provides a structural test helper for consumers of decimalx: a guard that fails a test if any .go file outside the decimalx package itself calls one of shopspring/decimal's string constructors directly, bypassing the bounded parser decimalx.Parse provides. |
|
examples
|
|
|
api
command
Command api is a runnable example that boots a real HTTP API wiring EVERY vogel package together, so a reader learns the composition root by reading this one directory.
|
Command api is a runnable example that boots a real HTTP API wiring EVERY vogel package together, so a reader learns the composition root by reading this one directory. |
|
httpx
|
|
|
Package logger provides a thin, dependency-free wrapper around log/slog.
|
Package logger provides a thin, dependency-free wrapper around log/slog. |
|
Package migrate provides programmatic access to SQL/Go migrations owned by the consuming application, wrapping pressly/goose v3's Provider API.
|
Package migrate provides programmatic access to SQL/Go migrations owned by the consuming application, wrapping pressly/goose v3's Provider API. |
|
Package notification defines the contracts for email delivery.
|
Package notification defines the contracts for email delivery. |
|
sendgrid
Package sendgrid implements the notification.Notifier port via the SendGrid HTTP API.
|
Package sendgrid implements the notification.Notifier port via the SendGrid HTTP API. |
|
smtp
Package smtp implements the notification.Notifier port via SMTP using go-mail.
|
Package smtp implements the notification.Notifier port via SMTP using go-mail. |
|
Package pgxtx provides pgx-based transaction plumbing: a context-scoped active transaction, and a WithTx helper that runs a callback inside one transaction, committing on success and rolling back on error or panic.
|
Package pgxtx provides pgx-based transaction plumbing: a context-scoped active transaction, and a WithTx helper that runs a callback inside one transaction, committing on success and rolling back on error or panic. |
|
Package postgres provides a pgxpool.Pool constructor with the operational defaults the source applications lacked: slow-query tracing (see slow_query_tracer.go), Prometheus pool metrics (see metrics.go), a hard startup failure instead of a silent no-op when TLS is required but the DSN does not enable it, and server-side statement/lock/idle-in-transaction timeouts applied on every new connection.
|
Package postgres provides a pgxpool.Pool constructor with the operational defaults the source applications lacked: slow-query tracing (see slow_query_tracer.go), Prometheus pool metrics (see metrics.go), a hard startup failure instead of a silent no-op when TLS is required but the DSN does not enable it, and server-side statement/lock/idle-in-transaction timeouts applied on every new connection. |
|
Package reqctx carries request-scoped metadata — a request/correlation ID, the client IP, and the User-Agent — through a context.Context, independent of any HTTP router or logging framework.
|
Package reqctx carries request-scoped metadata — a request/correlation ID, the client IP, and the User-Agent — through a context.Context, independent of any HTTP router or logging framework. |
|
Package request provides HTTP request decoding and validation helpers shared across handlers: JSON body decoding with size limits and error mapping (json.go), localizable user-facing messages (messages.go), and query/URL- parameter validation (validate.go).
|
Package request provides HTTP request decoding and validation helpers shared across handlers: JSON body decoding with size limits and error mapping (json.go), localizable user-facing messages (messages.go), and query/URL- parameter validation (validate.go). |
|
Package storage defines the contracts for object storage operations.
|
Package storage defines the contracts for object storage operations. |
|
s3
Package s3 provides the S3-compatible implementation of the storage.Storage port.
|
Package s3 provides the S3-compatible implementation of the storage.Storage port. |
|
Package validation turns go-playground/validator's struct-tag errors into the same shape request.Validator already uses: request.FieldErrors, one message per JSON field, ready for response.ValidationError.
|
Package validation turns go-playground/validator's struct-tag errors into the same shape request.Validator already uses: request.FieldErrors, one message per JSON field, ready for response.ValidationError. |
|
Package worker provides background job processing for vogel-based applications, built on River (github.com/riverqueue/river) backed by PostgreSQL.
|
Package worker provides background job processing for vogel-based applications, built on River (github.com/riverqueue/river) backed by PostgreSQL. |
|
Package workflow is a generic workflow/BPM engine: it owns case state, transitions, assignment, and history for any process a consumer chooses to model as a Definition.
|
Package workflow is a generic workflow/BPM engine: it owns case state, transitions, assignment, and history for any process a consumer chooses to model as a Definition. |
|
migrations
Package migrations embeds the SQL migration(s) that create the workflow_case and workflow_event tables this library owns.
|
Package migrations embeds the SQL migration(s) that create the workflow_case and workflow_event tables this library owns. |
|
postgres
Package postgres provides the PostgreSQL-backed implementation of the workflow.Repository port, built on native pgx.
|
Package postgres provides the PostgreSQL-backed implementation of the workflow.Repository port, built on native pgx. |
Click to show internal directories.
Click to hide internal directories.