backend

module
v0.210.0 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2026 License: MIT

Directories

Path Synopsis
Package appdeps assembles the backend's handler dependencies from resolved configuration, shared by both entrypoints: cmd/lcatd (the standalone/container server) and cmd/lcatd-lambda (the AWS Lambda function).
Package appdeps assembles the backend's handler dependencies from resolved configuration, shared by both entrypoints: cmd/lcatd (the standalone/container server) and cmd/lcatd-lambda (the AWS Lambda function).
Package auth defines the backend's identity model -- roles with capability checks, the TokenVerifier seam, multi-issuer dispatch, and the HTTP middleware guarding staff routes.
Package auth defines the backend's identity model -- roles with capability checks, the TokenVerifier seam, multi-issuer dispatch, and the HTTP middleware guarding staff routes.
local
Package local is the backend's built-in user management -- the auth path for deployments without an external IdP, coexisting with auth/oidc behind auth.Multi.
Package local is the backend's built-in user management -- the auth path for deployments without an external IdP, coexisting with auth/oidc behind auth.Multi.
oidc
Package oidc verifies bearer tokens from an external OIDC issuer -- the pluggable-SSO half of the backend's auth (auth/local is the built-in half).
Package oidc verifies bearer tokens from an external OIDC issuer -- the pluggable-SSO half of the backend's auth (auth/local is the built-in half).
sitegate
Package sitegate is a reusable login gate for a statically hosted site behind CloudFront: authorization code + PKCE against an OIDC issuer as a public client, id_token verification through auth/oidc (JWKS signature, issuer, audience, expiry), a ranked-role check, then CloudFront signed cookies (custom policy) that unlock every other path on the distribution.
Package sitegate is a reusable login gate for a statically hosted site behind CloudFront: authorization code + PKCE against an OIDC issuer as a public client, id_token verification through auth/oidc (JWKS signature, issuer, audience, expiry), a ranked-role check, then CloudFront signed cookies (custom policy) that unlock every other path on the distribution.
Package authoritiesvc is the local-authority editing service: CRUD over authority grains for a deployment's own headings, authority merge with corpus-wide reference rewrite, and the on-save auto-linker that turns string subjects into moderated linking suggestions.
Package authoritiesvc is the local-authority editing service: CRUD over authority grains for a deployment's own headings, authority merge with corpus-wide reference rewrite, and the on-save auto-linker that turns string subjects into moderated linking suggestions.
Package awslambda adapts the backend's http.Handler to API Gateway v2 HTTP events, so cmd/lcatd-lambda serves exactly what cmd/lcatd serves.
Package awslambda adapts the backend's http.Handler to API Gateway v2 HTTP events, so cmd/lcatd-lambda serves exactly what cmd/lcatd serves.
Package awsstore constructs the AWS-backed store.Store and blob.Store implementations from resolved configuration.
Package awsstore constructs the AWS-backed store.Store and blob.Store implementations from resolved configuration.
Package batch is the one op-list machinery behind Koha's batch record modification, MARC modification templates, and advanced-editor macros : a Selection names a set of Works, an editor.Op list names the edit, and the executor applies it per grain with per-record results -- dry-run first, exact quad deltas, everything audited.
Package batch is the one op-list machinery behind Koha's batch record modification, MARC modification templates, and advanced-editor macros : a Selection names a set of Works, an editor.Op list names the edit, and the executor applies it per grain with per-record results -- dry-run first, exact quad deltas, everything audited.
Package blobs3 implements blob.Store on S3-compatible object storage -- AWS S3, Cloudflare R2, MinIO -- using conditional writes (If-Match / If-None-Match on PutObject) for the optimistic concurrency the grain-store contract requires, and presigned GETs for the Signer capability.
Package blobs3 implements blob.Store on S3-compatible object storage -- AWS S3, Cloudflare R2, MinIO -- using conditional writes (If-Match / If-None-Match on PutObject) for the optimistic concurrency the grain-store contract requires, and presigned GETs for the Signer capability.
cmd
lcatd command
Command lcatd serves the libcat dynamic backend as a standalone HTTP server -- the container / self-host deployment shape.
Command lcatd serves the libcat dynamic backend as a standalone HTTP server -- the container / self-host deployment shape.
lcatd-lambda command
Command lcatd-lambda serves the libcat dynamic backend under AWS Lambda behind a Function URL (or API Gateway v2 HTTP API; both deliver the v2 HTTP payload).
Command lcatd-lambda serves the libcat dynamic backend under AWS Lambda behind a Function URL (or API Gateway v2 HTTP API; both deliver the v2 HTTP payload).
sitegate-lambda command
Command sitegate-lambda is the stock static-site login gate as a Function-URL Lambda: auth/sitegate configured from a toml file bundled into the deploy zip next to the bootstrap binary, so an adopting deployment writes no Go -- it cross-compiles this command at a released version and ships a config file.
Command sitegate-lambda is the stock static-site login gate as a Function-URL Lambda: auth/sitegate configured from a toml file bundled into the deploy zip next to the bootstrap binary, so an adopting deployment writes no Go -- it cross-compiles this command at a released version and ships a config file.
Package config carries the backend's deployment configuration, read from the environment.
Package config carries the backend's deployment configuration, read from the environment.
Package copycat is Koha's Z39.50/SRU copy cataloging and staged-import workflow over the shared ingest pipeline: external targets are searched through the libcodex protocol clients, results and .mrc uploads stage into datastore batches (nothing touches the grain tree), every staged record carries its identity-resolver match ("would merge with Work w…"), and commit runs the batch through the same clustering pipeline every feed uses -- store-backed, CAS-guarded, editorial always preserved.
Package copycat is Koha's Z39.50/SRU copy cataloging and staged-import workflow over the shared ingest pipeline: external targets are searched through the libcodex protocol clients, results and .mrc uploads stage into datastore batches (nothing touches the grain tree), every staged record carries its identity-resolver match ("would merge with Work w…"), and commit runs the batch through the same clustering pipeline every feed uses -- store-backed, CAS-guarded, editorial always preserved.
Package editor is the record-editing service surface: the JSON patch shape the API accepts, its validation against the editorial predicate whitelist, and the conversion to bibframe editorial patches.
Package editor is the record-editing service surface: the JSON patch shape the API accepts, its validation against the editorial predicate whitelist, and the conversion to bibframe editorial patches.
Package enrich executes enrichment sources against the deployment's grain store in one of two modes: direct (auto-approve -- assertions land in the source's enrichment:<name> graph) or queue (candidates become PIPELINE-provenance suggestions for moderation).
Package enrich executes enrichment sources against the deployment's grain store in one of two modes: direct (auto-approve -- assertions land in the source's enrichment:<name> graph) or queue (candidates become PIPELINE-provenance suggestions for moderation).
Package export runs catalog export jobs: a selected subset (or all) of the Works emitted as MARC, N-Quads, JSON-LD, or CSV, written to the blob store, and handed back as a time-limited download link (presigned when the store signs URLs, an HMAC-token route otherwise).
Package export runs catalog export jobs: a selected subset (or all) of the Works emitted as MARC, N-Quads, JSON-LD, or CSV, written to the blob store, and handed back as a time-limited download link (presigned when the store signs URLs, an HMAC-token route otherwise).
Package httpapi assembles the backend's HTTP surface as a plain net/http.Handler, independent of how it is served: cmd/lcatd wraps it in a listener, cmd/lcatd-lambda wraps it in the Lambda runtime.
Package httpapi assembles the backend's HTTP surface as a plain net/http.Handler, independent of how it is served: cmd/lcatd wraps it in a listener, cmd/lcatd-lambda wraps it in the Lambda runtime.
Package marcview is the MARC half of the dual-view editor: it materializes a grain's records as an editable field array (via the framework-aware decode, so overrides shadow and verbatim sidecar fields appear), and writes an edited array back as a *diff* -- the edited record re-crosswalks to BIBFRAME, the result is compared to the original decode per (subject, predicate) group, and only the changed groups land as editorial quads with the override semantics.
Package marcview is the MARC half of the dual-view editor: it materializes a grain's records as an editable field array (via the framework-aware decode, so overrides shadow and verbatim sidecar fields appear), and writes an edited array back as a *diff* -- the edited record re-crosswalks to BIBFRAME, the result is compared to the original decode per (subject, predicate) group, and only the changed groups land as editorial quads with the override semantics.
Package profiles defines editing profiles -- the JSON documents that replace MARC frameworks (Koha's tag/subfield configuration) for the BIBFRAME-native editor.
Package profiles defines editing profiles -- the JSON documents that replace MARC frameworks (Koha's tag/subfield configuration) for the BIBFRAME-native editor.
Package profilesvc holds the live editing-profile set: the shipped defaults overlaid with a deployment's blob-persisted overrides, editable at runtime.
Package profilesvc holds the live editing-profile set: the shipped defaults overlaid with a deployment's blob-persisted overrides, editable at runtime.
Package publish carries approved queue decisions into the BIBFRAME grain store: editorial quads written under ETag optimistic concurrency, the advisory ingest lease, and the downstream rebuild trigger.
Package publish carries approved queue decisions into the BIBFRAME grain store: editorial quads written under ETag optimistic concurrency, the advisory ingest lease, and the downstream rebuild trigger.
Package sruenrich harvests SUBJECT access points from copycat's SRU/Z39.50 targets: the extraction and reconciliation the editor's per-work subject lookup uses, plus an ingest.Enricher that batches it over a scoped corpus as moderated suggestions -- "ask the wider cataloging ecosystem what these works are about" without whole-record copy cataloging.
Package sruenrich harvests SUBJECT access points from copycat's SRU/Z39.50 targets: the extraction and reconciliation the editor's per-work subject lookup uses, plus an ingest.Enricher that batches it over a scoped corpus as moderated suggestions -- "ask the wider cataloging ecosystem what these works are about" without whole-record copy cataloging.
Package store defines the backend's document datastore: a composite-key (pk/sk) record store with optimistic-concurrency conditional writes, prefix queries, TTL, and atomic counters.
Package store defines the backend's document datastore: a composite-key (pk/sk) record store with optimistic-concurrency conditional writes, prefix queries, TTL, and atomic counters.
dynamo
Package dynamo implements store.Store on a single DynamoDB table (hash key "pk", range key "sk", TTL attribute "expireAt").
Package dynamo implements store.Store on a single DynamoDB table (hash key "pk", range key "sk", TTL attribute "expireAt").
storetest
Package storetest is the conformance suite every store.Store implementation must pass.
Package storetest is the conformance suite every store.Store implementation must pass.
Package suggest implements the community suggestion queue: an ephemeral store aggregating anonymous patron suggestions and flags per (work, term) pair for staff review, generalized from qllpoc's single-vocabulary DynamoDB implementation onto the portable document store and arbitrary vocabularies (controlled TermRefs or folksonomy tags).
Package suggest implements the community suggestion queue: an ephemeral store aggregating anonymous patron suggestions and flags per (work, term) pair for staff review, generalized from qllpoc's single-vocabulary DynamoDB implementation onto the portable document store and arbitrary vocabularies (controlled TermRefs or folksonomy tags).
Package trigger notifies downstream rebuild machinery that grains changed: after a publish, something must re-run serialize/project/index and redeploy the static site.
Package trigger notifies downstream rebuild machinery that grains changed: after a publish, something must re-run serialize/project/index and redeploy the static site.
awstrigger
Package awstrigger delivers trigger events over AWS messaging: an SQS queue (a worker consumes and rebuilds) or an EventBridge bus (fan-out to CodeBuild/Step Functions).
Package awstrigger delivers trigger events over AWS messaging: an SQS queue (a worker consumes and rebuilds) or an EventBridge bus (fan-out to CodeBuild/Step Functions).
Package ui embeds the built cataloging SPA (Svelte, see src/) so lcatd serves it as static files -- one deployable, no CORS.
Package ui embeds the built cataloging SPA (Svelte, see src/) so lcatd serves it as static files -- one deployable, no CORS.
Sidecar index reader: serves one scheme from the artifacts BuildSidecar wrote, holding only the small structures resident -- the URI and identifier RRILs, the RRTI search router, and the RRSR offset index -- while search postings and Term payloads range-fetch from the store on demand (a bounded cache absorbs the editor's hot set).
Sidecar index reader: serves one scheme from the artifacts BuildSidecar wrote, holding only the small structures resident -- the URI and identifier RRILs, the RRTI search router, and the RRSR offset index -- while search postings and Term payloads range-fetch from the store on demand (a bounded cache absorbs the editor's hot set).
Package vocabsrc manages public authority sources: a registry of live-suggest and downloadable vocabulary sources seeded with built-ins (id.loc.gov datasets, Wikidata, VIAF), snapshot download jobs that convert public SKOS RDF dumps into authority-tree N-Quads the vocab index loads atomically, and the live typeahead proxy the picker and enrichment reconcile through.
Package vocabsrc manages public authority sources: a registry of live-suggest and downloadable vocabulary sources seeded with built-ins (id.loc.gov datasets, Wikidata, VIAF), snapshot download jobs that convert public SKOS RDF dumps into authority-tree N-Quads the vocab index loads atomically, and the live typeahead proxy the picker and enrichment reconcile through.
Change feed for the work index: a best-effort accelerator that gives cross-container read-your-writes without a corpus List.
Change feed for the work index: a best-effort accelerator that gives cross-container read-your-writes without a corpus List.

Jump to

Keyboard shortcuts

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