---
title: "Release Map"
url: "https://docs.caracal.run/reference/release-package-runtime-map/"
markdown_url: "https://docs.caracal.run/markdown/reference/release-package-runtime-map.md"
description: "Release, package, runtime, and service image naming map."
page_type: "reference"
concepts: []
requires: []
---

# Release Map

Canonical URL: https://docs.caracal.run/reference/release-package-runtime-map/
Markdown URL: https://docs.caracal.run/markdown/reference/release-package-runtime-map.md
Description: Release, package, runtime, and service image naming map.
Page type: reference
Concepts: none
Requires: none

---

## Repository Release Surfaces

| Surface | Current source |
| --- | --- |
| Root package manager | `package.json` declares `pnpm@11.1.1`. |
| Release scripts | `scripts/release.sh`, `scripts/release.mjs`, `release.config.json`, Changesets. |
| Docker runtime compose | `infra/docker/runtime-compose.yml`. |
| Helm chart | `infra/helm/caracal/Chart.yaml` and values files. |
| Docs build | `docs/package.json`. |

## Service Images

Caracal ships two application images. Each runs multiple roles selected by the
container `command`; this keeps the trust boundary (separate processes/pods per
role) while cutting build, signing, and supply-chain surface.

| Image name | Roles | Runtime |
| --- | --- | --- |
| `caracal-node` | API, Coordinator | Node |
| `caracal-go` | STS, Gateway, Audit | Go |
| `caracal-postgres` | Postgres | — |
| `caracal-redis` | Redis | — |

Role selection:

- `caracal-node` → `command: ["/app/api/dist/main.js"]` or `["/app/coordinator/dist/main.js"]`.
- `caracal-go` → `command: ["/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}`.

## Published Package Names

| Area | TypeScript | Python | Go |
| --- | --- | --- | --- |
| SDK | `@caracalai/sdk` | `caracalai-sdk` | `github.com/garudex-labs/caracal/packages/sdk/go` |
| Identity | `@caracalai/identity` | `caracalai-identity` | `github.com/garudex-labs/caracal/packages/identity/go` |
| OAuth | `@caracalai/oauth` | `caracalai-oauth` | `github.com/garudex-labs/caracal/packages/oauth/go` |
| Revocation | `@caracalai/revocation` | `caracalai-revocation` | `github.com/garudex-labs/caracal/packages/revocation/go` |
| MCP transport | `@caracalai/transport-mcp` | `caracalai-transport-mcp` | `github.com/garudex-labs/caracal/packages/transport/mcp/go` |
| A2A transport | `@caracalai/transport-a2a` | Not published in this repository | Not published in this repository |

## Versioning Notes

- 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; management automation belongs to Control/Admin APIs.

## Next Step

Use [Wire Contracts](/reference/interoperability-contracts/) when validating SDK, connector, exporter, or provider-plugin compatibility.
