This repository contains Ansible playbooks for automating the deployment and testing of Avail Data Availability (DA) layer with various technology stacks. These scripts help streamline the process of setting up and evaluating different DA client implementations.
- zkSync: Automated setup and configuration for testing Avail DA with zkSync implementation
- (More tech stacks to be added)
- Ansible 2.9 or higher
- SSH Pass
- SSH access to target hosts
- Python 3.x
- Target system running Ubuntu 20.04 or higher
- Avail App ID (Get your App ID here)
- Avail account with seed phrase (Create account here)
For Ubuntu/Debian:
# Add Ansible repository
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install sshpass
# Install Ansible
sudo apt-get install ansible
# Verify installation
ansible --version
#Install sshpass
sudo apt-get install sshpass
For MacOS:
# Using Homebrew
brew install ansible
# Verify installation
ansible --version
#Install sshpass
brew install sshpass
For other operating systems, please refer to the official Ansible documentation.
.
├── inventory/ # Host definitions
├── playbooks/ # Ansible playbooks for different tech stacks
└── requirements.yml # Required Ansible collections and roles
Location: playbooks/deploy-zksync-availda.yml
This playbook automates:
- Installation of zkSync dependencies
- Configuration of Avail DA client
- Setup of necessary networking components
- Integration with zkSync environment
During the setup process, you will be prompted for the following information:
-
Server Configuration
- Your Ubuntu server IP address (replace
your_server_ip
in the command) - Your sudo password for server access
- Your Ubuntu server IP address (replace
-
Network Settings
- Chain name (default: zk-avail-testnet)
- Your Avail App ID (obtain from Avail Node API documentation)
-
Wallet Configuration
- Whether to use a seed phrase (yes/no)
- Your seed phrase (if you selected yes) (Learn how to create an Avail account)
Usage:
ansible-playbook playbooks/deploy-zksync-availda.yml -i inventory/hosts.yml
-
Clone this repository:
git clone https://github.com/christineRPM/avail-da-automation.git cd avail-da-automation
-
Update the inventory file with your target hosts:
# inventory/hosts.yml all: hosts: your-target-host: ansible_host: your-ip-address ansible_user: your-ssh-user
-
Before running the playbook, make sure you have:
- Created an Avail account and saved your seed phrase
- Generated your Avail App ID
- Your server's sudo password ready
-
Run the zkSync deployment playbook:
ansible-playbook playbooks/deploy-zksync-availda.yml -i inventory/hosts.yml
Feel free to contribute additional tech stack implementations or improvements:
- Create a new branch for your implementation
- Add your playbook under the
playbooks/
directory - Update this README with relevant documentation
- Submit a pull request
MIT License