Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 5.32 KB

README.md

File metadata and controls

106 lines (77 loc) · 5.32 KB

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 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)

Kubernetes Custom Resources

Kotal extended kubernetes with custom resources in different API groups.

Group Description API Group Status
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
IPFS Deploy IPFS peers, cluster peers, and swarms ipfs.kotal.io/v1alpha1 alpha
Filecoin Deploy Filecoin nodes filecoin.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
Algorand Deploy Algorand relay and participation nodes algorand.kotal.io/v1alpha1 coming soon 🚀

Client support

For each protocol, kotal supports at least 1 client (reference client), client can be changed by updating client: ... specification parameter.

Protocol Client(s)
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

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.2.0/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