Skip to content
/ kotal Public
forked from kotalco/kotal

Blockchain Kubernetes Operator

Notifications You must be signed in to change notification settings

hubchub/kotal

 
 

Repository files navigation

Kotal Operator

Kotal operator is a cloud agnostic blockchain deployer that makes it super easy to deploy highly-available, self-managing, self-healing blockchain infrastructure (networks, nodes, storage clusters ...) on any cloud.

What can I do with Kotal Operator ?

  • Deploy Bitcoin rpc nodes
  • Deploy ipfs peers and cluster peers
  • Deploy ipfs swarms
  • Deploy Ethereum transaction and mining nodes
  • Deploy Ethereum 2 beacon and validation nodes
  • Deploy private Ethereum networks
  • Deploy NEAR rpc, archive, and validator nodes
  • Deploy Polkadot rpc and validator nodes
  • Deploy Chainlink nodes
  • Deploy Filecoin nodes
  • Deploy Filecoin backed pinning services (FPS)
  • Deploy Stacks rpc and api nodes
  • Deploy Aptos full and validator nodes

Kubernetes Custom Resources

Kotal extended kubernetes with custom resources in different API groups.

Protocol Description API Group Status
Aptos Deploy Aptos full and validator nodes aptos.kotal.io/v1alpha1 alpha
Bitcoin Deploy Bitcoin nodes bitcoin.kotal.io/v1alpha1 alpha
Chainlink Deploy Chainlink nodes chainlink.kotal.io/v1alpha1 alpha
Ethereum Deploy private and public network Ethereum nodes ethereum.kotal.io/v1alpha1 alpha
Ethereum 2.0 Deploy validator and beacon chain nodes ethereum2.kotal.io/v1alpha1 alpha
Filecoin Deploy Filecoin nodes filecoin.kotal.io/v1alpha1 alpha
IPFS Deploy IPFS peers, cluster peers, and swarms ipfs.kotal.io/v1alpha1 alpha
NEAR Deploy NEAR rpc, archive and validator nodes near.kotal.io/v1alpha1 alpha
Polkadot Deploy Polkadot nodes and validator nodes polkadot.kotal.io/v1alpha1 alpha
Stacks Deploy Stacks rpc and api nodes stacks.kotal.io/v1alpha1 alpha

Client support

For each protocol, kotal supports at least 1 client (reference client):

Protocol Client(s)
Aptos Aptos Core
Bitcoin Bitcoin Core
Chainlink Chainlink
Ethereum Hyperledger Besu, Go-Ethereum, Nethermind
Ethereum 2.0 Teku, Prysm, Lighthouse, Nimbus
IFPS go-ipfs, ipfs-cluster-service
Filecoin Lotus
NEAR nearcore
Polkadot Parity Polkadot
Stacks Stacks Node

Install Kotal

Kotal requires access to Kubernetes cluster with cert-manager installed.

For development purposes, we recommend KinD (Kubernetes in Docker) to create kubernetes clusters and tear down kubernetes clusters in seconds:

kind create cluster

After the cluster is up and running, install cert-manager:

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml

Install kotal custom resources and controllers:

kubectl apply -f https://github.com/kotalco/kotal/releases/download/v0.1-alpha.6/kotal.yaml

Example

Ethereum node using Hyperleger Besu client, joining rinkeby network, and enabling RPC HTTP server:

# ethereum-node.yaml
apiVersion: ethereum.kotal.io/v1alpha1
kind: Node
metadata:
  name: ethereum-node
spec:
  client: besu
  network: rinkeby
  rpc: true
kubectl apply -f ethereum-node.yaml

Documentation

Kotal documentation is available here

Get in touch

Contriubuting

TODO

Licensing

TODO

About

Blockchain Kubernetes Operator

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.7%
  • Other 1.3%