diff --git a/docs/run/running-a-hyperbeam-node.md b/docs/run/running-a-hyperbeam-node.md index a0689c4b4..65098ee2f 100644 --- a/docs/run/running-a-hyperbeam-node.md +++ b/docs/run/running-a-hyperbeam-node.md @@ -248,3 +248,4 @@ To stop the node running *within the `rebar3 shell`*, press `Ctrl+C` twice or us * **Configure Your Node:** Deep dive into [configuration options](./configuring-your-machine.md). * **TEE Nodes:** Learn about running nodes in [Trusted Execution Environments](./tee-nodes.md) for enhanced security. * **Routers:** Understand how to configure and run a [router node](./joining-running-a-router.md). +* **Scheduler Device:** Learn how to [set up a Scheduler device](./setting-up-a-scheduler-device.md) to announce your node as an AO scheduler. diff --git a/docs/run/setting-up-a-scheduler-device.md b/docs/run/setting-up-a-scheduler-device.md new file mode 100644 index 000000000..47923151b --- /dev/null +++ b/docs/run/setting-up-a-scheduler-device.md @@ -0,0 +1,37 @@ +# Setting Up a Scheduler Device + +This guide is for operators who are already running a production HyperBEAM node and want to register it as an AO scheduler. + +## Prerequisites + +If you started your node using the default device list in [hb_opts.erl](../../src/hb_opts.erl), both `~location@1.0` and `~scheduler@1.0` are already onboarded — no additional configuration is required to enable them. + +## Announcing Your Scheduler Location + +To register your node as a scheduler on the AO network, you need to call the `~location@1.0` device endpoint **from the node host itself** (i.e. run the command on the same machine running HyperBEAM). This ensures the request originates from the correct origin. + +Run the following curl command on your node host (Linux/Mac): + +```bash +curl -sS -H 'Accept: application/json' http://127.0.0.1:8734/~location@1.0/node +``` + +### What Success Looks Like + +A successful call returns an **HTTP 200 OK** response from `~location@1.0` in the node logs and will give you some details in your local console. This publishes a transaction to the network announcing your scheduler's location. + +## Emitted Transaction Tags + +The published transaction should include tags similar to the following: + +``` +data-Protocol: ao +variant: ao.N.1 +type: location +url: https://your-node-domain.example.com +nonce: +time-to-live: TTL +codec-device: Codec +``` + +> **Note:** The `url` field should point to your node's publicly accessible address (for example, `https://push.forward.computer`). The `nonce` value is generated automatically. diff --git a/docs/theme/templates/base.html b/docs/theme/templates/base.html index 29b176fe0..7e110888f 100644 --- a/docs/theme/templates/base.html +++ b/docs/theme/templates/base.html @@ -664,7 +664,7 @@