Native Sources
Native sources are used for blueprints that compile to native binaries and are fetched at runtime by the operator manager.
Requirements
The requirements for running native blueprints are available here
Format
Native sources are described by:
- A fetcher kind (GitHub, HTTP, IPFS)
- An artifact metadata payload (JSON, stored in the blueprint definition)
- A list of binaries (arch/os/name + digest), used for selection and verification
Artifact metadata payloads
GitHub fetcher (artifactUri JSON):
{
"owner": "org-or-user",
"repo": "my-blueprint",
"tag": "v0.1.0",
"binaries": [
{ "name": "my-blueprint", "arch": "amd64", "os": "linux", "sha256": "<32-byte-hex>" }
]
}Remote fetcher (artifactUri JSON):
{
"dist_url": "https://example.com/dist.json",
"archive_url": "https://example.com/archive.tar.xz",
"binaries": [
{ "name": "my-blueprint", "arch": "amd64", "os": "linux", "sha256": "<32-byte-hex>" }
]
}In practice, most teams generate these payloads via their build/release pipeline rather than hand-authoring them.