{"id":20484162,"url":"https://github.com/standardweb3/ansible-role-substrate-deployer","last_synced_at":"2025-07-07T11:10:23.579Z","repository":{"id":45032618,"uuid":"378963180","full_name":"standardweb3/ansible-role-substrate-deployer","owner":"standardweb3","description":"Ansible Role used to deploy Substrate node.","archived":false,"fork":false,"pushed_at":"2022-03-31T09:11:22.000Z","size":76,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-16T04:26:02.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/standardweb3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-21T14:41:37.000Z","updated_at":"2022-04-21T07:31:51.000Z","dependencies_parsed_at":"2022-09-15T05:22:41.400Z","dependency_job_id":null,"html_url":"https://github.com/standardweb3/ansible-role-substrate-deployer","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardweb3%2Fansible-role-substrate-deployer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardweb3%2Fansible-role-substrate-deployer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardweb3%2Fansible-role-substrate-deployer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardweb3%2Fansible-role-substrate-deployer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/standardweb3","download_url":"https://codeload.github.com/standardweb3/ansible-role-substrate-deployer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242058218,"owners_count":20065066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T16:20:12.622Z","updated_at":"2025-03-05T16:18:43.330Z","avatar_url":"https://github.com/standardweb3.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Role: Substrate Node\n\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/digitalnativeinc/ansible-role-substrate-deployer)\n\nThis role deploys and sets up Substrate Node on a target Virtual Machine.\n\n**Note:** This role is still in active development. There may be unidentified issues and the role variables may change as development continues.\n\n## Requirements\n\n- Ansible \u003e= 2.7 (It might work on previous versions, but we cannot guarantee it)\n\n## Considerations\n\n- If downloading an archive, expectation is that it will contain only one binary and no other files, otherwise workflow will fail in unexpected ways.\n\n## Role Variables\n\nAll variables which can be overridden are stored in [defaults/main.yml](defaults/main.yml) and are listed in the table below.\n\n| Name                                     | Default Value            | Description                                                                       |\n| ---------------------------------------- | ------------------------ | --------------------------------------------------------------------------------- |\n| `substrate_node_install`                 | `true`                   | Set if you want to download release and replace it with existing if it differs.   |\n| `substrate_node_configure`               | `true`                   | Set if you want to do configuration part.                                         |\n| `substrate_node_version`                 | `0.0.9`                  | Version of the release to download and use. Also accepts latest as parameter.     |\n| `substrate_node_bin_dir`                 | `/usr/local/bin/`        | Folder where binary will be put.                                                  |\n| `substrate_node_bin_name`                | `opportunity-standalone` | Name of the binary and service to use.                                            |\n| `substrate_node_logging`                 | `syslog`                 | Logging to use with systemd - can be 'syslog' or 'file'.                          |\n| `substrate_node_restart`                 | `always`                 | Restart option for systemd service.                                               |\n| `substrate_node_logrotate_conf_enable`   | `true`                   | Enable logrotate config for log files. Needs `substrate_node_logging` == `\"file\"` |\n| `substrate_node_logrotate_conf`          | `redacted`               | Logrotate config, syntax available in defaults.                                   |\n| `substrate_node_role`                    | `Validator`              | Choose role for node: \"Validator\", \"Collator, \"RPC\"                               |\n| `substrate_node_bootnodes`               | ``                       | Supply a list of bootnodes if required                                            |\n| `substrate_node_friendly_name`           | `null`                   | Name which is used by the Telemetry service.                                      |\n| `substrate_node_data_dir`                | `/data`                  | Data directory in which chain state will be stored.                               |\n| `substrate_node_substrate_node_identity` | ``                       | Identity to be used by the node - \"alice\",\"bob\", etc.                             |\n| `substrate_node_use_root`                | `true`                   | Whether to use root as a Linux user for permissions/running binary.               |\n| `substrate_node_pruning`                 | ``                       | Pruning mode to use - archive or constained                                       |\n| `substrate_node_chain`                   | `opportunity`            | Chain to use by the node.                                                         |\n| `substrate_node_p2p_port`                | `30333`                  | libp2p port used by the node.                                                     |\n| `substrate_node_rpc_port`                | `9933`                   | HTTP RPC port used by the node.                                                   |\n| `substrate_node_rpc_external`            | `false`                  | Specify if we want to open up HTTP RPC outside of localhost/polkadot.js.          |\n| `substrate_node_ws_port`                 | `9944`                   | WebSocket port used by the node.                                                  |\n| `substrate_node_ws_external`             | `false`                  | Specify if we want to open up WebSocket RPC outside of localhost/polkadot.js.     |\n| `substrate_node_rpc_cors`                | ``                       | Specify list of origins for external RPCs or 'all'.                               |\n| `substrate_node_rpc_methods`             | ``                       | Specify RPC mode - Auto, Safe, Unsafe.                                            |\n| `substrate_node_prometheus_port`         | `9615`                   | Specify which port we want to use for Prometheus endpoint.                        |\n| `substrate_node_prometheus_disable`      | `false`                  | Specify if we want to disable Prometheus endpoint.                                |\n| `substrate_node_prometheus_external`     | `false`                  | Specify if we want to open up Prometheus outside of localhost/polkadot.js.        |\n\n## Installation\n\n### Ansible Galaxy\n\nUse `ansible-galaxy install standardtech_bot.substrate_deployer` to install the latest stable release of the role on your system.\n\n### Requirements file\n\nAdd it to the requirements file:\n\n```yaml\nroles:\n  - name: substrate_deployer\n    src: https://github.com/digitalnativeinc/ansible-role-substrate-deployer.git\n    version: 0.6.0\n```\n\nInstall requirements:\n\n```bash\nansible-galaxy install -r requirements.yml\n```\n\n## Playbook\n\nUse it in a playbook as follows:\n\n```yaml\n- hosts: all\n  roles:\n    - substrate_deployer\n  vars:\n    substrate_node_version: latest\n    substrate_node_role: \"Validator\"\n    substrate_node_friendly_name: \"Standard Validator\"\n    substrate_node_logging: \"file\"\n    substrate_node_data_dir: \"/data\"\n    substrate_node_rpc_port: 9933\n    substrate_node_bin_name: \"opportunity-standalone\"\n```\n\n## License\n\nThis project is licensed under MIT License. See [LICENSE](/LICENSE) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstandardweb3%2Fansible-role-substrate-deployer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstandardweb3%2Fansible-role-substrate-deployer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstandardweb3%2Fansible-role-substrate-deployer/lists"}