github.com/kotalco/kotal@v0.3.0/README.md (about) 1 # Kotal Operator 2 3 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. 4 5 ## What can I do with Kotal Operator ? 6 7 - Deploy Bitcoin rpc nodes 8 - Deploy ipfs peers and cluster peers 9 - Deploy ipfs swarms 10 - Deploy Ethereum transaction and mining nodes 11 - Deploy Ethereum 2 beacon and validation nodes 12 - Deploy private Ethereum networks 13 - Deploy NEAR rpc, archive, and validator nodes 14 - Deploy Polkadot rpc and validator nodes 15 - Deploy Chainlink nodes 16 - Deploy Filecoin nodes 17 - Deploy Filecoin backed pinning services (FPS) 18 - Deploy Stacks rpc and api nodes 19 - Deploy Aptos full and validator nodes 20 21 22 ## Kubernetes Custom Resources 23 24 Kotal extended kubernetes with custom resources in different API groups. 25 26 | Protocol | Description | API Group | Status | 27 | ---------------- | ------------------------------------------------ | --------------------------- | ------ | 28 | **Aptos** | Deploy Aptos full and validator nodes | aptos.kotal.io/v1alpha1 | alpha | 29 | **Bitcoin** | Deploy Bitcoin nodes | bitcoin.kotal.io/v1alpha1 | alpha | 30 | **Chainlink** | Deploy Chainlink nodes | chainlink.kotal.io/v1alpha1 | alpha | 31 | **Ethereum** | Deploy private and public network Ethereum nodes | ethereum.kotal.io/v1alpha1 | alpha | 32 | **Ethereum 2.0** | Deploy validator and beacon chain nodes | ethereum2.kotal.io/v1alpha1 | alpha | 33 | **Filecoin** | Deploy Filecoin nodes | filecoin.kotal.io/v1alpha1 | alpha | 34 | **Graph** | Deploy graph nodes | graph.kotal.io/v1alpha1 | alpha | 35 | **IPFS** | Deploy IPFS peers, cluster peers, and swarms | ipfs.kotal.io/v1alpha1 | alpha | 36 | **NEAR** | Deploy NEAR rpc, archive and validator nodes | near.kotal.io/v1alpha1 | alpha | 37 | **Polkadot** | Deploy Polkadot nodes and validator nodes | polkadot.kotal.io/v1alpha1 | alpha | 38 | **Stacks** | Deploy Stacks rpc and api nodes | stacks.kotal.io/v1alpha1 | alpha | 39 40 ## Client support 41 42 For each protocol, kotal supports at least 1 client (reference client): 43 44 | Protocol | Client(s) | 45 | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | 46 | **Aptos** | [Aptos Core](https://github.com/aptos-labs/aptos-core) | 47 | **Bitcoin** | [Bitcoin Core](https://github.com/bitcoin/bitcoin) | 48 | **Chainlink** | [Chainlink](https://github.com/smartcontractkit/chainlink) | 49 | **Ethereum** | [Hyperledger Besu](https://github.com/hyperledger/besu), [Go-Ethereum](https://github.com/ethereum/go-ethereum), [Nethermind](https://github.com/NethermindEth/nethermind) | 50 | **Ethereum 2.0** | [Teku](https://github.com/ConsenSys/teku), [Prysm](https://github.com/prysmaticlabs/prysm), [Lighthouse](https://github.com/sigp/lighthouse), [Nimbus](https://github.com/status-im/nimbus-eth2) | 51 | **Filecoin** | [Lotus](https://github.com/filecoin-project/lotus) | 52 | **Graph** | [graph-node](https://github.com/graphprotocol/graph-node) | 53 | **IPFS** | [kubo](https://github.com/ipfs/kubo), [ipfs-cluster-service](https://github.com/ipfs/ipfs-cluster) | 54 | **NEAR** | [nearcore](https://github.com/near/nearcore) | 55 | **Polkadot** | [Parity Polkadot](https://github.com/paritytech/polkadot) | 56 | **Stacks** | [Stacks Node](https://github.com/stacks-network/stacks-blockchain) | 57 58 ## Install Kotal 59 60 Kotal requires access to Kubernetes cluster with cert-manager installed. 61 62 For development purposes, we recommend [KinD](https://kind.sigs.k8s.io/) (Kubernetes in Docker) to create kubernetes clusters and tear down kubernetes clusters in seconds: 63 64 ```bash 65 kind create cluster 66 ``` 67 68 After the cluster is up and running, [install](https://cert-manager.io/docs/installation/kubernetes/) cert-manager: 69 70 ```bash 71 kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml 72 ``` 73 74 Install kotal custom resources and controllers: 75 76 ```bash 77 kubectl apply -f https://github.com/kotalco/kotal/releases/download/v0.2.0/kotal.yaml 78 ``` 79 80 ## Example 81 82 Ethereum node using Hyperleger Besu client, joining goerli network, and enabling RPC HTTP server: 83 84 ```yaml 85 # ethereum-node.yaml 86 apiVersion: ethereum.kotal.io/v1alpha1 87 kind: Node 88 metadata: 89 name: ethereum-node 90 spec: 91 client: besu 92 network: goerli 93 rpc: true 94 ``` 95 96 ```bash 97 kubectl apply -f ethereum-node.yaml 98 ``` 99 100 ## Documentation 101 102 Kotal documentation is available [here](https://docs.kotal.co) 103 104 ## Get in touch 105 106 - [Discord](https://discord.com/invite/kTxy4SA) 107 - [website](https://kotal.co) 108 - [@kotalco](https://twitter.com/kotalco) 109 - [mostafa@kotal.co](mailto:mostafa@kotal.co) 110 111 ## Contriubuting 112 113 TODO 114 115 ## Licensing 116 117 Kotal Blockchain Kubernetes operator is free and open-source software licensed under the [Apache 2.0](LICENSE) License