Skip to main content

Deployd API

The deployd-api-rs service is the deployment orchestrator for the Open Agentic Platform. It bridges the gap between the generated artifacts and the Kubernetes infrastructure.

Architecture

Originally a Node.js POC, deployd-api was rewritten in Rust (Spec 073) to leverage the platform's shared types and the hiqlite embedded Raft SQLite database for highly available, persistent state.

It exposes a REST API using the axum web framework.

Scope-Gated Orchestration

The primary security mechanism of deployd-api is scope-gated orchestration.

When a deployment request is received, the API inspects the Rauthy-issued JWT. It enforces the presence of the DEPLOYD_REQUIRED_SCOPE before taking any action. This ensures that only authorized CI/CD pipelines or users with explicit deployment grants can trigger changes to the cluster.

Chart Selector Wire Contract

deployd-api does not hardcode deployment logic. Instead, it relies on a Chart Selector wire contract.

When a deployment is triggered, the API selects the appropriate Helm chart based on the project's environment configuration and adapter type. It then orchestrates the Helm deployment, monitoring the rollout status and reporting back to the stagecraft service.

Running Locally

To run deployd-api locally:

cargo build --release --manifest-path platform/services/deployd-api-rs/Cargo.toml
./platform/services/deployd-api-rs/target/release/deployd-api-rs

The service listens on http://localhost:8080.