Forge Home

riak

Manage Riak 2.x

9,399 downloads

9,154 latest version

3.1 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.2.2 (latest)
  • 0.2.1 (deleted)
  • 0.2.0
released Mar 30th 2015
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet 4.x
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'basholabs-riak', '0.2.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add basholabs-riak
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install basholabs-riak --version 0.2.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

basholabs/riak — version 0.2.2 Mar 30th 2015

Build Status

Table of Contents

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

Overview

This module manages the 2.x versions of the Riak distributed key-value store.

Module Description

Riak is an open source, distributed database that focuses on high availability, horizontal scalability, and predictable latency.

This repository is community supported. We both appreciate and need your contribution to keep it stable. For more on how to contribute, take a look at the contribution process.

This module installs the apt or yum repository, installs riak, and starts the riak service. This is a very basic module, and does not manage clusters, help rotate logs, backups, etc. It only manages the riak.conf file, not advanced.config (yet).

Thank you for being part of the community! We love you for it.

Setup

What riak affects

  • This will install the basho apt or yum repository
  • Your /etc/riak.conf file will be overwritten
  • The riak system package will be installed, and the service started

Setup Requirements

This module requires Puppet 3.7 and future parser. See the limitations section for more details on supported platforms.

Beginning with riak

This module is not yet published on Puppet Forge, so you should install it from the git repository using r10k.

Usage

The most basic use case is to simply install riak with default settings:

include ::riak

A slightly more interesting configuration will look something like the following, which has some defaults included for the sake of documentation.

class { '::riak':
  package_name   => 'riak',   # default
  service_name   => 'riak',   # default
  manage_package => true,     # default
  manage_repo    => true,     # default
  version        => 'latest', # default, use a package version if desired
  # settings in the settings hash are written directly to settings.conf.
  settings       => {
    'log.syslog'                              => 'on',
    'erlang.schedulers.force_wakeup_interval' => '500',
    'erlang.schedulers.compaction_of_load'    => false,
    'buckets.default.last_write_wins'         => true,
  },
}

Limitations

This module is only expected to work with:

  • Puppet 3.7 and newer
  • needs future parser enabled
  • needs structured facts enabled
  • currently-maintained versions of MRI ruby and jruby that are also supported by Puppet Labs. As of March 2015, this means 2.0.0 and 2.1.5. 2.2 won't be supported in the 3.x series
  • ruby 1.9.3 is tested because jruby runs in 1.9.3 mode. When Puppet supports jruby 1.7.4's ruby 2.0.0 support this will go away.

Although some functionality may work without all of those, you shouldn't count on it to continue working.

This module has been tested with Puppet 3.7 on Debian Wheezy, Ubuntu 12.04, Ubuntu 14.04, CentOS 6, and CentOS 7 using Beaker integration tests. However, there is no ongoing Beaker CI coverage, so only tagged releases have been tested using Beaker.

A few caveats:

  • advanced.config is not managed
  • log rotation is not managed
  • the module doesn't help you make backups
  • module doesn't validate configuration settings at all

warning The Riak RPMs distributed by Basho are not GPG signed. To work around this, the module disabled GPG verification in that Yum repository. The apt packages are signed, so this only applies to EL platforms.

Contribution

Please contribute to this module. This module has extensive test coverage in order to make contributing easier. Please read CONTRIBUTING.md for details.

Maintainers

You can read the full guidelines for bug reporting and code contributions on the Riak Docs. And thank you! Your contribution is incredible important to us.

License and Authors

Copyright (c) 2015 Basho Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.