The versioned, importable community standard for the ONT platform API surface.
Published at ontai.dev/schema/v1alpha1.
This repository contains the ONT OpenAPI JSON Schema specification: a complete, versioned definition of every CRD and reusable type in the ONT platform stack.
The schema covers four layers:
- shared: Reusable types embedded in CRD specs (SealedCausalChain, BindingStability, PhaseModel, RationaleField, GovernanceEvent, KubernetesMetadata).
- domain-core: Layer 0 abstract domain primitives under
core.ontai.dev(DomainIdentity, DomainBoundary, DomainPolicy, DomainRelationship, DomainEvent, DomainWorkflow, DomainResource, DomainAudit, DomainSemanticNameService). - seam-core: Infrastructure domain CRDs under
infrastructure.ontai.dev(InfrastructureLineageIndex, InfrastructureTalosCluster, InfrastructureRunnerConfig, InfrastructurePackReceipt, InfrastructureClusterPack, InfrastructurePackExecution, InfrastructurePackInstance, InfrastructurePackBuild, DriftSignal, InfrastructurePolicy, InfrastructureProfile, SeamMembership, DSNSZone). Supersedes infra.ontai.dev (ClusterPack, PackExecution, PackInstance, PackBuild), runner.ontai.dev (RunnerConfig, PackReceipt), and platform.ontai.dev/TalosCluster. Migration complete Phase 2B, 2026-04-25. - app-core: Application layer CRDs under
app.ontai.dev(AppBoundary, AppIdentity, AppPolicy, AppTopology, AppEventSchema, AppWorkflow, AppResourceProfile, AppAuditPolicy, AppProfile).
This is a publication artifact, not an implementation artifact. Community operators import individual schemas or the full index to validate instances, generate clients, or declare compatibility.
Reference any schema by its $id URI in another JSON Schema document:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"domainIdentityRef": {
"$ref": "https://schema.ontai.dev/v1alpha1/domain-core/DomainIdentity.json"
}
}
}The index document is not a JSON Schema; it is a registry of all schemas in this release. Load it to enumerate available schemas and resolve file paths:
GET https://schema.ontai.dev/v1alpha1/index.jsonThe index has the following shape:
{
"version": "v1alpha1",
"publishedAt": "2026-04-18",
"stability": "alpha",
"layers": {
"shared": [ { "kind": "...", "file": "...", "stability": "...", "description": "...", "dependsOn": [] } ],
"domain-core": [ ... ],
"seam-core": [ ... ],
"app-core": [ ... ]
}
}Each file path is relative to v1alpha1/.
| Layer | API Group | Description |
|---|---|---|
| shared | (reusable types) | Embedded types used by CRDs in all layers |
| domain-core | core.ontai.dev/v1alpha1 |
Layer 0 abstract domain primitives, no controllers |
| seam-core | infrastructure.ontai.dev/v1alpha1 |
All cross-operator CRDs managed by Seam operators (Decision G). Supersedes infra.ontai.dev and runner.ontai.dev. |
| app-core | app.ontai.dev/v1alpha1 |
Application layer CRDs for community operators |
Cross-layer references always follow the dependency direction:
app-core -> seam-core -> domain-core -> shared
^
domain-core
No schema may reference a layer above itself in this hierarchy.
Every schema carries an x-ont-stability extension field:
| Value | Meaning |
|---|---|
alpha |
Schema is under active development. Breaking changes may occur. |
beta |
Schema is feature-complete. Breaking changes require deprecation notice. |
stable |
Schema is production-ready. No breaking changes without a major version. |
deprecated |
Schema is superseded. Consumers must migrate before the next major. |
All schemas in v1alpha1 carry "x-ont-stability": "alpha".
Community operators that wish to register a new domain CRD schema follow this process:
- Fork this repository.
- Create a new schema file under the appropriate layer directory following the
structure defined in the existing schemas. Every schema must include:
$schema,$id,title,descriptionx-ont-layer,x-ont-stability,x-ont-depends-ontype: objectwithrequired,properties, andadditionalProperties: false- A
metadataproperty using$reftoshared/KubernetesMetadata.json
- Reference only schemas that exist in this release. No forward references.
- Add an entry to
v1alpha1/index.jsonin the appropriate layer array. - Validate every new and modified schema file against JSON Schema Draft 2020-12
using
ajv --spec=draft2020or equivalent before submitting. - Submit a pull request. The pull request requires sign-off from a senior engineer in the ONT platform team validation framework before merge.
New rationale vocabulary values for SealedCausalChain.creationRationale require
a Pull Request to the seam-core repository (pkg/lineage/rationale.go) and
Platform Governor review. The vocabulary in this schema is generated from that
enumeration and updated in sync.
- Schema versions follow the Kubernetes API versioning convention:
v1alpha1,v1beta1,v1. - A new version directory (
v1beta1/) is introduced when any schema reachesbetastability. - Within a version, new optional fields may be added without a version bump.
- Any field removal, type change, or required field addition requires a new version.
- The
index.jsonat each version root is the stable entry point for that version.
Apache License 2.0. See LICENSE for the full text.
You may use, modify, and distribute these schemas for any purpose including commercial use. You must include the original copyright notice and state any changes you make. You may not use the ONT project name or contributors names to endorse derived products.
Schemas marked x-ont-stability: "alpha" may change without notice between patch releases. Pin to a specific git commit if you need stability.
When a schema advances to "beta", changes require a deprecation notice in CHANGELOG.md at least one release before removal.
When a schema advances to "stable", changes require a new version directory (v1beta1, v1) and the previous version is maintained for at least six months.
ONT is open source under the Apache 2.0 license. To contribute a schema for a new domain CRD:
- Fork this repository
- Add your schema file under v1alpha1/{your-layer}/
- Follow the four-part schema structure defined in this README
- Reference only existing shared/ and domain-core/ schemas
- Add your schema to v1alpha1/index.json
- Include a senior engineer sign-off in the pull request description confirming the schema correctly represents the domain knowledge
- Submit a pull request
Community schemas that represent real production domains are the highest-value contributions. See the ONT Operator Validation Framework at ontai.dev for the sign-off process.
Visit https://schema.ontai.dev to browse the schema index in a human-readable format.