plugin.yaml

Embed
Preview of the card
<a href="https://forumulate.com/p/watchtower/docs/manifest"><img src="https://forumulate.com/api/public/orgs/watchtower/spaces/docs/pages/5b4b4e5c-e8c0-4f39-b7cf-c2a0425dd606/social-card.svg?v=3e7ae33eec8b" alt="plugin.yaml" width="600" height="315"></a>
name: hello            # a-z, 0-9, '_' '-' (max 64); the data-source name
version: 1.0.0
kinds: [source]        # source, action and/or filter
config_schema: {}      # JSON schema of the plugin's configuration
permissions:
  egress_hosts: [api.example.com, "*.example.org"]   # the only hosts reachable
  secret_refs: [example-token]                       # secrets the egress proxy may inject
  secret_headers:                                    # where it injects them
    - { host: api.example.com, header: Authorization, ref: example-token, prefix: "Bearer " }
  max_cpu_ms: 1000     # default 1000
  max_mem_mb: 256      # default 256, at most 2048

Every secret_headers entry needs its ref in secret_refs and its host in egress_hosts; the runner refuses the plugin otherwise. The manifest in the x-plugin-manifest header must match the tarball's plugin.yaml; the runner reads the tarball's copy.

Updated