Cloud Connections
Orkestia reaches every cloud the same way it reaches AWS: through an organization-scoped connection — a grant you create in your account, scoped to what workflows actually need, revocable at any time. AWS Connections has its own section because the cross-account IAM role model deserves a full walkthrough; this section covers the other live providers, which follow the same pattern with provider-native credentials and grants.
The one pattern to learn
Every provider connection works the same way operationally:
- The workflow tells you what it needs. When a workflow's schema reports
has_prerequisites: true, the prerequisites call (get_workflow_prerequisitesover MCP, or the equivalent dashboard flow) returns a setup guide with Orkestia's platform identity already filled in — you grant exactly the trust required, nothing broader. - You create the grant in your account — a service-account key or workload-identity grant on GCP, an app registration/service principal on Azure, an API key on Magalu, a kubeconfig/service-account on Kubernetes.
- The connection is stored org-scoped and resolved automatically at run time. Workflows never take credentials in their inputs; they name the connection they need.
- Revoking the grant stops the work. Access is delegated, never copied — the Zero Code Custody boundary expressed operationally.
Live providers
| Provider | Grant mechanism | Unlocks | Guide |
|---|---|---|---|
| AWS | Cross-account IAM role | The deepest port (~480 workflows) | Own section |
| GCP | Service account / workload identity | gcp.* — Compute, GKE, Cloud Run, Cloud SQL, BigQuery, billing | GCP |
| Azure | Service principal (app registration) | azure.* — AKS, ACR, compute, networking, Key Vault | Azure |
| Magalu Cloud | API key | mgc.* — compute, Kubernetes, DBaaS, LBaaS, object storage | Magalu |
| Kubernetes | Cluster credential / service account | kubernetes.* — any conformant cluster, cloud-agnostic | Kubernetes |
| DigitalOcean | API token | Runner capacity (do_app_job, do_droplet) | DO App Job · DO Droplet |
| DNS providers | Provider grant (Cloudflare, Route 53, Google Cloud DNS, Vercel) | Zones, records, custom domains | Own section |
| GitHub | App / OAuth grant | github.* — repos, pulls, checks, runner registration | Purposes · Runner management |
| TypeSafe | Bearer API key | typesafe.systemone.evaluate — typed choice / score / noul decisions, not chat | TypeSafe · Typed decisions |
Managing connections
Connections are managed like any other org resource: list and validate them from the dashboard, rotate the underlying credential on your side (connection.rotate exists as a workflow for exactly this), and delete a connection to sever the grant. Because workflows reference connections, deleting one cleanly breaks the workflows that depend on it — nothing keeps working on a cached credential.
