Directories
¶
| Path | Synopsis |
|---|---|
|
Package app provides shared application lifecycle logic and bootstrap helpers.
|
Package app provides shared application lifecycle logic and bootstrap helpers. |
|
Package apperror defines the platform-wide application error type used to map domain and application failures to transport-level responses.
|
Package apperror defines the platform-wide application error type used to map domain and application failures to transport-level responses. |
|
Package auth provides authentication for Tupic services: turning a bearer credential into an identity.
|
Package auth provides authentication for Tupic services: turning a bearer credential into an identity. |
|
dummy
Package dummy provides an Authenticator that decodes the bearer token as a base64-encoded JSON Actor.
|
Package dummy provides an Authenticator that decodes the bearer token as a base64-encoded JSON Actor. |
|
iam
Package iam authenticates requests using Tupic IAM (Keycloak) JWTs.
|
Package iam authenticates requests using Tupic IAM (Keycloak) JWTs. |
|
Package clock provides the Clock contract to provide time with testability.
|
Package clock provides the Clock contract to provide time with testability. |
|
Package config loads layered JSON configuration files with environment variable overrides into a service-defined config struct.
|
Package config loads layered JSON configuration files with environment variable overrides into a service-defined config struct. |
|
Package echo provides the shared Echo HTTP stack: instance assembly, apperror-aware error handling, request logging, Sentry integration, the HTTP server lifecycle, and actor guard middlewares.
|
Package echo provides the shared Echo HTTP stack: instance assembly, apperror-aware error handling, request logging, Sentry integration, the HTTP server lifecycle, and actor guard middlewares. |
|
Package event defines the domain-event contract and the in-process synchronous event bus shared by all Tupic services.
|
Package event defines the domain-event contract and the in-process synchronous event bus shared by all Tupic services. |
|
Package logger provides the Logger contract plus zap, memory, and noop implementations.
|
Package logger provides the Logger contract plus zap, memory, and noop implementations. |
|
Package nats provides the NATS JetStream connection, subject routing, and event/queue subscribers shared by all Tupic services.
|
Package nats provides the NATS JetStream connection, subject routing, and event/queue subscribers shared by all Tupic services. |
|
Package outbox implements the Transactional Outbox pattern: events are stored in the caller's DB transaction and a relay ships them to NATS.
|
Package outbox implements the Transactional Outbox pattern: events are stored in the caller's DB transaction and a relay ships them to NATS. |
|
Package pagination defines shared cursor-pagination types.
|
Package pagination defines shared cursor-pagination types. |
|
Package persistence wires the database connector, migrator, and unit of work shared by all Tupic services.
|
Package persistence wires the database connector, migrator, and unit of work shared by all Tupic services. |
|
config
Package config holds the persistence configuration types in a leaf package so the connector and migrator can import them without cycles.
|
Package config holds the persistence configuration types in a leaf package so the connector and migrator can import them without cycles. |
|
connector
Package connector opens and supervises the SQL connection pool and its GORM handle.
|
Package connector opens and supervises the SQL connection pool and its GORM handle. |
|
migrator
Package migrator selects the migration driver from configuration.
|
Package migrator selects the migration driver from configuration. |
|
migrator/contract
Package contract defines the migration driver contract.
|
Package contract defines the migration driver contract. |
|
migrator/postgres
Package postgres implements the migration contract with golang-migrate.
|
Package postgres implements the migration contract with golang-migrate. |
|
uow
Package uow provides the UnitOfWork contract and its GORM transaction implementation, plus the context plumbing repositories use to join an ambient transaction.
|
Package uow provides the UnitOfWork contract and its GORM transaction implementation, plus the context plumbing repositories use to join an ambient transaction. |
|
Package queue defines the platform work-queue contract and its outbox-backed implementation.
|
Package queue defines the platform work-queue contract and its outbox-backed implementation. |
|
Package random provides the Random contract plus a crypto/rand-backed implementation.
|
Package random provides the Random contract plus a crypto/rand-backed implementation. |
|
Package sentry initializes the Sentry SDK with a shutdown flush hook.
|
Package sentry initializes the Sentry SDK with a shutdown flush hook. |
|
Package storage defines the platform file-storage contract.
|
Package storage defines the platform file-storage contract. |
|
s3
Package s3 implements the storage contract with AWS S3 (or a compatible API such as LocalStack/MinIO).
|
Package s3 implements the storage contract with AWS S3 (or a compatible API such as LocalStack/MinIO). |
|
Package testutil provides small helpers shared by service test suites.
|
Package testutil provides small helpers shared by service test suites. |
|
Package utility provides general-purpose helper functions shared across Tupic services.
|
Package utility provides general-purpose helper functions shared across Tupic services. |
|
Package validator provides the Validator contract plus a go-playground/validator implementation that maps violations to apperror.
|
Package validator provides the Validator contract plus a go-playground/validator implementation that maps violations to apperror. |
Click to show internal directories.
Click to hide internal directories.