{
  "markdown": "<div align=\"center\">\n  <img src=\"https://avatars.githubusercontent.com/u/207296579?s=200&v=4\" alt=\"Orion logo\" width=\"120\" height=\"120\">\n\n  # Orion\n\n  **Build services at AI speed on a consistent, governed foundation.**\n\n  Define the business logic in JSON. Orion supplies the runtime around it.\n\n  [![CI](https://github.com/GoPlasmatic/Orion/actions/workflows/ci.yml/badge.svg)](https://github.com/GoPlasmatic/Orion/actions/workflows/ci.yml)\n  [![Crates.io](https://img.shields.io/crates/v/orion-server.svg)](https://crates.io/crates/orion-server)\n  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n  [![Rust](https://img.shields.io/badge/rust-1.98+-orange.svg)](https://www.rust-lang.org)\n  [![Documentation](https://img.shields.io/badge/docs-docs.goplasmatic.io-blue.svg)](https://docs.goplasmatic.io/)\n  [![GitHub Release](https://img.shields.io/github/v/release/GoPlasmatic/Orion)](https://github.com/GoPlasmatic/Orion/releases)\n</div>\n\nOrion is a declarative services runtime. An Orion service consists of a\n**workflow** and a **channel**, with optional **connectors** to external systems.\nPost those definitions, activate them, and the service is live—without writing\nan application server, building a container for each service, or restarting the\nruntime.\n\nOrion consistently handles the surrounding infrastructure: routing, ingress\nguards, rate limits, timeouts, retries, circuit breakers, connection pooling,\nversion rollout, rollback, metrics, and tracing. Definitions can be written by\na developer or proposed by an AI assistant; they follow the same draft, test,\nactivation, and audit path.\n\n> [!NOTE]\n> Orion is designed for request- and event-shaped work expressible as ordered\n> task functions and JSONLogic. It is not a general-purpose application runtime\n> or a durable workflow engine. See [When Orion fits](#when-orion-fits) before\n> choosing it for a project.\n\n## Quickstart\n\nThis tested path uses Docker, `curl`, and a POSIX-compatible shell. It starts a\nlocal Orion instance, deploys an order-processing workflow and channel, and\ncalls the resulting API.\n\n### 1. Start Orion\n\n```bash\ndocker run --name orion-quickstart -d -p 8080:8080 \\\n  ghcr.io/goplasmatic/orion:latest\n\ncurl --retry 10 --retry-delay 1 --retry-connrefused \\\n  http://localhost:8080/healthz\n```\n\n### 2. Inspect and deploy the example\n\n```bash\ncurl -fsSLo /tmp/orion-quickstart.sh \\\n  https://raw.githubusercontent.com/GoPlasmatic/Orion/main/examples/quickstart.sh\nless /tmp/orion-quickstart.sh\nbash /tmp/orion-quickstart.sh\n```\n\nThe script makes four administration calls: it creates and activates a\nworkflow, then creates and activates its channel. It finishes with a test\nrequest and is safe to run again. From a cloned repository, run\n`./examples/quickstart.sh` instead.\n\n### 3. Call your service\n\n```bash\ncurl -fsS -X POST http://localhost:8080/api/v1/data/orders \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"data\": { \"order_id\": \"ORD-0001\", \"total\": 12500 } }'\n```\n\nThe response contains the parsed order with `\"flagged\": true`. The workflow\nholds the business logic; the channel exposes it at `POST /orders`. Routing,\nvalidation, tracing, and lifecycle management are supplied by Orion.\n\nFor expected output, troubleshooting, Windows-friendly installation paths, and\ncleanup instructions, follow the\n[complete quickstart](https://docs.goplasmatic.io/getting-started/quickstart.html).\n\n## The core model\n\n```mermaid\nflowchart LR\n    Request[\"HTTP request, Kafka record, or schedule\"] --> Channel\n    Channel[\"Channel<br/>route + ingress policy\"] --> Workflow\n    Workflow[\"Workflow<br/>ordered business logic\"] --> Connector\n    Connector[\"Connector<br/>external system\"]\n    Workflow --> Response[\"Response or stored trace\"]\n```\n\n| Primitive | Purpose | Example |\n|---|---|---|\n| **Channel** | Receives traffic and applies ingress policy | `POST /orders`, Kafka topic, `0 15 2 * * *` `order.placed` |\n| **Workflow** | Runs the business logic as an ordered task pipeline | Parse → validate → enrich → respond |\n| **Connector** | Provides a reusable connection to an external system | PostgreSQL, Redis, Kafka, REST API |\n\nThe definitions belonging to one service can be shipped together as a\n**package**. One Orion instance can run many packages side by side, each with\nits own lifecycle and rollout.\n\n[How Orion works](https://docs.goplasmatic.io/concepts/how-orion-works.html)\nexplains request execution, composition, deployment topology, and extension\nboundaries in one page.\n\n## What you can build\n\n- **Microservice and decision APIs:** expose transformations, validation,\n  pricing, eligibility, and routing decisions over HTTP.\n- **Webhook and data-ingestion services:** normalize incoming payloads and\n  read or write external systems through governed connectors.\n- **Kafka consumers:** process records, publish results, and route failed\n  messages to a dead-letter topic.\n- **AI-agent tools:** expose governed HTTP operations that an assistant can\n  draft, dry-run, activate, and roll back using the Orion CLI and agent skill.\n- **Scheduled jobs:** run a workflow on a cron expression instead of on a\n  request, with every scheduled instant recorded as a durable occurrence.\n- **Composable services:** call another channel in-process with `channel_call`,\n  while preserving the callee's guards and preventing cycles.\n\nChoose a focused path in\n[What are you building?](https://docs.goplasmatic.io/getting-started/use-cases.html),\nor deploy a tested package from [`examples/packages/`](examples/packages/).\n\n## Runtime capabilities\n\n| Area | Included capability |\n|---|---|\n| **Traffic** | REST, plain HTTP, synchronous and asynchronous channels, Kafka ingress, cron schedules |\n| **Safety** | Payload validation, API-key/HMAC/JWT channel auth, rate limiting, backpressure, CORS controls |\n| **Resilience** | Timeouts, retries, circuit breakers, idempotency, response caching, dead-letter handling |\n| **Delivery** | Drafts, immutable versions, dry-runs, percentage rollout, rollback, packages, WebAssembly plugins |\n| **Observability** | Health and readiness endpoints, Prometheus metrics, structured logs, OpenTelemetry traces |\n| **Data** | PostgreSQL, MySQL, SQLite, MongoDB, Elasticsearch, Redis, Kafka, HTTP, SMTP, S3-compatible storage |\n| **Operations** | Embedded SQLite for one node; PostgreSQL/MySQL and Redis for clustered replicas |\n\nConfiguration is explicit, and several production controls are permissive or\ndisabled for local development. In particular, data channels are open unless\nthey declare authentication or sit behind an authenticating proxy. Before\nexposing an instance, work through the\n[production checklist](https://docs.goplasmatic.io/operate/production-checklist.html).\n\n## Safe changes, including AI-generated ones\n\n```mermaid\nflowchart LR\n    Author --> Draft --> Validate --> DryRun[\"Dry-run\"] --> Activate --> Rollout --> Observe\n    Observe -->|problem| Rollback\n```\n\nWorkflow, channel, and connector definitions use the same governed lifecycle\nregardless of who authored them. A draft serves no traffic. You can validate\nand dry-run it, approve the exact version, activate it without restarting the\nserver, roll traffic out by percentage, and return to a previous immutable\nversion. Administrative changes are recorded in the audit log.\n\nFor AI-assisted authoring, install the [Orion agent\nskill](https://docs.goplasmatic.io/ai/skills.html) or use the self-contained\n[prompt pack](https://docs.goplasmatic.io/ai/prompt-pack.html). The\n[Claude Code tutorial](https://docs.goplasmatic.io/ai/claude-code.html) walks\nthrough a complete assisted workflow.\n\n## When Orion fits\n\nOrion fits services whose work starts with an HTTP request or Kafka record,\ncompletes as a bounded pipeline, and can be expressed with Orion's task\nfunctions and JSONLogic. It is especially useful when many small services need\nthe same operational and governance foundation.\n\nChoose another runtime, or pair one with Orion, when:\n\n- work must survive restarts at an intermediate step or wait hours or days;\n- ingress requires gRPC, WebSockets, or streaming responses;\n- business logic requires arbitrary code with I/O, or a scripting runtime — a\n  pure transformation ships as a sandboxed WebAssembly plugin, anything that\n  has to reach another system does not;\n- image processing, model inference, or large in-memory joins sit on the hot\n  path; or\n- full OIDC flows or mutual TLS must terminate inside the data plane. JWT\n  verification is built in; those flows require a gateway or service mesh.\n\nRead [Is Orion right for\nyou?](https://docs.goplasmatic.io/comparison.html) for detailed comparisons\nwith durable execution engines, API gateways, automation platforms, rule\nengines, and embedded `dataflow-rs`.\n\n## Install\n\nThe current workspace release is **1.7.0** and requires Rust **1.98** when built\nfrom source. The server and CLI are released in lockstep; use matching versions.\n\n```bash\n# Homebrew: macOS Apple Silicon and Linux\nbrew install GoPlasmatic/tap/orion-server\nbrew install GoPlasmatic/tap/orion-cli\n\n# Server from source\ncargo install --git https://github.com/GoPlasmatic/Orion --locked orion-server\n\n# Server and CLI from source\ncargo install --git https://github.com/GoPlasmatic/Orion --locked \\\n  orion-server orion-cli\n```\n\nRelease installers are also available for Linux, macOS Apple Silicon, and\nWindows. See [Install &\nRun](https://docs.goplasmatic.io/getting-started/install.html) for every method,\nplatform support, startup, and verification.\n\nUseful local commands:\n\n```bash\norion-server validate-config -c config.toml\norion-server fmt ./definitions\norion-server lint workflow.json\norion-server clippy ./definitions\norion-server dry-run -w workflow.json -i input.json\norion-server test examples/workflow-tests\norion-server compile ./definitions -o package.json\norion-server package apply -s http://localhost:8080 -f package.json\n```\n\nThe [server command\nreference](https://docs.goplasmatic.io/reference/configuration.html#cli-commands)\nand [Orion CLI reference](https://docs.goplasmatic.io/reference/cli.html) list\nall commands and flags.\n\n## Performance\n\nThe published Orion 1.0.0 benchmark measured **5.1K–5.7K workflow requests per\nsecond** on one Apple M2 Pro instance, with single-digit-millisecond average\nlatency across the recorded workflow scenarios. These are release- and\nworkload-specific results, not capacity guarantees. Review the\n[benchmark record](crates/orion-server/tests/benchmark/results/v1.0.0/SUMMARY.md)\nfor hardware, scenarios, tail latency, cluster results, and reproduction steps.\n\n## Documentation\n\nThe full manual is at **[docs.goplasmatic.io](https://docs.goplasmatic.io/)**.\n\n| Goal | Start here |\n|---|---|\n| Try Orion | [Quickstart](https://docs.goplasmatic.io/getting-started/quickstart.html) |\n| Understand the model | [How Orion works](https://docs.goplasmatic.io/concepts/how-orion-works.html) |\n| Build a complete service | [Orders API golden path](https://docs.goplasmatic.io/guides/orders-golden-path.html) |\n| Find an exact schema | [Reference index](https://docs.goplasmatic.io/reference/) |\n| Deploy and operate | [Operate Orion](https://docs.goplasmatic.io/operate/) |\n| Secure production | [Production checklist](https://docs.goplasmatic.io/operate/production-checklist.html) |\n| Upgrade safely | [Upgrades](https://docs.goplasmatic.io/operate/upgrades.html) |\n| Check compatibility | [Support & compatibility](https://docs.goplasmatic.io/reference/support.html) |\n\nThe documentation source lives in [`docs/src/`](docs/src/). Edit that directory,\nnot the generated `docs/book/` output. See [`docs/STYLE_GUIDE.md`](docs/STYLE_GUIDE.md)\nfor its structure and editorial conventions.\n\n## Project and community\n\n- [Orion UI](https://github.com/GoPlasmatic/Orion-ui) provides the browser-based\n  operations console.\n- [`orion-cli`](crates/orion-cli/) manages workflows, channels, connectors,\n  plugins and schedules from a terminal.\n- [`CONTRIBUTING.md`](CONTRIBUTING.md) covers development setup, tests, and pull\n  requests.\n- Use [GitHub Discussions](https://github.com/GoPlasmatic/Orion/discussions) for\n  questions and [GitHub Issues](https://github.com/GoPlasmatic/Orion/issues) for\n  bugs.\n- Report vulnerabilities privately according to [`SECURITY.md`](SECURITY.md).\n- If you use Orion, add your project to [`ADOPTERS.md`](ADOPTERS.md).\n\nOrion is built by [Plasmatic](https://goplasmatic.io) and released under the\n[Apache License 2.0](LICENSE).\n",
  "bytes": 12484,
  "sha": "66f959d6822c3d5d0fbf2764896f3e21b1ec4459605083c4d0e6b40b229cd157",
  "repo_slug": "goplasmatic/orion",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_goplasmatic_orion_b97ccf94/readme"
}