Wownero Infrastructure-as-Code - Terraform!

Posted on 2021-10-07 by watblocknet
Status: Seeking funding

Proposal
Target 1290.0 WOW ➞ 589.5 USD
Funded 0 %
0 individual contributions

0 WOW Raised (1290.0 WOW until goal)



0 WOW Paid out (0.0%)

0 WOW Available for payout :-)

Donation address:
So2oVpBK5KN3mNQ939dMyycDGsc7N8sBj7ahVtRiobW4isHkydvSZDubDdeaxNzzgzFdU8nUhVZUNDUZhCcX3d2s7N3VJ8RbrJf2cgoriqBc

Why?

The Wownero developers and community have done a great deal of work to create easy-to-use and ready-to-deploy tools for getting up and running. However, I think we could provide even easier tools for newcomers and die-hards alike.

I want to provide some additional DevOps tools and use Terraform to utilize modern Infrastructure-as-Code techniques. This will help decentralize the network by adding more public nodes, encourage development and participation, and decrease the time to deployment for Wownero infrastructure.

The initial goal will be to provide the community to get up and running as fast as possible with with new nodes in different cloud services like DigitalOcean, Azure, AWS, OVH, and others. Eventually this could be setup to be easily deploy in homelabs like Proxmox or ESXi/vSphere.

As this project progresses, it will not be limited to Wownero nodes - it will also encompass deploying other infrastructure like Block Explorers, Miners, TipBots, and more!

How much?

  • Approx. $20usd/month for DigitalOcean hosting. $20 x 6 months = $120
  • Approx. $40usd/month for node maintenance. ($20 x 2 hours) x 6 months = $240
  • Appox. $100usd for setup and install script. $100
  • Approx . $250usd for a Terraform Deployment Script. $250
  • Total Cost in USD... $120 + $240 + $100 + $250 = $710usd
  • Total cost in WOW... Current price is $0.5505/WOW. $710usd / 0.5505usd = ~1290 WOW

What?

The first phase of this project will have 4 deliverables: A node, an Install Script, a Terraform Deployment Script, and extensive Documentation. Each one builds on top of the other for the goals of this project.

Remote Node

The first order of business is to get a node up and running and getting a feel for the costs and maintenance needed for running this through a cloud provider. This will be a public node, for everyone to see and use.

This node is currently running here - I've tested it with several wallets and everything appears to be running smoothly. It's already listed at monero.fail.

Install Script

After the node is up and running, a BASH install script will be created to check permissions, install requirements, install wownerod, setup systemd services, get the blockchain syncing, and cleaning up after itself.

This script will be called by the Terraform Deployment Script but should also be able to run independently if it's ran inside of a shell prompt.

Terraform Deployment Script

If Terraform is installed on your system, it makes it easy to type in one command and deploy infrastructure with one single command. It handles the authentication, provisioning, installation, and customization of the cloud instances instantly. this comes with one caveat - it has some minor configurations that need to take place first.

This is where my work will come in - making it ready-to-go and some minor updates to a config file to get anyone up and running.

Documentation

The documentation will be extensive and explained in everyday language to get up and running. It will also be presented from a persepective that assumes the user is new to cryptocurrency, linux, terraform, and cloud computing.

The code will also be well commented to explain to anyone that's looking over the scripts will have a very good idea of what's going on with the execution of it.

Milestones?

I'm currently working full-time so these small milestones will be spread out over 3 months (90 days) to complete.

  1. Getting a node up and running with monthly maintenance - asking for 6 months of funding upfront- Already running.
  2. Creating an install script for a Wownero node - 3 weeks.
  3. Creating a Terraform Deployment Script - 3 weeks.
  4. Creating Documentation - 3 weeks.
  5. Clean up and tweaks of git repository - 3 weeks.

Outcomes?

  • An increase in Wownero nodes
  • Deployment in different cloud/hosting providers to help decentralize the network
  • Introduction of new tools in the Wownero ecosystem.
  • New infrastrcuture will be deployed quickly and easily.
  • Solid foundation to deploy other Wownero Infrastrcuture (block explorer, tipbots, miners, etc) with Terraform into various other places.

Why you?

  • I've worked in DevOps before.
  • I've built great community documentation. Checkout my public repos!
  • I've got experience in programming.
  • I love Wownero.
  • I've hosted crypto meetups and built blockchain communities in my area.
Comments
You need to be logged in to comment.

qvqc [admin] 2021-10-13 10:05 opening this for funding but comments from irc is that this seems a little expensive.. is there anyway to reduce costs or add value?
keep in mind we have ansible scripts that do something very similar (https://git.wownero.com/dsc/ansible-remote-node/) and a handful of users that run nodes for fun
reply
watblocknet [op] 2021-10-13 18:03 can also add a whole bunch more providers that are ready to go for a bunch more infrastructure.
watblocknet [op] 2021-10-13 18:01 can definitely reduce costs, and possibly add value. terraform and ansible tend to play very nice together - so that is something that can be added on.
qvqc [admin] 2021-10-13 09:48 can these scripts support tor and i2p? would be nice to have that as default in new infrastructure reply
watblocknet [op] 2021-10-13 18:00 can definitely add them in
mewow 2021-10-12 19:22 Always great to have more tools at our disposal! reply
watblocknet [op] 2021-10-09 14:19 Terraform deployment script is up and running for digital ocean
- Install Terraform on a Linux system
- Make sure you have an ssh-key generated in $HOME/.ssh/
- Clone this git repo: https://github.com/Michael-Free/wownero-node-terraform
- cd to repo, cd to providers, then digitalocean.
- Modify the vars.auto.tfvars file. change the do_key value to your digital ocean access key and save it.
- Perform a `terraform init` to initialize the playbook
- Perform a `terraform validate` to make sure everything is working properly
- Perform a `terraform plan` to see what will be happening when this is deployed
- Perform a `terraform apply` deploy a new instance in the digitalocean cloud
reply
watblocknet [op] 2021-10-08 12:02 [Work has started here](https://github.com/Michael-Free/wownero-node-terraform). there seems to be some small issues still with git.wownero.com reply
watblocknet [op] 2021-10-07 21:49 I've got the install script almost completed, I'll start a git repo soon. reply
Events
qvqc [admin] 2021-10-13 10:05 Moved to status "Funding".