{"id":28472162,"url":"https://github.com/filecoin-project/sp-automation","last_synced_at":"2025-07-01T22:30:44.969Z","repository":{"id":180712573,"uuid":"665573517","full_name":"filecoin-project/sp-automation","owner":"filecoin-project","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-03T04:48:54.000Z","size":5407,"stargazers_count":8,"open_issues_count":8,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-07T11:11:23.979Z","etag":null,"topics":["ansible","filecoin","lotus"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/filecoin-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-12T13:58:48.000Z","updated_at":"2024-05-27T05:36:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"b046b437-0bb3-444b-b859-5dc7010aa786","html_url":"https://github.com/filecoin-project/sp-automation","commit_stats":null,"previous_names":["ng-solutions-architecture/sp-stack-automation"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/filecoin-project/sp-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filecoin-project%2Fsp-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filecoin-project%2Fsp-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filecoin-project%2Fsp-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filecoin-project%2Fsp-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/filecoin-project","download_url":"https://codeload.github.com/filecoin-project/sp-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filecoin-project%2Fsp-automation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263046027,"owners_count":23405120,"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":["ansible","filecoin","lotus"],"created_at":"2025-06-07T11:10:24.338Z","updated_at":"2025-07-01T22:30:44.950Z","avatar_url":"https://github.com/filecoin-project.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SP Automation Stack for Ansible\nThe SP Automation Stack, based on earlier work on a set of Bash scripts called `lotus-automation`, is a set of Ansible playbooks and tools that deploys and manages a complete Filecoin Storage Provider installation, including wallet management and bootstrapping.\n\nIt is intended to be able to be run against the same SP over and over again, bringing the SP into alignment with where it should be.\n\nAt the moment the SP Automation Stack is targeting new and small-sized SPs, as well as larger SPs who wish to experiment - over time, a Porting Guide will be published and improved which allows existing SPs to begin using the Stack and manage their existing deployments.\n\n## Requirements\n- Ansible (2.12 or newer)\n- Python3 (3.9 or newer)\n- Passwordless sudo enabled on your Lotus node (alternatively, add the flags --become and --ask-become-pass when running ansible-playbook)\n- If you are using Secure Boot on your Lotus node, please read [the note on Secure Boot](#nvidia-support-and-secure-boot).\n\n## Upgrading\nOnce we have begun publishing releases for SP Automation, please read the release notes *every time you upgrade!* \n\nWe may release breaking changes over time you need to be aware of, and your group_vars/ files in particular may need changes over time to keep up with the playbook.\n\n## Usage\n- Clone this repository and `cd` into it\n```\ngit clone https://github.com/filecoin-project/sp-automation.git \u0026\u0026 cd sp-automation\n```\n- Run the setup script to symlink Ansible Galaxy roles into place. This will not be needed once we make the roles available via Galaxy.\n```\n./setup_ansible_roles.sh\n```\n- Copy `inventory.example` to `inventory` and edit it to suit your needs.\n```\ncp inventory.example inventory \u0026\u0026 editor inventory\n```\n- Copy the global configuration - `ansible/group_vars/all.example` to `ansible/group_vars/all` and edit it to suit your needs.\n```\ncp group_vars/all.example group_vars/all \u0026\u0026 editor group_vars/all\n```\n- Copy the YugabyteDB configuration - `group_vars/yugabytedb.example` to `group_vars/yugabytedb` and edit it to suit your needs.\n```\ncp group_vars/yugabytedb.example group_vars/yugabytedb \u0026\u0026 editor group_vars/yugabytedb\n```\n- Copy the Boost configuration - `group_vars/boost.example` to `group_vars/boost` and edit it to suit your needs.\n```\ncp group_vars/boost.example group_vars/boost \u0026\u0026 editor group_vars/boost\n```\n- If this is your first time running lotus-automation for Ansible on this machine, run the Ansible Galaxy install process.\n```\nansible-galaxy install -r roles/requirements.yml ; ansible-galaxy install -r collections/requirements.yml\n```\n- Now run the playbook and deploy your Storage Provider. (Note: If any of your nodes do not have **passwordless sudo** enabled, add --ask-become-pass to the command below)\n```\nansible-playbook deploy.yml\n```\n- The playbook will automatically deploy everything, and ask you questions if it needs any more information from you. If you run into any issues, please let us know by opening an issue on this repository.\n\n## Things to note\nThere are some important things you should know while using this playbook.\n\n### NVIDIA support and Secure Boot\nSet `install_nvidia_driver: true` in `group_vars/all` if you want to have the playbook handle installing the NVIDIA drivers for you.\n\nIt will also handle figuring out your GPU's details and ask the compiler to take that into account while building Lotus.\n\nIf you are using Ubuntu with Secure Boot enabled (likely if you are on a modern UEFI machine), due to a bug in the NVIDIA driver packages (or possibly their Ansible role), you may find yourself unable to use the NVIDIA driver after installation. \n\nIf you run into this, please run `sudo dpkg-reconfigure nvidia-dkms-525-server` (replacing 525 with your driver version - for example, 515 on Ubuntu 20.04) and follow the steps, then reboot and select \"Enroll MOK\", then reboot one last time, then re-run the playbook.\n\n### Wallet management\nThis Ansible playbook will perform basic wallet management for you. This utilises Ansible facts (via `facts.d` in `/etc/ansible/facts.d`) and is still undergoing improvements.\n\n# Credits\nThe SP Automation Stack was originally written by contributors to Protocol Labs \u0026 Filecoin Foundation. It is made available under the Dual Stack Permissive Licence.\n\nWe are:\n\n* Bob Dubois: @bobdubois\n* Anjor Kanekar: @anjor\n* Angelo Schalley: @Angelo-gh3990\n* Orjan Roren: @rjan90\n* Benjamin Arntzen: @zorlin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilecoin-project%2Fsp-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffilecoin-project%2Fsp-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilecoin-project%2Fsp-automation/lists"}