Back to Charts

⚠️ Repo Archive Notice

stable/bitcoind/README.md

latest4.3 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Bitcoind

Bitcoin uses peer-to-peer technology to operate with no central authority or banks; managing transactions and the issuing of bitcoins is carried out collectively by the network.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

Introduction

This chart bootstraps a single node Bitcoin deployment on a Kubernetes cluster using the Helm package manager. Docker image was taken from Bitcoind for Docker - many thanks!

Prerequisites

  • Kubernetes 1.10+
  • PV provisioner support in the underlying infrastructure

Installing the Chart

To install the chart with the release name my-release:

bash
$ helm install --name my-release stable/bitcoind

The command deploys bitcoind on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

bash
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the bitcoind chart and their default values.

ParameterDescriptionDefault
image.repositoryImage source repository namearilot/docker-bitcoind
image.tagbitcoind release tag.0.17.1
image.pullPolicyImage pull policyIfNotPresent
service.rpcPortRPC port8332
service.p2pPortP2P port8333
service.testnetPortTestnet port18332
service.testnetP2pPortTestnet p2p ports18333
service.selectorNode selectortx-broadcast-svc
persistence.enabledCreate a volume to store datatrue
persistence.accessModeReadWriteOnce or ReadOnlyReadWriteOnce
persistence.sizeSize of persistent volume claim300Gi
resourcesCPU/Memory resource requests/limits{}
configurationFileConfig file ConfigMap entry
terminationGracePeriodSecondsWait time before forcefully terminating container30

For more information about Bitcoin configuration please see Bitcoin.conf_Configuration_File.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

bash
$ helm install --name my-release -f values.yaml stable/bitcoind

Tip: You can use the default values.yaml

Persistence

The bitcoind image stores the Bitcoind node data (Blockchain and wallet) and configurations at the /bitcoin path of the container.

By default a PersistentVolumeClaim is created and mounted into that directory. In order to disable this functionality you can change the values.yaml to disable persistence and use an emptyDir instead.

"An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."

!!! WARNING !!!

Please NOT use emptyDir for production cluster! Your wallets will be lost on container restart!

Customize bitcoind configuration file

yaml
configurationFile:
  bitcoind.conf: |-
    server=1
    printtoconsole=1
    rpcuser=rpcuser
    rpcpassword=rpcpassword