Skip to main content

Stack distribution that pins compatible JARVIS components.

Project description

JARVIS Release (Stack Distribution)

JARVIS_Release is the version-pinned, runnable stack distribution for JARVIS (ARP spec/v1). It ships a lock file + Docker Compose setup that brings up a full local stack with sensible defaults.

What this repo ships

Core spec-facing services:

  • Run Gateway
  • Run Coordinator
  • Atomic Executor
  • Composite Executor
  • Node Registry
  • Selection Service
  • PDP

Internal JARVIS services:

  • Run Store
  • Event Stream
  • Artifact Store

Local dev STS (default profile):

  • Keycloak (dev-secure-keycloak)

Version pinning

  • stack.lock.json is the stack source of truth (component versions, node pack versions, helper libs).
  • pyproject.toml pins the same component versions for the arp-jarvis meta package.

Decision: Mode B / per-service GHCR images. Each JARVIS component repo publishes a GHCR image on vX.Y.Z tags. This repo consumes those images via Docker Compose and pins the references in stack.lock.json.

Quickstart (CLI-first, dev-secure-keycloak)

  1. Copy the env template:

Default (dev-secure-keycloak):

cp compose/.env.example compose/.env.local

Dev-insecure (no inbound JWT):

cp compose/.env.example.insecure compose/.env.local

Optional (dev-insecure, macOS/Linux or WSL) one-command bring-up:

bash ./start_dev.sh \
  --llm-api-key "<your_openai_api_key>" \
  --llm-chat-model "gpt-4.1-mini"
  1. Configure the LLM (required for Selection Service + Composite Executor):
  • Set ARP_LLM_API_KEY and ARP_LLM_CHAT_MODEL in compose/.env.local.
  • OpenAI is the default profile; ARP_LLM_PROFILE=openai is optional.
  • For offline tests, you can opt into ARP_LLM_PROFILE=dev-mock (not the default).
  1. Install the meta CLI:
python3 -m pip install -e .
arp-jarvis versions

This installs the arp-jarvis CLI version from your local checkout, while the Docker images remain pinned separately via STACK_VERSION in compose/.env.local and stack.lock.json.

  1. Bring up the stack and verify wiring:
arp-jarvis stack pull
arp-jarvis stack up -d
arp-jarvis doctor
  1. If using dev-secure-keycloak (default), log in once:
arp-jarvis auth login

This is a browser/device flow. The CLI never asks for your password directly. For the default local realm, a dev user is pre-seeded; the credentials are only for the Keycloak login page during the browser step.

  1. Start a run:
arp-jarvis runs start --goal "Generate a UUID, then return it."

Notes:

  • Keycloak is exposed on http://localhost:8080 (issuer default).
  • Run Gateway is exposed on 8081. Run Coordinator is exposed on 8082 (configure via RUN_COORDINATOR_HOST_PORT).
  • If you change KEYCLOAK_HOST_PORT, update ARP_AUTH_ISSUER in compose/profiles/dev-secure-keycloak.env.
  • dev-insecure disables inbound JWT checks but still runs Keycloak for service-to-service token exchange.
  • Node Registry runs with ARP_AUTH_MODE=optional to allow Selection Service calls (current Selection client does not attach bearer tokens).

Docker Compose fallback (no CLI)

docker compose --env-file compose/.env.local -f compose/docker-compose.yml up -d
curl -s http://localhost:8081/v1/health

Stack profiles

Set STACK_PROFILE in compose/.env.local to one of:

  • dev-secure-keycloak (default)
  • dev-insecure
  • enterprise (template only)

Meta CLI (arp-jarvis)

Convenience commands for interacting with the running stack:

arp-jarvis doctor
arp-jarvis auth login
arp-jarvis nodes list
arp-jarvis runs start --goal "Generate a UUID, then return it."

Compose wrapper (does not replace docker compose):

arp-jarvis stack up -d --print-command

You can also invoke component CLIs via arp-jarvis:

arp-jarvis run-gateway --help
arp-jarvis run-coordinator --help
arp-jarvis atomic-executor --help

Repo layout

JARVIS_Release/
  stack.lock.json
  compose/
    docker-compose.yml
    .env.example
    profiles/
      dev-secure-keycloak.env
      dev-insecure.env
      enterprise.env
    keycloak/
      realm-arp-dev.json
  assets/ (diagrams, logos)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arp_jarvis-0.3.4.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arp_jarvis-0.3.4-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file arp_jarvis-0.3.4.tar.gz.

File metadata

  • Download URL: arp_jarvis-0.3.4.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arp_jarvis-0.3.4.tar.gz
Algorithm Hash digest
SHA256 7f7676dfc6f6753e89e3ea4f7871bc6a8e1d8bca2dd8b99c08722b0d90676e82
MD5 5e11e69d5ed85f35cb986dfeb8cfc72f
BLAKE2b-256 0058bdc5c0852006b37e875a9f8fee348293e0e65e3009fd19c07b2e74e05790

See more details on using hashes here.

Provenance

The following attestation bundles were made for arp_jarvis-0.3.4.tar.gz:

Publisher: publish.yml on AgentRuntimeProtocol/JARVIS_Release

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arp_jarvis-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: arp_jarvis-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arp_jarvis-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 eff2159a0a7eb8e0dee303e2c4615de3e25214b807c3e4b62101c1d138ae5ad7
MD5 2e3914bfdb53ce19e3ef0e4cdc8f14fb
BLAKE2b-256 dc2fb5241c1ae3906e278a511b1fc75c8b29c73334714036f5bbbb4d4c78c711

See more details on using hashes here.

Provenance

The following attestation bundles were made for arp_jarvis-0.3.4-py3-none-any.whl:

Publisher: publish.yml on AgentRuntimeProtocol/JARVIS_Release

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page