|
| 1 | +--- |
| 2 | +title: Register a hosted node |
| 3 | +--- |
| 4 | + |
| 5 | +# Register a hosted node |
| 6 | + |
| 7 | +Open Pulse can be self-hosted. To make your instance discoverable from |
| 8 | +the project landing page, drop a YAML descriptor under `nodes/`. CI |
| 9 | +regenerates `docs/data/nodes.json` and the landing automatically |
| 10 | +renders your card on next deploy. |
| 11 | + |
| 12 | +## Quick path — node builder |
| 13 | + |
| 14 | +A static, browser-only form at |
| 15 | +[`/node-builder/`](https://sdsc-ordes.github.io/open-pulse/node-builder/) |
| 16 | +walks through the schema, previews the YAML live, and opens GitHub's |
| 17 | +"new file" editor with the YAML pre-filled — no clone needed. |
| 18 | + |
| 19 | +Workflow: |
| 20 | + |
| 21 | +1. Open the [node builder](https://sdsc-ordes.github.io/open-pulse/node-builder/). |
| 22 | +2. Fill in the form (name, URL, institution, …). The right-hand pane |
| 23 | + shows the YAML you'd commit. |
| 24 | +3. Click **Open PR on GitHub** → lands you in the file editor at |
| 25 | + `github.com/sdsc-ordes/open-pulse/new/main/nodes/<slug>.yaml`. |
| 26 | +4. Review, commit, open the PR. Maintainers merge it; the next |
| 27 | + docs-pages-deploy publishes your card. |
| 28 | + |
| 29 | +## Manual path |
| 30 | + |
| 31 | +If you'd rather work from a clone: |
| 32 | + |
| 33 | +```bash |
| 34 | +cp nodes/epfl.yaml nodes/<your-slug>.yaml |
| 35 | +$EDITOR nodes/<your-slug>.yaml |
| 36 | +node scripts/build-nodes.mjs # regenerates docs/data/nodes.json |
| 37 | +``` |
| 38 | + |
| 39 | +Open a PR with the new YAML (and the regenerated JSON, though CI will |
| 40 | +also re-run the script before deploy). |
| 41 | + |
| 42 | +## Schema |
| 43 | + |
| 44 | +See [`nodes/README.md`](https://github.com/sdsc-ordes/open-pulse/blob/main/nodes/README.md) |
| 45 | +for the field-by-field reference. |
| 46 | + |
| 47 | +| Field | Required | Example | |
| 48 | +| --- | --- | --- | |
| 49 | +| `name` | yes | `EPFL` | |
| 50 | +| `institution` | yes | `EPFL Open Science` | |
| 51 | +| `location` | yes | `Lausanne, Switzerland` | |
| 52 | +| `flag` | no | `🇨🇭` | |
| 53 | +| `url` | yes | `https://openpulse.epfl.ch` | |
| 54 | +| `status` | yes | `live` / `beta` / `coming-soon` | |
| 55 | +| `description` | yes | One- or two-sentence pitch. Multi-line block scalars are supported. | |
| 56 | +| `contact` | no | Email or handle of the maintainer. | |
0 commit comments