Bitcoind Kube provides a simple way to deploy a full bitcoin node with bitcoind into Kubernetes.
Credit to the Bitcoin Helm Chart and docker-bitcoind for providing all of the groundwork to this project.
This project is confirmed to work for regtest, testnet and mainnet on a minikube instance and a gke instance.
This project implements a full bitcoin node running in Kubernetes using https://github.com/bitcoin/bitcoin deployed by Jenkins X.
The Lightning Kube project gives a better high level view of how to install a fully functional Lightning Node.
To install this project:
Requirments:
- Running Kubernetes cluster
- Jenkins X Executable installation
- Jenkins X instance running on Kubernetes cluster
*See Lightning Kube for help with requirements.
- Clone this project and the jx environment projects.
git clone https://github.com/kevinstl/bitcoind-kube ~/Developer/projects/bitcoind-kube
git clone https://github.com/kevinstl/environment-jx-lightning-kube-regtest
git clone https://github.com/kevinstl/environment-jx-lightning-kube-testnet
git clone https://github.com/kevinstl/environment-jx-lightning-kube-mainnet
- Change to project directory
cd ~/Developer/projects/bitcoind-kube
- Change the following variables in the Jenkinsfile to match your setup: ORG, APP_NAME, GITHUB_ADDRESS and ENV_REPO_PREFIX.
- Change to scripts directory
cd ~/Developer/projects/bitcoind-kube/scripts
- Add your persistent volume claim:
./create-pv.sh "" lightning-kube-mainnet -mainnet mainnet 275Gi gke
- Add your secrets:
./create-secrets.sh minikube lightning-kube mainnet YOUR_MINING_ADDRESS YOUR_RPC_USER YOUR_RPC_PASSWORD
- Import this project and the jx environment projects into your Jenkins X instance.
jx import
If the installation is successful you should see the bitcoind pod running from kubernetes dashboard.