Common model
A Form defines resource settings and behavior. A Form Package distributes the definition. A Snapshot collects verified packages and their references.
Formats and verification rules do not vary by publisher. This guide is non-normative; precise requirements are in the reference.
Identify a definition
| Field | Meaning |
|---|---|
| Form Family namespace | A publisher-managed reverse-DNS name, without a version or / |
| FormRef | apiVersion, kind, definitionVersion and schemaDigest |
definitionVersion | Compatibility version of a Form's settings and behavior |
schemaDigest | Digest of the Form Definition canonicalized using RFC 8785 |
packageDigest | Package index digest; not part of FormRef |
Changing the namespace changes the definition and its digest, producing a different Form.
Main data types
- Form Definition describes identity and desired, observed and output formats.
- Form Package collects one definition and its declared files, without executable code.
- Snapshot is built from verified data and references independently of input order. It is immutable after construction. Failed verification does not return a partial Snapshot.
- Interface and Binding describe operations and capabilities for resource connections. References identify definitions by digest rather than inferring behavior from names.
- Artifact identifies manifests and binary data by content digest. The digest itself is neither access permission nor a credential.
- Standard Services describe references to external protocols; actual delivery belongs to the Host.
- Trust and revocation verify distribution provenance under caller-supplied trust policy.
How versions relate
Host API and Form definitions have separate compatibility axes. Core and Provider have their own implementation release streams.
| Subject | What the version describes |
|---|---|
| Host API | API compatibility; currently forms.takoform.com/v1 |
| Form definition | Settings and behavior of each Form, identified by definitionVersion |
| Core | Go library and CLI releases; currently v1.1.0 |
| Provider | Releases of the Terraform / OpenTofu implementation |
Updating Core or Provider does not automatically change an API or Form identity. Schema/package $id values, Interface/Binding references and trust records do not add further API/Form version axes. Host API has no minor-version URL.
Publishers and Hosts
Core has no preferred-publisher list or official flag. Users and operators supply a policy stating which publishers they trust.
Package verification, Host installation, support, activation and commercial availability are separate. Check the conditions required by the Host you will use.
Read next
- Getting started — verify packages and build a Snapshot.
- Host API overview — resource management APIs.
- Versioning and compatibility — detailed rules.
- Glossary — terminology.