Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Add a source

A source is one file in sources/ of the configuration folder. Adding one changes no program.

  1. Write ~/.config/sandcastle/sources/<name>.yaml:

    name: recipes
    destination:
      address: https://recipes.example.com/api/worker
      secret: recipes
    poll_interval: 30s
    capabilities: [claude]
    max_jobs_per_hour: 30
    job_timeout: 6m
    

    Every key is required; each is in config.yaml. List in capabilities only what this source needs.

    If the source lives inside your network, add internal: as in Reach a service inside your network.

  2. Set the token the source gave you:

    sandcastle secret set recipes
    
  3. Restart the three pieces. The gate makes its list of names from the configuration when it starts, the keep its destinations, and the core its sources:

    systemctl --user restart sandcastle.target
    

    A job running at that moment is stopped.

  4. Check:

    sandcastle check
    

    You want ok source recipes: reachable, <n> waiting. Any other line is in Check messages.

Remove a source

  1. Delete its file in sources/.
  2. Restart sandcastle.target: systemctl --user restart sandcastle.target.
  3. Delete its secret: sandcastle secret rm recipes.