Giter Club home page Giter Club logo

ipfs-cluster-k8s-sidecar's Introduction

IPFS-Cluster Kubernetes Replica Set Sidecar

This project is as a PoC to setup a ipfs-cluster replica set or statefulset using Kubernetes. It should handle resizing of any type and be resilient to the various conditions both ipfs-cluster and kubernetes can find themselves in.

This project was inspired by and references https://github.com/cvallance/mongo-k8s-sidecar

Note

This is pre-alpha software and should not be used in a production environment

Currently managing addition of new nodes to the cluster works.

Nodes are not currently removed from the cluster. (With a persistent store nodes will rejoin the cluster with their newly assigned IP). If not using a persistent store we will have to remove the node from the cluster.

How to use it

The docker image is hosted on docker hub and can be found here: https://hub.docker.com/r/joshorig/ipfs-cluster-k8s-sidecar/

An example kubernetes statefulset can be found in the examples directory on github here: https://github.com/ConsenSys/ipfs-cluster-k8s-sidecar

There you will also find some helper scripts to test out creating the replica set and resizing it.

Settings

Environment Variable Required Default Description
KUBE_NAMESPACE NO The namespace to look up pods in. Not setting it will search for pods in all namespaces.
IPFSCLUSTER_SIDECAR_POD_LABELS YES This should be a be a comma separated list of key values the same as the podTemplate labels. See above for example.
IPFSCLUSTER_SIDECAR_SLEEP_SECONDS NO 5 This is how long to sleep between work cycles.
IPFSCLUSTER_PORT NO 9094 Configures the ipfs-cluster port, allows the usage of non-standard ports.

Still to do

  • Add cluster removal
  • Add SSL support
  • Add tests!
  • Add to travisCI
  • Alter k8s call so that we don't have to filter in memory

ipfs-cluster-k8s-sidecar's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

ipfs-cluster-k8s-sidecar's Issues

Add node unit tests

Add tests for each node component:

config module
k8s module
ipfs-cluster module

Add kubenetes cluster tests

Add tests which test the sidecar features within a Kubernetes instance. This should work with both Minikube or with a configured Kubernetes environment.

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.