Config Distribution Setup
Nylon’s distribution system allows you to manage network topology from a central source using signed and encrypted “bundles”.
graph TD
Admin[Admin] -- "nylon seal & upload" --> S3[("S3 Bucket / Web Server (central.nybundle)")]
subgraph "Nylon Mesh"
NodeA[Node A]
NodeB[Node B]
end
S3 -- "Fetch & Update" --> NodeA
S3 -- "Fetch & Update" --> NodeB
-
Generate a Distribution Keypair
Section titled “Generate a Distribution Keypair”First, generate a keypair specifically for distribution (separate from node keys).
Terminal window nylon key > dist.key 2> dist.pub -
Seal your Configuration
Section titled “Seal your Configuration”Sign and encrypt your
central.yamlinto a.nybundlefile.Terminal window nylon seal -c central.yaml -k dist.key -o central.nybundle -
Publish the Bundle
Section titled “Publish the Bundle”Host
central.nybundleon any HTTP/HTTPS server (e.g., GitHub Pages, S3, or Nginx). -
Configure Nodes
Section titled “Configure Nodes”Initial Bootstrap (
Section titled “Initial Bootstrap (node.yaml)”node.yaml)Nodes fetch their first central config using the
distblock:node.yaml dist:url: "https://your-server.com/central.nybundle"key: "<contents-of-dist.pub>"Automatic Updates (
Section titled “Automatic Updates (central.yaml)”central.yaml)Once bootstrapped, nodes poll the repositories defined in
central.yaml:central.yaml dist:key: "<contents-of-dist.pub>"repos:- "https://your-server.com/central.nybundle"Nylon polls for updates every 10 seconds and applies them.