Files
2020-11-13 17:45:48 +01:00

102 lines
4.3 KiB
Markdown

# ⚠️ 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](https://github.com/helm/charts#%EF%B8%8F-deprecation-and-archive-notice), and [Update](https://helm.sh/blog/charts-repo-deprecation/).
# Bitcoind
[Bitcoin](https://bitcoin.org/) 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](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
Docker image was taken from [Bitcoind for Docker](https://github.com/kylemanna/docker-bitcoind) - 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](#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.
Parameter | Description | Default
------------------------------- | ------------------------------------------------- | ----------------------------------------------------------
`image.repository` | Image source repository name | `arilot/docker-bitcoind`
`image.tag` | `bitcoind` release tag. | `0.17.1`
`image.pullPolicy` | Image pull policy | `IfNotPresent`
`service.rpcPort` | RPC port | `8332`
`service.p2pPort` | P2P port | `8333`
`service.testnetPort` | Testnet port | `18332`
`service.testnetP2pPort` | Testnet p2p ports | `18333`
`service.selector` | Node selector | `tx-broadcast-svc`
`persistence.enabled` | Create a volume to store data | `true`
`persistence.accessMode` | ReadWriteOnce or ReadOnly | `ReadWriteOnce`
`persistence.size` | Size of persistent volume claim | `300Gi`
`resources` | CPU/Memory resource requests/limits | `{}`
`configurationFile` | Config file ConfigMap entry |
`terminationGracePeriodSeconds` | Wait time before forcefully terminating container | `30`
For more information about Bitcoin configuration please see [Bitcoin.conf_Configuration_File](https://en.bitcoin.it/wiki/Running_Bitcoin#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](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
```