platagno is the open source orchestrator that sits above your tools instead of replacing them. Write one workload spec — pluggable providers route it to Terraform, Crossplane, Ray, MLflow, or whatever you actually run. AI agents submit through the same path as humans, behind approval gates, with a full audit trail.
Split the platform landscape along its real axes and a gap appears: closed-source platforms do agent support well but you can't self-host or extend them; open source gives you great building blocks that nobody assembled; and ML orchestration is bolted on everywhere. platagno is built on the one point where all three overlap.
Humanitec, Qovery and friends solve orchestration — but they're proprietary, and agent support sits behind a paywall you can't inspect or extend.
Kratix, Crossplane, Backstage are excellent pieces. But nobody assembled them into one platform, and none treat AI agents as first-class users.
One open spec for services and ML workloads, pluggable everything underneath, and agents as first-class platform users with scoped identity, approval gates and an audit trail.
A boring, deterministic Kubernetes operator resolves your spec through a fixed plugin contract. The core never knows which cloud or framework it's talking to — that's the point.
apiVersion: platform.platagno.io/v1 kind: Workload metadata: name: checkout spec: containers: web: image: ghcr.io/acme/checkout:1.4.0 service: ports: [{port: 80, targetPort: 8080}] resources: db: type: postgres # → Crossplane or Terraform, your call cost: cost_center: team-payments
apiVersion: platform.platagno.io/v1 kind: MLWorkload metadata: name: fraud-model-training spec: framework: ray # or mlflow · kubeflow · metaflow type: ml-cluster resources: workers: 4 gpu_per_worker: 1 runtime_config: # opaque to core, owned by the plugin entrypoint: "python train.py"
Agents hold scoped identities that can propose workloads but never self-approve. Risk-tiered approval gates decide: auto-approve low risk, hold high risk for a human. Every decision is a queryable audit record.
Ray clusters, MLflow model serving — one generic MLWorkload contract (submit / status / scale / teardown). The core treats ML like any other workload; plugins speak each framework's language.
Map a resource type to a Terraform/OpenTofu module or a Crossplane claim in one YAML entry — no recompiling. Your state, your Compositions, your clouds.
Kyverno/OPA admission policies extend the approval-gate model to all submitters — humans, CI, and agents obey the same rules. Example policies ship in the repo.
Specs carry cost attribution that propagates as pod labels for OpenCost aggregation. No billing engine in the core — ever.
Backstage-compatible out of the box via standard labels — no custom portal, no custom Backstage plugin required. Secrets stay backend-agnostic (Vault, ESO, SOPS, CSI).
| Capability | platagno | Humanitec | Kratix | Backstage | Score |
|---|---|---|---|---|---|
| Open source | ✓ | ✗ closed core | ✓ | ✓ | spec only |
| Self-hostable, no SaaS dependency | ✓ | partial | ✓ | ✓ | n/a |
| Cloud / vendor agnostic | ✓ | partial | ✓ | n/a | ✓ |
| Framework-agnostic ML orchestration | ✓ | ✗ | ✗ | ✗ | ✗ |
| AI agents as first-class platform users | ✓ | proprietary | ✗ | ✗ | ✗ |
Apache 2.0, Kubernetes-native, installs with one Helm command. The plugin interface is the product — writing a provider for your cloud or ML framework is the easiest way to contribute.