Skip to content

Release Map

release.config.json product.version is authoritative. The current source state is 1.0.0-rc.3; successive release candidates increment -rc.N.

SurfaceCurrent source
Root package managerpackage.json declares pnpm@11.1.1.
Release scriptsscripts/release.sh, scripts/release.mjs, release.config.json.
Docker runtime composeinfra/docker/runtime-compose.yml.
Helm chartinfra/helm/caracal/Chart.yaml and values files.
Docs builddocs/package.json.

Caracal shares built images across roles, but each role remains a separate process or pod.

Image nameRolesRuntime
caracal-nodeAPI, CoordinatorNode
caracal-goSTS, Gateway, AuditGo
caracal-webWeb console, auth BFFNode
caracal-postgresPostgres, migrations-
caracal-redisRedis, stream provisioning-
caracal-runtimeRuntime distributionNode/Bun

Role selection:

  • caracal-nodecommand: ["/app/api/dist/main.js"] or ["/app/coordinator/dist/main.js"].
  • caracal-gocommand: ["/usr/local/bin/sts"], ["/usr/local/bin/gateway"], or ["/usr/local/bin/audit"].

Runtime Compose references ${CARACAL_REGISTRY:-ghcr.io/garudex-labs/}<image>:v${CARACAL_VERSION}.

AreaTypeScriptPythonGo
SDK@caracalai/sdkcaracalai-sdkgithub.com/garudex-labs/caracal/packages/sdk/go
Admin@caracalai/admincaracalai-admingithub.com/garudex-labs/caracal/packages/admin/go
Core@caracalai/corecaracalai-coregithub.com/garudex-labs/caracal/packages/core/go
Identity@caracalai/identitycaracalai-identitygithub.com/garudex-labs/caracal/packages/identity/go
OAuth@caracalai/oauthcaracalai-oauthgithub.com/garudex-labs/caracal/packages/oauth/go
Revocation@caracalai/revocationcaracalai-revocationgithub.com/garudex-labs/caracal/packages/revocation/go
Verify engine@caracalai/verifycaracalai-verifygithub.com/garudex-labs/caracal/packages/verify/go
  • One product release stamps every package, image, binary, chart, and generated release record with the same SemVer.
  • Every nested Go module uses <module-directory>/vX.Y.Z[-rc.N] at the same commit as the root product tag.
  • Pin exact image tags in production values.
  • Run migration and readiness validation after image or chart changes.
  • Do not use product-management runtime CLI aliases as release surfaces; broad automation belongs to the Admin API and zone-scoped dispatch belongs to the Control API.
  • Before stable v0.2.0, unversioned source is served at /v0.2/; no v0.2 snapshot directory exists.
  • Stable v0.2.0 creates the writable v0.2 snapshot.
  • v0.2.x patches update that same current minor after release; they never create patch-specific documentation trees.
  • A later stable minor archives unversioned source as the new current snapshot, exposes ongoing work at /next/, and locks the superseded minor with its SHA-256 digest.

Use Wire Contracts when validating SDK, adapter, exporter, or connector compatibility.