niamtokik / ansible_arweave

Ansible role for Arweave
MIT License
0 stars 1 forks source link
ansible arweave crypto cryptocurrencies cryptocurrency deployment role storage ubuntu

Arweave Ansible Role

This ansible role has been created to offer an easy way to deploy ansible on any kind of operating system, from source, and without using any kind of package. By default, it clones the latest branch and install all dependencies.

Warning: at this time this role is mainly used for test and development purpose

Requirement

Here nodes requirement:

Usage

Defaut variables are defined in defaults/main.yml where __arweave is a special variable containing default values for each of them. Then, instead of modifying directly tasks, files, templates or handlers, everything can be done there.

To work, aeweave variable MUST BE defined. Here a custom json as example.

{
  "arweave": {
    "installation_path": "/mnt/custom_volume"
  }
}

And the ansible command to deploy it.

ansible-playbook playbook_arweave.yml --diff --extra-vars '@arweave.json'

Where playbook_arweave.yml contains tasks to install arweave.

- hosts: arweave.host
  become_method: sudo
  roles:
    - arweave

Support

tasks ubuntu 20.04 ubuntu 22.04 ubuntu 24.04 debian 12.0 fedora
limits - yes -
packages - yes -
clone - yes -
compile - yes -

TODO

The next step is to create packages infrastructure for all these systems.

Tested Deployment

cat hosting company cpu ram type os note
vm hetzner 2 2GB cpx11 ubuntu 22.04 crash (oom kill)
vm hetzner 3 4GB cpx21 ubuntu 22.04 crash (oom kill)
vm hetzner 4 8GB cpx31 ubuntu 22.04 no problem so far
vm scaleway 2 2GB dev1-s -
vm scaleway 3 4GG dev1-m -
vm scaleway 4 8GB dev1-l -
vm scaleway 4 12GB dev1-xl -

Contributing

All roles are set by OS version and release. Please tests these tasks before deploying.

FAQ

How to execute ansible-playblook without ansible host file?

ansible-playbook -i "${ip_address},"  -u root playbook_arweave.yml -C

On Debian, python interpreter can't be found.

On Debian, python does not exist and one should use /usr/bin/python3 instead. The following environment variable can be added:

-e 'ansible_python_interpreter=/usr/bin/python3'

see https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html

References and Resources

Arweave Official Website

Arweave Official Github

Arweave Official Documentation