Skip to content
This repository has been archived by the owner on Jul 22, 2022. It is now read-only.

craigwatson/puppet-bitcoind

Repository files navigation

puppet-bitcoind

Build Status Puppet Forge

Table of Contents

  1. Overview - What is the puppet-bitcoind module?
  2. Module Description - What does the module do?
  3. Setup - The basics of getting started with puppet-bitcoind
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

This Puppet module installs and configures the bitcoind daemon, and can optionally install the bitcoin-qt GUI - though this will disable the service/daemon.

Puppet 3 Support

Please note that the master branch of this module does not support Puppet 3!

On 31st December 2016, support for Puppet 3.x was withdrawn. As such, this module no longer supports Puppet 3, and is actively being migrated to Puppet 4 syntax.

If you require Puppet 3 compatibility, please use version 2.0.2 from the Puppet Forge, or the puppet3 branch in Git.

Using Alternative Repositories

This module can handle the installation of the Bitcoin daemon from any Ubuntu PPA repository. To use a third-party repository (e.g. Bitcoin Classic or UASF), simply set the ppa_name and package_name parameters - the default is to install Bitcoin Core from the official PPA.

Module Description

  • Adds the requested PPA (see above) and installs bitcoind
  • Creates a (configurable) system user and group
  • Places an Upstart init script (Systemd in Ubuntu 16.04 and later)
  • Configures the bitcoin.conf configuration file
  • Enables and starts the bitcoind daemon/service

Setup

Beginning with puppet-bitcoind

To accept default class parameters (correct in most situations):

include bitcoind

Usage

To use the an alternative Ubuntu PPA repository, specify an RPC user/password and disable wallet functionality:

class { 'bitcoind':
  disablewallet => true,
  rpcallowip    => ['123.456.789.100'],
  rpcuser       => 'oliver'
  rpcpassword   => 'youvegottopickapocketortwo',
  ppa_name      => 'luke-jr/bitcoin-core-bip148-unofficial-builds',
  package_name  => 'bitcoin',
}

Reference

bitcoin.conf Configuration Parameters

Classes

bitcoind::account

  • Creates the system user which runs the bitcoind service, and also a group for the user to belong to.

bitcoind::config

  • Places the bitcoin.conf configuration file and init script

bitcoind::install

  • Optionally adds the requested PPA to the system
  • Installs the bitcoind package
  • Optionally installs the bitcoin-qt package

bitcoind::params

  • Disables server if install_gui passed to the module

bitcoind::service

Limitations

Supported Operating Systems

  • Ubuntu - 16.06 (Xenial), 14.04 (Trusty) and 12.04 LTS (Precise)

Donations

Donations are welcomed via Bitcoin to 1JJ5STJpzyDbvNiStqsfycCuoNFPgWd2Ho

Development

  • Copyright (C) Craig Watson - craig@cwatson.org
  • Distributed under the terms of the Apache License v2.0 - see LICENSE file for details.
  • Further contributions and testing reports are extremely welcome - please submit a pull request or issue on GitHub