Documentation
¶
Index ¶
- func MountSystemEndpoints(r ports.HTTPRouter, se SystemEndpoints)
- func NewDefaultRouter(log ports.Logger) ports.HTTPRouter
- func NewMigrator(dsn, table string, lockKey int64, allowDown bool, log ports.Logger, ...) (ports.Migrator, error)
- func OpenAndPingDB(ctx context.Context, dsn string, timeout time.Duration) (ports.DatabasePool, error)
- func OpenPoolOrExit(ctx context.Context, dsn string, timeout time.Duration, log ports.Logger) ports.DatabasePool
- func RunDown(ctx context.Context, m ports.Migrator, dir string) error
- func RunMigrationsOrExit(ctx context.Context, cfg config.Config, log ports.Logger, embedded []fs.FS)
- func RunUp(ctx context.Context, m ports.Migrator, dir string) error
- func StartServer(ctx context.Context, addr string, handler http.Handler, log ports.Logger) error
- func StartServerOrExit(ctx context.Context, addr string, handler http.Handler, log ports.Logger)
- func Status(ctx context.Context, m ports.Migrator, dir string) (string, error)
- func WithTimeout(parent context.Context, d time.Duration) (context.Context, context.CancelFunc)
- type SystemEndpoints
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MountSystemEndpoints ¶
func MountSystemEndpoints(r ports.HTTPRouter, se SystemEndpoints)
MountSystemEndpoints registers health, docs, version, and metrics endpoints.
func NewDefaultRouter ¶
func NewDefaultRouter(log ports.Logger) ports.HTTPRouter
NewDefaultRouter constructs a router with a sensible default middleware stack.
func NewMigrator ¶
func NewMigrator(dsn, table string, lockKey int64, allowDown bool, log ports.Logger, dirs []string, embedded []fs.FS) (ports.Migrator, error)
NewMigrator builds a migrator with either directories or embedded FS sources.
func OpenAndPingDB ¶
func OpenAndPingDB(ctx context.Context, dsn string, timeout time.Duration) (ports.DatabasePool, error)
OpenAndPingDB opens a DB pool and verifies connectivity with a short timeout.
func OpenPoolOrExit ¶ added in v1.0.2
func OpenPoolOrExit(ctx context.Context, dsn string, timeout time.Duration, log ports.Logger) ports.DatabasePool
OpenPoolOrExit opens a DB pool and terminates the process if it fails.
func RunMigrationsOrExit ¶ added in v1.0.2
func RunMigrationsOrExit(ctx context.Context, cfg config.Config, log ports.Logger, embedded []fs.FS)
RunMigrationsOrExit runs startup migrations using config defaults or exits on failure.
func StartServer ¶
StartServer runs an HTTP server and performs graceful shutdown when the context is canceled.
func StartServerOrExit ¶ added in v1.0.2
StartServerOrExit runs the HTTP server and exits the process when it fails.
func WithTimeout ¶
WithTimeout derives a context with a default timeout for long-running migration ops.