Help us shape the future of Go! Take the 2026 Go Developer Survey

platform/

directory
v0.0.0-...-e3c07e6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2026 License: Apache-2.0

Directories

Path Synopsis
Package appdocs stores application-synced documentation: Markdown pages an application pushes through the SDK sync surface (POST /api/applications/{appCode}/docs/sync), read by administrators in Platform → Documentation.
Package appdocs stores application-synced documentation: Markdown pages an application pushes through the SDK sync surface (POST /api/applications/{appCode}/docs/sync), read by administrators in Platform → Documentation.
Package application represents a registered application (or integration) in the platform.
Package application represents a registered application (or integration) in the platform.
api
Package api wires the HTTP routes for the application subdomain via huma.
Package api wires the HTTP routes for the application subdomain via huma.
Package appusers is the user and invitation administration an application performs for its own users, as its own service account (F20).
Package appusers is the user and invitation administration an application performs for its own users, as its own service account (F20).
Package audit holds the audit log entity and repository (read API + a direct batch-ingest Insert).
Package audit holds the audit log entity and repository (read API + a direct batch-ingest Insert).
api
Package api wires the audit log read-only HTTP endpoints via huma.
Package api wires the audit log read-only HTTP endpoints via huma.
Package auth houses:
Package auth houses:
api
Package api wires admin HTTP routes for the auth subdomain via huma.
Package api wires admin HTTP routes for the auth subdomain via huma.
authservice
Package authservice owns JWT token generation and validation for the OAuth/OIDC surface (the former fosite-backed JWT strategy was removed — see ADR-0001).
Package authservice owns JWT token generation and validation for the OAuth/OIDC surface (the former fosite-backed JWT strategy was removed — see ADR-0001).
bridge
Package bridge implements the OIDC client / bridge side of auth: FlowCatalyst as an OIDC client of external IDPs (Entra, Keycloak, Google).
Package bridge implements the OIDC client / bridge side of auth: FlowCatalyst as an OIDC client of external IDPs (Entra, Keycloak, Google).
clientselection
Package clientselection serves /auth/client/* — the multi-tenant client context switcher used by the SPA in embedded auth mode (list accessible clients, switch, current).
Package clientselection serves /auth/client/* — the multi-tenant client context switcher used by the SPA in embedded auth mode (list accessible clients, switch, current).
grantstore
Package grantstore persists OAuth2 authorization codes and refresh tokens.
Package grantstore persists OAuth2 authorization codes and refresh tokens.
login
Package login wires the SPA's session-cookie authentication surface:
Package login wires the SPA's session-cookie authentication surface:
loginbackoff
Package loginbackoff provides layered brute-force protection for the password login endpoint.
Package loginbackoff provides layered brute-force protection for the password login endpoint.
mfatoken
Package mfatoken mints and validates the short-lived, single-purpose tokens that carry a half-authenticated user between /auth/login and the /auth/2fa/* endpoints:
Package mfatoken mints and validates the short-lived, single-purpose tokens that carry a half-authenticated user between /auth/login and the /auth/2fa/* endpoints:
oauthapi
Package oauthapi is the hand-rolled OAuth2 endpoint surface.
Package oauthapi is the hand-rolled OAuth2 endpoint surface.
operations
Package operations holds the 13 auth subdomain admin use cases.
Package operations holds the 13 auth subdomain admin use cases.
passwordhash
Package passwordhash is the single source of truth for FlowCatalyst's password / OAuth-client-secret hashing.
Package passwordhash is the single source of truth for FlowCatalyst's password / OAuth-client-secret hashing.
passwordpolicy
Package passwordpolicy is the single password-acceptance policy for internal (password-auth) users, applied everywhere the platform sets a password on a USER principal: admin user create, the self-service change-password flow, and the password-reset confirm flow.
Package passwordpolicy is the single password-acceptance policy for internal (password-auth) users, applied everywhere the platform sets a password on a USER principal: admin user create, the self-service change-password flow, and the password-reset confirm flow.
payload
Package payload backs the oauth_oidc_payloads table that holds the OIDC artifacts the provider issues: access tokens, refresh tokens, authorization codes, client_credentials sessions, etc.
Package payload backs the oauth_oidc_payloads table that holds the OIDC artifacts the provider issues: access tokens, refresh tokens, authorization codes, client_credentials sessions, etc.
provider
Package provider hosts the JWT claims projection and session-cookie token helpers shared across FlowCatalyst's auth surfaces.
Package provider hosts the JWT claims projection and session-cookie token helpers shared across FlowCatalyst's auth surfaces.
sessiontoken
Package sessiontoken is the platform's session-cookie JWT layer.
Package sessiontoken is the platform's session-cookie JWT layer.
twofa
Package twofa holds the shared 2FA domain-policy evaluation used by both the login flow and the password-reset/invite flow, so the "does this user's domain require 2FA, and with which methods" decision lives in exactly one place.
Package twofa holds the shared 2FA domain-policy evaluation used by both the login flow and the password-reset/invite flow, so the "does this user's domain require 2FA, and with which methods" decision lives in exactly one place.
Package branding resolves the configurable platform name — the brand a user sees in emails, their authenticator app (TOTP issuer), passkey prompts, and the SPA.
Package branding resolves the configurable platform name — the brand a user sees in emails, their authenticator app (TOTP issuer), passkey prompts, and the SPA.
Package client is the tenant / organization root in the multi-tenant model.
Package client is the tenant / organization root in the multi-tenant model.
api
Package api wires HTTP routes for the client (tenant) subdomain via huma.
Package api wires HTTP routes for the client (tenant) subdomain via huma.
Package connection stores outbound webhook delivery targets (subscriber endpoints).
Package connection stores outbound webhook delivery targets (subscriber endpoints).
api
Package api wires the HTTP routes for the connection subdomain via huma.
Package api wires the HTTP routes for the connection subdomain via huma.
Package cors stores allowed CORS origins for the platform's HTTP layer.
Package cors stores allowed CORS origins for the platform's HTTP layer.
api
Package api wires HTTP routes for the cors subdomain via huma.
Package api wires HTTP routes for the cors subdomain via huma.
Package dispatch holds how the platform names and addresses the dispatch queues it advertises to the router, and how it builds the router-config document describing them.
Package dispatch holds how the platform names and addresses the dispatch queues it advertises to the router, and how it builds the router-config document describing them.
Package dispatchjob holds the dispatch-job entity and repository.
Package dispatchjob holds the dispatch-job entity and repository.
api
Package api wires the dispatch-job read-only HTTP endpoints via huma.
Package api wires the dispatch-job read-only HTTP endpoints via huma.
operations
Package operations holds the dispatch-job human-initiated admin use cases: Cancel / Complete (terminal → terminal operator overrides on a FAILED job) and Resend (bulk reset-to-PENDING).
Package operations holds the dispatch-job human-initiated admin use cases: Cancel / Complete (terminal → terminal operator overrides on a FAILED job) and Resend (bulk reset-to-PENDING).
processing
Package processing implements POST /api/dispatch/process — the internal callback the message router invokes for each queued dispatch job.
Package processing implements POST /api/dispatch/process — the internal callback the message router invokes for each queued dispatch job.
settled
Package settled implements POST /api/dispatch/settled — the router→platform "settled message" hook that closes the fast-move half of T3/A-01 (BLOCK_ON_ERROR group recovery; the reaper in dispatchjob.RunReaper is the backstop for a router crash between the ACK and this call — see that package's doc comment).
Package settled implements POST /api/dispatch/settled — the router→platform "settled message" hook that closes the fast-move half of T3/A-01 (BLOCK_ON_ERROR group recovery; the reaper in dispatchjob.RunReaper is the backstop for a router crash between the ACK and this call — see that package's doc comment).
Package dispatchpool encapsulates rate-limit + concurrency settings used by the message router.
Package dispatchpool encapsulates rate-limit + concurrency settings used by the message router.
api
Package api wires HTTP routes for dispatch_pool via huma.
Package api wires HTTP routes for dispatch_pool via huma.
Package docsapi serves the platform's documentation surface to administrators.
Package docsapi serves the platform's documentation surface to administrators.
Package emaildomainmapping maps email domains to IDPs at signup; it carries optional client grants and 2FA policy applied to users who sign up via that domain.
Package emaildomainmapping maps email domains to IDPs at signup; it carries optional client grants and 2FA policy applied to users who sign up via that domain.
api
Package api wires HTTP routes for email_domain_mapping via danielgtaylor/huma/v2.
Package api wires HTTP routes for email_domain_mapping via danielgtaylor/huma/v2.
Package event is the CloudEvents 1.0 envelope stored in msg_events.
Package event is the CloudEvents 1.0 envelope stored in msg_events.
api
Package api wires the event HTTP endpoints via huma.
Package api wires the event HTTP endpoints via huma.
Package eventtype is the worked-example subdomain.
Package eventtype is the worked-example subdomain.
api
Package api wires the HTTP routes for the event_type subdomain via danielgtaylor/huma/v2.
Package api wires the HTTP routes for the event_type subdomain via danielgtaylor/huma/v2.
operations
Package operations holds the EventType use cases.
Package operations holds the EventType use cases.
Package function is the function-runner platform aggregate: the function itself (identity, ownership, pool/warm/limits settings) plus the child records a function owns — versions, aliases, and settings — and the runner-fleet bookkeeping (fng_runners, fng_pool_revisions).
Package function is the function-runner platform aggregate: the function itself (identity, ownership, pool/warm/limits settings) plus the child records a function owns — versions, aliases, and settings — and the runner-fleet bookkeeping (fng_runners, fng_pool_revisions).
api
Package api wires HTTP routes for function via huma.
Package api wires HTTP routes for function via huma.
artifact
Package artifact is the function-runner artifact store (docs/function-runner-plan.md §8.4): content-addressed by sha256, with a file:// implementation (fc-dev default) and an s3:// implementation (production).
Package artifact is the function-runner artifact store (docs/function-runner-plan.md §8.4): content-addressed by sha256, with a file:// implementation (fc-dev default) and an s3:// implementation (production).
control
Package control is the platform's side of the function runner's control plane (docs/function-runner-plan.md §8.3): the desired-state document a runner long-polls, its heartbeat, artifact downloads, and event emission on a function's behalf.
Package control is the platform's side of the function runner's control plane (docs/function-runner-plan.md §8.3): the desired-state document a runner long-polls, its heartbeat, artifact downloads, and event emission on a function's behalf.
operations
alias.go is work package 4's alias endpoints plus work package 8's promote wiring (plan §4, §8.2, §8.5): PUT points a named alias at a READY version; DELETE removes it.
alias.go is work package 4's alias endpoints plus work package 8's promote wiring (plan §4, §8.2, §8.5): PUT points a named alias at a READY version; DELETE removes it.
Package functiondomain is the function-runner public-routes domain-claim aggregate (docs/function-runner-plan.md §8, "public routes"): a claimed hostname ZONE, owned by a client (or the platform, when nil), that a function's route hostname must be covered by.
Package functiondomain is the function-runner public-routes domain-claim aggregate (docs/function-runner-plan.md §8, "public routes"): a claimed hostname ZONE, owned by a client (or the platform, when nil), that a function's route hostname must be covered by.
api
Package api wires HTTP routes for functiondomain via huma.
Package api wires HTTP routes for functiondomain via huma.
Package identityprovider stores OIDC IDP configuration (Entra, Keycloak, Google, ...) and the platform-internal "INTERNAL" identity provider for password auth.
Package identityprovider stores OIDC IDP configuration (Entra, Keycloak, Google, ...) and the platform-internal "INTERNAL" identity provider for password auth.
api
Package api wires the HTTP routes for the identity_provider subdomain via danielgtaylor/huma/v2.
Package api wires the HTTP routes for the identity_provider subdomain via danielgtaylor/huma/v2.
Package idp holds provider-specific OIDC integration glue (Keycloak, Entra, Google, generic).
Package idp holds provider-specific OIDC integration glue (Keycloak, Entra, Google, generic).
Package ingestion stores ingestions: the definitions of how data from outside (HTTP push, SFTP, S3, queues, polled tables and APIs, runtime extensions) becomes dispatch jobs.
Package ingestion stores ingestions: the definitions of how data from outside (HTTP push, SFTP, S3, queues, polled tables and APIs, runtime extensions) becomes dispatch jobs.
api
Package api wires the HTTP routes for the ingestion subdomain via huma.
Package api wires the HTTP routes for the ingestion subdomain via huma.
runtimeapi
Package runtimeapi wires the routes an ingestion runtime calls (docs/ingestion-design.md section 7): poll, report, state, job creation and secrets, under /api/ingestion-runtime/v1, as the runtime's service account holding platform:ingestion:runtime:operate.
Package runtimeapi wires the routes an ingestion runtime calls (docs/ingestion-design.md section 7): poll, report, state, job creation and secrets, under /api/ingestion-runtime/v1, as the runtime's service account holding platform:ingestion:runtime:operate.
Package loginattempt tracks user-login and service-account-token outcomes for backoff / rate-limiting and audit.
Package loginattempt tracks user-login and service-account-token outcomes for backoff / rate-limiting and audit.
api
Package api wires the HTTP routes for the login-attempt subdomain via huma.
Package api wires the HTTP routes for the login-attempt subdomain via huma.
Package mfa is the data layer for two-factor authentication of internal users: enrolled factors (TOTP / email PIN), single-use recovery codes, pending email-PIN challenges, and remembered ("trusted") devices.
Package mfa is the data layer for two-factor authentication of internal users: enrolled factors (TOTP / email PIN), single-use recovery codes, pending email-PIN challenges, and remembered ("trusted") devices.
Package notify sends best-effort security-notification emails — "your password changed", "a new passkey was registered", "2FA was reset", etc.
Package notify sends best-effort security-notification emails — "your password changed", "a new passkey was registered", "2FA was reset", etc.
Package openapispecs is the per-application OpenAPI document store.
Package openapispecs is the per-application OpenAPI document store.
operations
Package operations holds the OpenAPI-spec use cases.
Package operations holds the OpenAPI-spec use cases.
Package passwordreset stores short-lived single-use reset tokens.
Package passwordreset stores short-lived single-use reset tokens.
api
Package api serves the unauthenticated /auth/password-reset/* flow: request → (email link) → validate → confirm.
Package api serves the unauthenticated /auth/password-reset/* flow: request → (email link) → validate → confirm.
Package platformconfig stores system-wide settings (one row per application:section:property) and a per-role access grant table.
Package platformconfig stores system-wide settings (one row per application:section:property) and a per-role access grant table.
api
Package api wires HTTP routes for platform_config via huma.
Package api wires HTTP routes for platform_config via huma.
Package portalauth is the portal plane's front-channel auth surface (docs/portal-identity-plan.md Phase 2.5 v2): GET /portal/authorize, POST /portal/auth/check-domain, POST /portal/auth/login.
Package portalauth is the portal plane's front-channel auth surface (docs/portal-identity-plan.md Phase 2.5 v2): GET /portal/authorize, POST /portal/auth/check-domain, POST /portal/auth/login.
Package portalidentity is the portal identity plane (docs/portal-identity-plan.md Phase 2.5 v2): portal end-users as a SEPARATE population from iam_principals — one identity per (client, email) context, platform-implemented (password machinery, reset tokens, OIDC bridge reuse) but with initiation endpoints independent of the employee auth surface.
Package portalidentity is the portal identity plane (docs/portal-identity-plan.md Phase 2.5 v2): portal end-users as a SEPARATE population from iam_principals — one identity per (client, email) context, platform-implemented (password machinery, reset tokens, OIDC bridge reuse) but with initiation endpoints independent of the employee auth surface.
api
Package api serves /api/portal-users and /api/portal-apps — the admin surface of the portal identity plane (docs/portal-identity-plan.md Phase 2.5 v2).
Package api serves /api/portal-users and /api/portal-apps — the admin surface of the portal identity plane (docs/portal-identity-plan.md Phase 2.5 v2).
Package principal is the unified user/service-account aggregate.
Package principal is the unified user/service-account aggregate.
api
Package api wires the HTTP routes for the principal subdomain via huma.
Package api wires the HTTP routes for the principal subdomain via huma.
Package process stores free-form workflow documentation (typically Mermaid diagrams) scoped to {application, subdomain, process-name}.
Package process stores free-form workflow documentation (typically Mermaid diagrams) scoped to {application, subdomain, process-name}.
api
Package api wires the HTTP routes for the process subdomain via huma.
Package api wires the HTTP routes for the process subdomain via huma.
Package publicapi serves the small set of endpoints that must be reachable without an authenticated session:
Package publicapi serves the small set of endpoints that must be reachable without an authenticated session:
Package resetapproval is the lost-device password-reset approval queue (Phase 8 / docs/auth-hardening-plan.md).
Package resetapproval is the lost-device password-reset approval queue (Phase 8 / docs/auth-hardening-plan.md).
api
Package api serves the lost-device password-reset approval queue (Phase 8 / docs/auth-hardening-plan.md): a client-administrator lists pending requests for their client(s) and approves/denies them.
Package api serves the lost-device password-reset approval queue (Phase 8 / docs/auth-hardening-plan.md): a client-administrator lists pending requests for their client(s) and approves/denies them.
Package role defines RBAC role shapes with permission sets (incl.
Package role defines RBAC role shapes with permission sets (incl.
api
Package api wires the HTTP routes for the role subdomain via danielgtaylor/huma/v2.
Package api wires the HTTP routes for the role subdomain via danielgtaylor/huma/v2.
Package scheduledjob holds the cron-driven job definitions.
Package scheduledjob holds the cron-driven job definitions.
api
Package api wires HTTP routes for scheduled_job via huma.
Package api wires HTTP routes for scheduled_job via huma.
operations
Package operations holds all 7 scheduled_job admin use cases plus fire_now, and the bulk SDK sync (sync.go).
Package operations holds all 7 scheduled_job admin use cases plus fire_now, and the bulk SDK sync (sync.go).
scheduler
Package scheduler is the scheduled-job cron + dispatch engine for ScheduledJob aggregates.
Package scheduler is the scheduled-job cron + dispatch engine for ScheduledJob aggregates.
Package scheduler is the dispatch-job scheduler: polls PENDING dispatch jobs, groups by message_group, applies pause/block filters, and publishes to the message queue (SQS in prod, in-process queue in dev) for the router to consume.
Package scheduler is the dispatch-job scheduler: polls PENDING dispatch jobs, groups by message_group, applies pause/block filters, and publishes to the message queue (SQS in prod, in-process queue in dev) for the router to consume.
Package sdksync wires the SDK self-registration ("sync") routes, scoped under /api/applications/{appCode}.
Package sdksync wires the SDK self-registration ("sync") routes, scoped under /api/applications/{appCode}.
Package seed installs the built-in roles, the platform application, and the platform event-types catalog.
Package seed installs the built-in roles, the platform application, and the platform event-types catalog.
Package serviceaccount implements machine-to-machine principals with webhook credentials and roles.
Package serviceaccount implements machine-to-machine principals with webhook credentials and roles.
api
Package api wires the HTTP routes for the service_account subdomain via huma.
Package api wires the HTTP routes for the service_account subdomain via huma.
shared
apicommon
Package apicommon holds reusable HTTP response shapes.
Package apicommon holds reusable HTTP response shapes.
apiroute
Package apiroute collapses the standard huma route registration ceremony into one line per route.
Package apiroute collapses the standard huma route registration ceremony into one line per route.
auth
Package auth provides the authenticated-request context and the permission-check helpers used by every write handler.
Package auth provides the authenticated-request context and the permission-check helpers used by every write handler.
bff
Package bff hosts the /bff/* endpoints — frontend-only, session-auth, response shapes tuned to screens.
Package bff hosts the /bff/* endpoints — frontend-only, session-auth, response shapes tuned to screens.
database
Package database provides the pgxpool factory.
Package database provides the pgxpool factory.
dispatchqueue
Package dispatchqueue holds the naming and priority rules shared by the dispatch scheduler (which publishes each claimed job to a queue) and the router-config document the platform serves (which advertises those same queues).
Package dispatchqueue holds the naming and priority rules shared by the dispatch scheduler (which publishes each claimed job to a queue) and the router-config document the platform serves (which advertises those same queues).
email
Package email sends transactional emails (password reset, …) over SMTP.
Package email sends transactional emails (password reset, …) over SMTP.
encryption
Package encryption implements field-level AES-256-GCM encryption with FLOWCATALYST_APP_KEY rotation support, plus a keyed-hash form for secrets that are only ever verified (never resent or re-signed by the platform).
Package encryption implements field-level AES-256-GCM encryption with FLOWCATALYST_APP_KEY rotation support, plus a keyed-hash form for secrets that are only ever verified (never resent or re-signed by the platform).
httpcompat
Package httpcompat is the integration layer between danielgtaylor/huma/v2 and FlowCatalyst's existing wire conventions.
Package httpcompat is the integration layer between danielgtaylor/huma/v2 and FlowCatalyst's existing wire conventions.
httperror
Package httperror maps internal errors to HTTP responses with the platform's canonical JSON envelope shape:
Package httperror maps internal errors to HTTP responses with the platform's canonical JSON envelope shape:
jsontime
Package jsontime provides a time wrapper with fixed-precision microsecond ISO-8601 JSON serialisation.
Package jsontime provides a time wrapper with fixed-precision microsecond ISO-8601 JSON serialisation.
me
Package me serves /api/me — the canonical "who am I" lookup returned to agents, SDKs, and the dashboard.
Package me serves /api/me — the canonical "who am I" lookup returned to agents, SDKs, and the dashboard.
middleware
Package middleware provides the platform's chi/net/http middleware stack.
Package middleware provides the platform's chi/net/http middleware stack.
platformsink
Package platformsink implements usecasepgx.Sink for the platform itself.
Package platformsink implements usecasepgx.Sink for the platform itself.
ratelimit
Package ratelimit provides the distributed Store and the in-memory Governor.
Package ratelimit provides the distributed Store and the in-memory Governor.
repocommon
Package repocommon holds shared repository-layer helpers: the ErrNoRows→nil single-row convention and the positional-argument filter builder used by the hand-rolled dynamic list queries (see docs/sqlc.md for why those stay hand-written).
Package repocommon holds shared repository-layer helpers: the ErrNoRows→nil single-row convention and the positional-argument filter builder used by the hand-rolled dynamic list queries (see docs/sqlc.md for why those stay hand-written).
sdk
dispatch_job_create.go hosts POST /api/dispatch-jobs — the singular SDK create.
dispatch_job_create.go hosts POST /api/dispatch-jobs — the singular SDK create.
syncdiff
Package syncdiff holds the value comparisons the definition syncs use to tell a row they would rewrite with different content from one they would rewrite with the same content (F30): an unchanged row is neither saved nor counted nor audited.
Package syncdiff holds the value comparisons the definition syncs use to tell a row they would rewrite with different content from one they would rewrite with the same content (F30): an unchanged row is neither saved nor counted nor audited.
validate
Package validate holds the shared operations-layer input checks.
Package validate holds the shared operations-layer input checks.
versioncache
Package versioncache answers "has this principal (or a role it holds) changed since a given moment?" cheaply enough to check on every request.
Package versioncache answers "has this principal (or a role it holds) changed since a given moment?" cheaply enough to check on every request.
Package subscription binds event types to delivery targets (connections / endpoints).
Package subscription binds event types to delivery targets (connections / endpoints).
api
Package api wires HTTP routes for the subscription subdomain via huma.
Package api wires HTTP routes for the subscription subdomain via huma.
Package webauthn implements passkey (WebAuthn) credentials and the registration/authentication ceremonies.
Package webauthn implements passkey (WebAuthn) credentials and the registration/authentication ceremonies.
api
Package api wires the WebAuthn HTTP routes under /auth/webauthn/* via huma.
Package api wires the WebAuthn HTTP routes under /auth/webauthn/* via huma.
webauthntest
Package webauthntest is a software WebAuthn authenticator for tests: it builds the registration (attestation "none") and assertion payloads a browser would send, so the ceremony paths can be exercised against the real go-webauthn verifier without a browser.
Package webauthntest is a software WebAuthn authenticator for tests: it builds the registration (attestation "none") and assertion payloads a browser would send, so the ceremony paths can be exercised against the real go-webauthn verifier without a browser.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL