Orchestration and the Native Runner
Bring your own CI. Or run it here.
Cycloid isn’t a second CI/CD tool. Every Action runs on the built-in Native Runner or in the CI you already operate, and Cycloid tracks it all in one status view.
The second-CI tax
Adopting one more CI system is friction, not a feature
Most teams have already chosen their CI and built around it. A platform that insists on its own runner and its own pipelines adds cost in three places at once.
Nobody wants a second CI
Your teams standardised on GitHub Actions or GitLab CI. Adopting and securing one more runner is a tax, not a capability.
Infra and app pipelines live apart
The application runs in your CI, the infrastructure runs somewhere else, and the gap between them is exactly where a change slips through.
One run, five status screens
Work spreads across native execution, an external pipeline and a webhook or two. So does the status.
Cycloid for your team
What a coordination layer means for each reader
Orchestrate without running
a second CI
The problem
Every stack needing its own pipeline, and scaling and securing the runners, was your problem to carry.
With Cycloid
Actions run on the Native Runner or hand off to the CI you already operate. One coordination layer, not a fleet of pipelines to babysit.
The outcome
You orchestrate infrastructure without standing up a second CI system.
Run infrastructure and
watch it in one place
The problem
Infra runs in one tool, your app pipeline in another, and the status is never in one place.
With Cycloid
Trigger infrastructure from the same platform and watch it next to everything else, native run or external pipeline.
The outcome
One place to run it and see it, not a tab per tool.
Reuse the CI you've
standardised on
The problem
A second CI/CD system is more cost, more surface to secure and more to own.
With Cycloid
Keep GitHub Actions, GitLab CI, Jenkins or Azure DevOps. Cycloid coordinates them, it doesn’t compete with them.
The outcome
No rip-and-replace, and no new platform to justify to finance.
How it works
A coordination layer, not a runner war
01 · An Action declares its backend
Every Blueprint Action names where it runs, whether native, an external pipeline or an HTTP call.
02 · Native, your CI, or an HTTP call
The Native Runner runs Terraform, Ansible, Helm, scripts and Docker. Or the Action triggers GitHub Actions, GitLab CI, Jenkins or Azure DevOps.
03 · Credentials arrive at run time
Credentials are resolved on submit and injected when the step runs, never baked into a pipeline.
04 · Cycloid coordinates it
Whatever the backend, the platform tracks the state, handles retries and approval gates, and streams the logs.
05 · One status view
The Workflow Status Sync Engine pulls progress, logs and status into one view. A Terraform run and a GitLab pipeline read the same way.
Keep GitHub Actions or GitLab CI for what they’re good at. Cycloid bridges your pipelines, it doesn’t replace them, and it closes the gap between your app pipeline and your infrastructure without asking you to give up either. Splitting the scheduler from stateless workers is what lets the Native Runner scale without the worker headaches Concourse was known for.
The short version
Every backend, one view
8
built-in step types, Terraform to approval gates
5–10
deploys a day at Hotel Spider, once manual
1
status view, whatever ran the job
0
credentials baked into a pipeline
Why did last night’s staging deploy fail?

It ran on your GitHub Actions workflow and reported back here.
Run 4821 · deploy · staging
Failed
Backend
GitHub Actions
Failing stage
terraform-apply
Error: quota exceeded for resource type
instance in region fr-par-2 (requested 6, limit 4)
Working with your assistant
The assistant reads the logs, whichever engine wrote them
Does the assistant get its own permissions?
No. There’s no service account and no elevated assistant role. If you can’t deploy to production, neither can the assistant you’re talking to, in Cycloid’s own assistant or any compliant MCP host.
Your assistant triggers the Actions you declared and reads status and logs back from whatever ran them. A GitHub Actions run, a GitLab pipeline or the Native Runner. It isn’t a second way to run pipelines. It’s the same coordination layer with a conversation in front of it.
Anything consequential comes back as a preview of what will run and where, and it only runs once you say so.
“
I'd love to compare the number of deploys made on a Friday night before platform adoption, and after. I'd say it would be bigger by an order of magnitude.
Yannick Blondeau
CTO, Hotel Spider
Frequently asked questions
No. An Action can trigger your existing pipeline in GitHub Actions, GitLab CI, Jenkins or Azure DevOps, and Cycloid tracks it and streams the logs. The Native Runner is an option, not a mandate.
Terraform, Ansible, Helm, scripts, HTTP calls and Docker steps, across clouds and on-prem. Credentials are injected at execution, so nothing sits in a pipeline definition where it can leak.
Yes. The Native Runner deploys across clouds and on-prem, and the whole platform runs self-hosted or fully air-gapped. The sovereign page covers how that deployment works, starting from one docker compose up.
The Workflow Status Sync Engine pulls progress, logs and status from native runs, external CI and webhooks into one API and one UI. A native run and a GitLab pipeline read the same way.
One status view over every backend
Bring the pipeline you don’t want to rebuild. In twenty minutes we’ll run a Terraform Action on the Native Runner and trigger one of your existing pipelines, and show them both in the same view.



