An OCI-compliant content delivery and enrichment service for Gemara compliance artifacts. Clients can discover and download Gemara content (L1 guidance, L2 catalogs, L3 policies) as OCI artifacts using standard tooling.
- OCI Distribution API -- Serves Gemara compliance YAML as OCI artifacts via the standard
/v2/registry endpoints - Enrichment API -- Transforms compliance assessment results using configurable plugin mappers (
POST /v1/enrich) - Content-addressable storage -- Blobs stored on filesystem by SHA-256 digest, metadata indexed in embedded BBolt
jwtAuth is set to false in config.yaml.
make build./bin/compass --skip-tls --port 9090podman build -f images/Containerfile.compass -t gemara-content-service:local .make testRefer to this
cmd/compass/ Main entry point and server wiring
api/ OpenAPI-generated types and server interface
internal/ Internal packages (logging, middleware)
mapper/ Enrichment plugin framework
service/ Core enrichment service logic
images/ Container build files
hack/ Development utilities and sample data
docs/ Configuration files
- Go 1.24+
- golangci-lint (optional, for
make golangci-lint) - oapi-codegen (for
make api-codegen)
| Target | Description |
|---|---|
make build |
Build the binary |
make test |
Run tests with coverage |
make test-race |
Run tests with race detection |
make golangci-lint |
Run linter |
make api-codegen |
Regenerate OpenAPI types and server |
make help |
Show all targets |