{"id":20096080,"url":"https://github.com/aptos-labs/aptos-ansible","last_synced_at":"2025-03-02T16:24:33.791Z","repository":{"id":64993223,"uuid":"569343712","full_name":"aptos-labs/aptos-ansible","owner":"aptos-labs","description":"Experimental Ansible-based installation of an Aptos node","archived":false,"fork":false,"pushed_at":"2023-03-25T16:30:23.000Z","size":51,"stargazers_count":3,"open_issues_count":20,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-24T06:45:17.497Z","etag":null,"topics":["ansible","aptos"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aptos-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-22T16:01:18.000Z","updated_at":"2025-01-25T16:07:48.000Z","dependencies_parsed_at":"2023-01-02T03:35:47.608Z","dependency_job_id":null,"html_url":"https://github.com/aptos-labs/aptos-ansible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptos-labs%2Faptos-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptos-labs%2Faptos-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptos-labs%2Faptos-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptos-labs%2Faptos-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aptos-labs","download_url":"https://codeload.github.com/aptos-labs/aptos-ansible/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241535271,"owners_count":19978118,"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","aptos"],"created_at":"2024-11-13T16:57:31.626Z","updated_at":"2025-03-02T16:24:33.765Z","avatar_url":"https://github.com/aptos-labs.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aptos Ansible\n\n\u003e NOTE: Not for production use! This is an experimental deployment method, and has not been thoroughly tested or deployed. It may be lacking features critical to operating an Aptos node in production. \n\n## The Mission\nWe've come to realize that the majority of operators choose not to run their nodes in a k8s environment, largely due to the expensive and complexity. Despite that, we don't have much first class support in terms of tooling, configuration, or documentation for non-k8s deployment. This project aims to address that. Our goal with this is to support any combination of:\n\n- VM / bare metal\n- Docker / source code\n- systemd / docker-compose\n- OS (within reason, e.g. Debian-like, Arch, CentOS, Windows)\n\nBeyond deployment environment, it is important that we support various “node profiles”, such as standard fullnode, light nodes, indexer nodes, and more.\n\nWe hope to encourage community contribution to this project:\n- We aim to make roles as modular as possible, so anyone can add their own role that expands the functionality of this automation.\n- Anyone can contribute their own playbook that combines these roles in the way that works best for them.\n- We're building in the open, check out [the project](todo) and individual [issues](todo).\n\n## Getting Started\nWe use [Poetry](https://python-poetry.org/docs/#installation) for packaging and dependency management. Install it like this:\n\n```\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n\nThen install dependencies like this:\n```\npoetry install\n```\n\nIf you choose not to use the version of Ansible we've specified, note that you need Ansible \u003e= 2.11 and Python \u003e= 3.8.\n\n## Setting up Ansible\nThere are some manual steps you must do first:\n\n- Provision a machine with Python \u003e= 3.8 on it.\n- Ensure you can SSH into the machine as a user with sudo privileges.\n\n## Running Playbooks\nYou can run a playbook like this:\n```\npoetry run ansible-playbook -i hosts playbooks/fullnode_from_source.yaml --extra-vars 'git_rev=devnet node_role=full_node aptos_network=devnet'\n```\n\nThere are other ways to define the extra vars, e.g. in your inventory. [See more here](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html).\n\nWe use [role argument validation](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html#role-argument-validation) to ensure that you have passed in the necessary arguments.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faptos-labs%2Faptos-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faptos-labs%2Faptos-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faptos-labs%2Faptos-ansible/lists"}