Giter Club home page Giter Club logo

ansible-ipfs-cluster's Introduction

Ansible roles for go-ipfs and ipfs-cluster

This repository contains Ansible roles to install and run go-ipfs and IPFS Cluster.

They include a Systemd service file both.

Usage

If you are familiar with Ansible, you can just re-use the modules in the way that fits you best. Otherwise follow these steps:

  1. Make sure you have ansible installed: pip install ansible.
  2. Fill in inventory.yml and place the hostnames of your nodes under the [ipfs] group.
  3. Edit the group_vars/ipfs.yml and group_vars/ipfs_cluster.yml file setting the right configuration values, including generating an IPFS Cluster secret with od -vN 32 -An -tx1 /dev/urandom | tr -d ' \n' ; echo
  4. Add a file for each hostname (filename is the hostname), to the host_vars folder as outlined in host_vars/README.md, containing the necessary host-specific variables (example in the host_vars README).
  5. Run make.

make will run ansible for the ipfs and the ipfs-cluster roles, which apply to the [ipfs] and [ipfs_cluster] inventory group. Upon successful, both go-ipfs and ipfs-cluster should be running in the nodes (they are installed under /usr/local/bin and run by a created ipfs system user).

You can use systemctl status ipfs and systemctl status ipfs-cluster to check the status of the new services.

Note that ipfs configuration has been generated using profile=server, thus will not automatically scan the local network.

ansible-ipfs-cluster's People

Contributors

hsanjuan avatar jeffbr13 avatar olizilla avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ansible-ipfs-cluster's Issues

Configure Peering.Peers from the inventory

Hey guys,

I noticed that Peering.Peers remains null when using this nice ansible repo.

Is there any reason for which you chose not to manually force "peering" with all ipfs nodes from the inventory? (or at least give the option)

In my opinion this could/should improve the performance of the cluster when not all nodes replicate all data.

What do you think?

Thanks for all the work !

ipfs_use_badger is undefined

when i use it to install the go-ipfs and ipfs-cluster,the follow error occured.

TASK [ipfs : copy default config] **********************************************
fatal: [jc-swtc-ipfs-1]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ipfs_use_badger' is undefined"}

Instance or pod-level storage provisioning

Hi @hsanjuan, thanks so much for publishing this! It's what I had in mind when I started with my own recipes a few weeks ago ๐Ÿ‘

Now, my biggest doubt right now and major blocker after setting up my own kubernetes-ipfs cluster is: how do you guys manage LOCAL (instance/VM-level) disk space dynamically? I've seen related issues which makes me think it's been worked on, but it's still a bit of a mystery for me :-S

I have some ideas but don't want to reinvent the wheel... can you point me to any issue/debate on this area to have a notion on which direction is this going to be solved in practice?

Document which values are secrets and what to do about them.

It'd be worth documenting that the private keys in the host_vars are secrets and should not be pushed to a public repo. We could suggest ansible vault for encrypting them.

Same goes for ipfs_cluster_secret in group_vars/ipfs.yml which could be pulled into a seperate file and encrypted with ansible vault too.

Convert to ansible role

Hi ! This is a great playbook and i've been using it for a while now, however i feel that it could be improved by converting it to the normal role format so that it could be imported on other playbooks and used alongside other roles. Will be glad to contribute if this makes sense to the project

cluster daemon is not working

I simply try to create a cluster with 2 VM
ipfs daemon is working fine but the cluster daemon is not working

image

image

image

any idea or can you providing simple config for me

task that always skipping when make

  • unpack go-ipfs
  • install ipfs init service
  • ipfs-cluster : unpack IPFS cluster
  • ipfs-cluster : install ipfs-custer init service

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.