DevelopersDeploymentSourcesNative

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.