kotalKubernetes Blockchain Operator

联合创作 · 2023-09-27 09:59

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 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
Ethereum Deploy ethereum nodes ethereum.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
Ethereum 2.0 Deploy validator and beacon chain nodes ethereum2.kotal.io/v1alpha1 alpha
Algorand Deploy 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)
Ethereum Hyperledger Besu, Go-Ethereum, Open Ethereum
Ethereum 2.0 Teku, Prysm, Lighthouse, Nimbus
Filecoin Lotus
IFPS go-ipfs, ipfs-cluster-service

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

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报