From 8d60411e498a09ceee90110c959cdf0937387f8d Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sat, 7 Mar 2026 10:37:28 -0500 Subject: [PATCH] Add Integrations and Deployment stub pages to docs sidebar Add Integrations group (GitHub, Daytona, Slack, exe.dev, Brave Search) to Documentation tab above Reference. Replace generic Deployment page with platform-specific stubs (Railway, Render, Fly.io, Digital Ocean) in the Guides tab. Co-Authored-By: Claude Opus 4.6 --- docs/administration/deploy-digital-ocean.mdx | 6 ++ docs/administration/deploy-fly-io.mdx | 6 ++ docs/administration/deploy-railway.mdx | 6 ++ docs/administration/deploy-render.mdx | 6 ++ docs/administration/deployment.mdx | 108 ------------------- docs/docs.json | 16 ++- docs/integrations/brave-search.mdx | 6 ++ docs/integrations/daytona.mdx | 6 ++ docs/integrations/exe-dev.mdx | 6 ++ docs/integrations/github.mdx | 6 ++ docs/integrations/slack.mdx | 6 ++ 11 files changed, 69 insertions(+), 109 deletions(-) create mode 100644 docs/administration/deploy-digital-ocean.mdx create mode 100644 docs/administration/deploy-fly-io.mdx create mode 100644 docs/administration/deploy-railway.mdx create mode 100644 docs/administration/deploy-render.mdx delete mode 100644 docs/administration/deployment.mdx create mode 100644 docs/integrations/brave-search.mdx create mode 100644 docs/integrations/daytona.mdx create mode 100644 docs/integrations/exe-dev.mdx create mode 100644 docs/integrations/github.mdx create mode 100644 docs/integrations/slack.mdx diff --git a/docs/administration/deploy-digital-ocean.mdx b/docs/administration/deploy-digital-ocean.mdx new file mode 100644 index 000000000..a72e08334 --- /dev/null +++ b/docs/administration/deploy-digital-ocean.mdx @@ -0,0 +1,6 @@ +--- +title: "Digital Ocean" +description: "Deploy Arc to Digital Ocean" +--- + +Coming soon. diff --git a/docs/administration/deploy-fly-io.mdx b/docs/administration/deploy-fly-io.mdx new file mode 100644 index 000000000..c8522faa5 --- /dev/null +++ b/docs/administration/deploy-fly-io.mdx @@ -0,0 +1,6 @@ +--- +title: "Fly.io" +description: "Deploy Arc to Fly.io" +--- + +Coming soon. diff --git a/docs/administration/deploy-railway.mdx b/docs/administration/deploy-railway.mdx new file mode 100644 index 000000000..9b9c54f93 --- /dev/null +++ b/docs/administration/deploy-railway.mdx @@ -0,0 +1,6 @@ +--- +title: "Railway" +description: "Deploy Arc to Railway" +--- + +Coming soon. diff --git a/docs/administration/deploy-render.mdx b/docs/administration/deploy-render.mdx new file mode 100644 index 000000000..45922c600 --- /dev/null +++ b/docs/administration/deploy-render.mdx @@ -0,0 +1,6 @@ +--- +title: "Render" +description: "Deploy Arc to Render" +--- + +Coming soon. diff --git a/docs/administration/deployment.mdx b/docs/administration/deployment.mdx deleted file mode 100644 index 4eb166e44..000000000 --- a/docs/administration/deployment.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Deployment" -description: "Running Arc in production: TLS, systemd, health checks, and tuning" ---- - -## Binding and TLS - -By default, `arc serve` binds to `127.0.0.1:3000` (localhost only). For production, either: - -1. **Reverse proxy** — Keep the default binding and place nginx, Caddy, or an ALB in front: - -```nginx -upstream arc { - server 127.0.0.1:3000; -} - -server { - listen 443 ssl; - server_name arc.example.com; - - ssl_certificate /etc/tls/cert.pem; - ssl_certificate_key /etc/tls/key.pem; - - location / { - proxy_pass http://arc; - proxy_http_version 1.1; - - # Required for SSE event streams - proxy_set_header Connection ''; - proxy_buffering off; - proxy_cache off; - } -} -``` - -2. **Direct TLS** — Configure TLS in `server.toml`: - -```toml -[api.tls] -cert = "/etc/arc/tls/cert.pem" -key = "/etc/arc/tls/key.pem" -ca = "/etc/arc/tls/ca.pem" -``` - - -If you use a reverse proxy, set `api.base_url` in `server.toml` to the external URL so that API responses include correct links. - - -## Running as a service - -Example systemd unit: - -```ini -[Unit] -Description=Arc API Server -After=network.target - -[Service] -Type=simple -User=arc -WorkingDirectory=/opt/arc -EnvironmentFile=/opt/arc/.env -ExecStart=/opt/arc/bin/arc serve --host 0.0.0.0 --port 3000 --config /etc/arc/server.toml -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target -``` - -## Health checks - -The API server exposes a health endpoint at `GET /health` that returns `{"status": "ok"}`. No authentication is required. Use this for load balancer health checks, container orchestration probes, or uptime monitoring. - -```bash -curl http://localhost:3000/health -``` - -## Concurrency tuning - -| Setting | Default | Where | -|---|---|---| -| Max concurrent runs | 5 | `--max-concurrent-runs` or `max_concurrent_runs` in `server.toml` | -| Max parallel branches per node | 4 | `max_parallel` attribute on parallel nodes in DOT | -| Subagent depth | 1 | Hardcoded (subagents can spawn one level deep) | -| Max tool rounds per turn | 200 | Hardcoded | -| Default retries | 3 | `default_max_retry` graph attribute (or `max_retries` per node) | - -## Stall watchdog - -Arc cancels a run if no handler events are emitted for a configurable duration. This protects against hung agents or unresponsive LLM providers. - -| Setting | Default | Where | -|---|---|---| -| `stall_timeout` | `600s` (10 min) | Graph attribute: `graph [stall_timeout="300s"]` | - -Set to `0s` to disable: `graph [stall_timeout="0s"]`. - -## Log files - -Arc writes two kinds of logs: - -- **Application logs** — `~/.arc/logs/YYYY-MM-DD.log` (structured, controlled by `ARC_LOG`) -- **Run logs** — `~/.arc/logs/{run_id}/progress.jsonl` (one event per line) - -The logs directory is not currently configurable and has no automatic retention. For production, set up external log rotation (e.g. `logrotate`) or periodic cleanup of old run directories. - -See [Observability](/execution/observability) for the full event schema and analysis tools. diff --git a/docs/docs.json b/docs/docs.json index 72a97fe20..7c8ec5223 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -72,6 +72,17 @@ "agents/outputs" ] }, + { + "group": "Integrations", + "icon": "puzzle-piece", + "pages": [ + "integrations/github", + "integrations/daytona", + "integrations/slack", + "integrations/exe-dev", + "integrations/brave-search" + ] + }, { "group": "Reference", "icon": "book", @@ -120,7 +131,10 @@ "group": "Deployment", "icon": "server", "pages": [ - "administration/deployment" + "administration/deploy-railway", + "administration/deploy-render", + "administration/deploy-fly-io", + "administration/deploy-digital-ocean" ] } ] diff --git a/docs/integrations/brave-search.mdx b/docs/integrations/brave-search.mdx new file mode 100644 index 000000000..acdd52ae8 --- /dev/null +++ b/docs/integrations/brave-search.mdx @@ -0,0 +1,6 @@ +--- +title: "Brave Search" +description: "Give Arc agents web search capabilities via the Brave Search API" +--- + +Coming soon. diff --git a/docs/integrations/daytona.mdx b/docs/integrations/daytona.mdx new file mode 100644 index 000000000..ae502f5bf --- /dev/null +++ b/docs/integrations/daytona.mdx @@ -0,0 +1,6 @@ +--- +title: "Daytona" +description: "Run Arc workflows in sandboxed Daytona development environments" +--- + +Coming soon. diff --git a/docs/integrations/exe-dev.mdx b/docs/integrations/exe-dev.mdx new file mode 100644 index 000000000..fc4943364 --- /dev/null +++ b/docs/integrations/exe-dev.mdx @@ -0,0 +1,6 @@ +--- +title: "exe.dev" +description: "Connect Arc with exe.dev for cloud-based workflow execution" +--- + +Coming soon. diff --git a/docs/integrations/github.mdx b/docs/integrations/github.mdx new file mode 100644 index 000000000..3f65ca644 --- /dev/null +++ b/docs/integrations/github.mdx @@ -0,0 +1,6 @@ +--- +title: "GitHub" +description: "Integrate Arc with GitHub for repository access and pull request workflows" +--- + +Coming soon. diff --git a/docs/integrations/slack.mdx b/docs/integrations/slack.mdx new file mode 100644 index 000000000..ba3fa3b50 --- /dev/null +++ b/docs/integrations/slack.mdx @@ -0,0 +1,6 @@ +--- +title: "Slack" +description: "Send notifications and interact with Arc workflows from Slack" +--- + +Coming soon.