{"id":34910748,"url":"https://github.com/runtarahq/runtara","last_synced_at":"2026-05-28T00:02:12.174Z","repository":{"id":329132946,"uuid":"1116133765","full_name":"runtarahq/runtara","owner":"runtarahq","description":"Secure AI automation from workflow design to live operations.","archived":false,"fork":false,"pushed_at":"2026-05-22T12:45:19.000Z","size":16436,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-22T15:09:49.450Z","etag":null,"topics":["durable","durable-execution","nocode","rust","rust-crate","rust-lang","workflow-automation","workflow-engine","workflows"],"latest_commit_sha":null,"homepage":"https://runtara.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/runtarahq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"}},"created_at":"2025-12-14T09:10:26.000Z","updated_at":"2026-05-22T12:27:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/runtarahq/runtara","commit_stats":null,"previous_names":["runtarahq/runtara"],"tags_count":105,"template":false,"template_full_name":null,"purl":"pkg:github/runtarahq/runtara","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runtarahq%2Fruntara","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runtarahq%2Fruntara/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runtarahq%2Fruntara/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runtarahq%2Fruntara/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runtarahq","download_url":"https://codeload.github.com/runtarahq/runtara/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runtarahq%2Fruntara/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33588345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["durable","durable-execution","nocode","rust","rust-crate","rust-lang","workflow-automation","workflow-engine","workflows"],"created_at":"2025-12-26T11:10:55.638Z","updated_at":"2026-05-28T00:02:12.168Z","avatar_url":"https://github.com/runtarahq.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Runtara\n\n**Secure AI automation from workflow design to live operations.**\n\nRuntara is an end-to-end platform for building, running, and operating AI workflows. It brings workflow design, triggers, connections, operational data, files, reports, analytics, and durable execution into one workspace so teams can ship automations as production systems instead of loose prompt chains.\n\n## Local deployment using Docker Compose:\n\n``` bash\ncurl -fsSL https://raw.githubusercontent.com/runtarahq/runtara/refs/heads/main/docker-compose.yml \\\n    -o docker-compose.yml  \\\n    \u0026\u0026 FETCH_EXAMPLES=yes RUNTARA_PORT=3030 docker compose up\n```\n\nGo to **http://localhost:3030/ui** and it will have the platform and example workflows.\n\n\n[Website](https://runtara.com) | [Product docs](https://runtara.com/docs/runtara-platform) | [Runtara Cloud](https://tally.so/r/81qE5o)\n\n![Runtara workflow builder](docs/assets/readme/hero-workflow-builder-crop.png)\n\n## What Runtara Does\n\nRuntara gives builders and operators one product surface for AI automation:\n\n- **Workflows**: design agent steps, transformations, waits, child workflows, and completion paths in timeline and canvas views.\n- **Triggers**: start workflows from manual runs, chat, schedules, HTTP calls, and event-driven entry points.\n- **Connections**: manage provider credentials, storage targets, and shared integrations outside workflow definitions.\n- **Database**: model operational records such as catalogs, inventory, suppliers, support knowledge, and workflow-owned data.\n- **Files**: store files created or consumed by workflow runs.\n- **Reports**: publish narrative text, metrics, charts, tables, and reusable report definitions backed by Runtara data.\n- **Invocation history**: inspect executions across workflows and triggers.\n- **Analytics**: monitor usage, system health, rate limits, and execution trends.\n\n## Product Tour\n\n### Build Workflows As Operational Systems\n\nRuntara organizes workflows by operational area and keeps builders focused on the process they own. Workflow definitions include structure, versions, validation, history, and run context.\n\n| Workflow workspace | Timeline builder |\n| --- | --- |\n| ![Runtara workflow workspace organized by business area](docs/assets/readme/01-workflows-organized-operations.png) | ![Runtara workflow timeline builder](docs/assets/readme/02-workflow-timeline-builder.png) |\n\n### Start Workflows From Real Events\n\nTriggers let teams start automations from schedules, HTTP calls, and channel or event-driven entry points without duplicating workflow logic.\n\n![Runtara trigger automation catalog](docs/assets/readme/03-trigger-automation-catalog.png)\n\n### Connect Agents To Data And Systems\n\nConnections stay server-side. Workflow logic can use approved integrations and storage targets without embedding credentials in workflow definitions.\n\n| Connections | Operational records |\n| --- | --- |\n| ![Runtara integration connections catalog](docs/assets/readme/04-integration-connections.png) | ![Runtara object model records](docs/assets/readme/05-object-model-records.png) |\n\n### Publish Automation Outputs\n\nRuntara reports turn workflow outputs and object data into pages people can use: narrative summaries, metrics, charts, tables, and reusable report definitions.\n\n![Runtara category performance dashboard](docs/assets/readme/07-category-performance-dashboard.png)\n\n### Operate With Visibility\n\nInvocation history and analytics give operators a live view of workflow health, usage, rate limits, and execution trends.\n\n| Invocation history | Usage analytics |\n| --- | --- |\n| ![Runtara invocation history](docs/assets/readme/09-invocation-history.png) | ![Runtara usage analytics](docs/assets/readme/10-usage-analytics.png) |\n\n## Runtime Design\n\nRuntara combines the product surface above with runtime primitives for secure, durable AI automation:\n\n- **Sandboxed agent runs**: workflow logic executes inside WebAssembly isolation by default with no raw filesystem, network, or credential access.\n- **Credential mediation**: provider credentials remain server-side and are injected at the host boundary instead of being exposed to agents.\n- **Durable checkpoints**: long-running agent loops checkpoint after tool calls, resume after crashes, and avoid replaying completed work.\n- **Operational visibility**: reports, invocation history, analytics, files, and object data give teams a live surface for production automation.\n\nAt a high level, the Rust workspace is organized into three layers:\n\n```text\n┌──────────────────────────────────────────────────────────────────┐\n│  runtara-server                                                  │\n│  Full application server: workflows, connections, auth, MCP,     │\n│  channels, workers, file storage, object model                   │\n│  ┌────────────────────────────────────────────────────────────┐  │\n│  │  runtara-environment                                       │  │\n│  │  Management plane: image registry, instance lifecycle,     │  │\n│  │  runners (Wasm/OCI/Native/Mock), wake scheduling           │  │\n│  │  ┌──────────────────────────────────────────────────────┐  │  │\n│  │  │  runtara-core + runtara-sdk                          │  │  │\n│  │  │  Durable execution: checkpoints, signals, events,    │  │  │\n│  │  │  durable sleep, compensation                          │  │  │\n│  │  └──────────────────────────────────────────────────────┘  │  │\n│  └────────────────────────────────────────────────────────────┘  │\n└──────────────────────────────────────────────────────────────────┘\n```\n\n## Repository Contents\n\nThis repository contains the Rust implementation of the Runtara platform:\n\n- `crates/runtara-server`: application HTTP API, auth, workflows, connections, channels, MCP integration, file storage, object model, and background workers.\n- `crates/runtara-environment`: image registry, instance lifecycle, runners, and wake scheduling.\n- `crates/runtara-core`: durable runtime persistence for checkpoints, signals, events, and sleep.\n- `crates/runtara-sdk`: instance-side SDK used by compiled workflows.\n- `crates/runtara-workflows`: workflow compiler and validation pipeline.\n- `crates/runtara-dsl`: workflow and agent metadata types.\n- `crates/runtara-connections`: connection management, OAuth2, and rate limiting.\n- `crates/runtara-object-store`: schema-driven dynamic PostgreSQL object store.\n- `crates/runtara-agents`, `crates/runtara-ai`, and `crates/runtara-workflow-stdlib`: built-in agents, AI helpers, and workflow runtime support.\n- `docs`: architecture notes, DSL spec, deployment notes, and reference material.\n- `e2e`: shell-based end-to-end tests and sample workflows.\n- `dev`: local Docker Compose stack for development dependencies.\n\n## Quick Start\n\n### Prerequisites\n\n- Rust toolchain, stable, Edition 2024.\n- `wasm32-wasip2` target for default workflow compilation:\n\n```bash\nrustup target add wasm32-wasip2\n```\n\n- PostgreSQL for platform, environment, and core state.\n- A separate PostgreSQL database for the object model when running `runtara-server`.\n- Valkey or Redis for `runtara-server` checkpoint storage during workflow execution and MCP session recovery.\n- `crun` and Linux container support only if you enable the OCI runner.\n\n### Start The Local Runtime\n\nFor local development, use the included launcher:\n\n```bash\n./start.sh\n```\n\n`start.sh` runs `runtara-environment` with embedded `runtara-core`. See `./start.sh help` for supported environment variables.\n\nTo run the full application server directly:\n\n```bash\nexport RUNTARA_DATABASE_URL=postgres://localhost/runtara\nexport OBJECT_MODEL_DATABASE_URL=postgres://localhost/runtara_object_model\nexport VALKEY_HOST=localhost\ncargo run -p runtara-server --release\n```\n\nDefault local ports:\n\n| Component | Default port |\n| --- | --- |\n| `runtara-server` public API | `7001` |\n| `runtara-server` internal API | `7002` |\n| `runtara-environment` API | `8002` |\n| `runtara-core` instance API | `8001` |\n\n### Run With Docker\n\nEach release publishes a multi-arch (amd64 + arm64) server image to the GitHub\nContainer Registry: `ghcr.io/runtarahq/runtara` (tags `:X.Y.Z`, `:latest`, and\na rolling `:dev`).\n\n**Evaluating? One command brings up the whole stack:**\n\n```bash\ndocker compose up          # then open http://localhost:3000/ui\n```\n\nThe root `docker-compose.yml` starts the server image plus PostgreSQL and\nValkey, wired for password-free local auth so you land straight in the UI — no\nidentity provider to configure. It is a turnkey trial stack, not a production\ndeployment. The host port defaults to 3000; if it's taken, override it with\n`RUNTARA_PORT=3030 docker compose up`. (Before the first tagged release, use the\nrolling dev image: `RUNTARA_IMAGE_TAG=dev docker compose up`.)\n\n**Running the image yourself:** it contains `runtara-server` plus its bundled\ntoolchain and agent components — a server image, not all-in-one. Supply\nPostgreSQL, Valkey, and config via environment (same variables as a native\nrun); the `docker-compose.yml` above is the reference for the full set. All\nruntime state is written under `/data`, which is exposed as a volume.\n\n### Build And Test\n\n```bash\ncargo build\ncargo test\n```\n\nTarget specific crates when iterating:\n\n```bash\ncargo test -p runtara-core\ncargo test -p runtara-environment\ncargo test -p runtara-workflows\n```\n\nRun shell-based end-to-end checks:\n\n```bash\n./e2e/run_all.sh\n```\n\n## Workflow DSL\n\nRuntara workflows are described as JSON execution graphs. A minimal workflow:\n\n```json\n{\n  \"name\": \"Simple Passthrough\",\n  \"description\": \"A simple workflow that passes input directly to output\",\n  \"steps\": {\n    \"finish\": {\n      \"stepType\": \"Finish\",\n      \"id\": \"finish\",\n      \"inputMapping\": {\n        \"result\": {\n          \"valueType\": \"reference\",\n          \"value\": \"data.input\"\n        }\n      }\n    }\n  },\n  \"entryPoint\": \"finish\",\n  \"executionPlan\": [],\n  \"variables\": {},\n  \"inputSchema\": {},\n  \"outputSchema\": {}\n}\n```\n\nUseful references:\n\n- `docs/dsl_spec.json`\n- `crates/runtara-dsl/README.md`\n- `crates/runtara-workflows/README.md`\n\n## Development References\n\n- Full platform entry point: `crates/runtara-server`\n- Durable runtime: `crates/runtara-core`\n- Management plane: `crates/runtara-environment`\n- Workflow compiler: `crates/runtara-workflows`\n- Local development stack: `dev/README.md`\n- Proxy and deployment notes: `docs/reference/proxy/README.md`\n\n## License\n\nLicensed under `AGPL-3.0-or-later`.\n\nFor commercial licensing options, contact `hello@syncmyorders.com`.\n\nCopyright (C) 2025 SyncMyOrders Sp. z o.o.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruntarahq%2Fruntara","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruntarahq%2Fruntara","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruntarahq%2Fruntara/lists"}