IPFS is a distributed system for storing and accessing files, websites, applications, and data.
We've extended Kubernetes with Peer
and ClusterPeer
custom resources which can be used to deploy IPFS peers, swarms, and clusters from the given spec.
Peer
is an ipfs peer running go-ipfs
client and connecting to the public ipfs swarm or a private swarm secured by swarm key. Here's an example of a very basic ipfs peer connecting to the public ipfs swarm.
apiVersion: ipfs.kotal.io/v1alpha1
kind: Peer
metadata:
Name: simple-peer
spec: {}
For all the fields associated with the Peer
API resource:
kubectl explain peers --api-version ipfs.kotal.io/v1alpha1
kubectl explain peers.spec --api-version ipfs.kotal.io/v1alpha1
Full ipfs peer reference is documented here.
ClusterPeer
is an ipfs cluster peer running ipfs-cluster-service
client, connecting to ipfs peer and optional bootstrap cluster peer(s). ClusterPeer
s provide data orchestration across a swarm of IPFS daemons by allocating, replicating and tracking a global pinset distributed among multiple peers. Here's an example of cluster peer connecting to ipfs peer.
apiVersion: ipfs.kotal.io/v1alpha1
kind: ClusterPeer
metadata:
Name: simple-cluster-peer
spec:
peerEndpoint: /dns4/simple-peer/tcp/5001
For all the fields associated with the ClusterPeer
API resource:
kubectl explain clusterpeers --api-version ipfs.kotal.io/v1alpha1
kubectl explain clusterpeers.spec --api-version ipfs.kotal.io/v1alpha1
Full ipfs cluster peer reference is documented here.