Coder Social home page Coder Social logo

puppet-serf's Introduction

#puppet-Serf

Bitdeli Badge Build Status

##Overview

The Serf module installs, configures, and manages a Serf agent.

Firewall ports must be managed elsewhere. If using default serf configuration, ensure that 7946 is open for serf node communication, and 7373 for RPC.

##Module Description

The Serf module manages the installation and configuration of Serf

##Setup

puppet module install davidcollom/serf

##Usage

With defaults:

include serf

On AWS, with sample event handler:

class{'serf':
    bind           => $::ec2_public_ipv4,
    sample_handler => true,
}

###Parameters

#####version The version you wish to install

#####bind The address that Serf will bind to for communication with other Serf nodes

Note Changing the bind port also requires you specify the rpc_addr otherwise rpc_addr will remain the default $::ipaddress fact

#####config_dir The directory you wish to store the serf config file in, defaults to: '/etc/serf/'

#####config_file The name of the config file you wish to be generated, stored within config_dir eg:${config_dir}/${config_file}

#####encrypt Secret key to use for encryption of Serf network traffic

#####event_handler Array of event handlers, NOTE: No validation is performed if these files exist.

#####join Array of IP's known to the Serf network already, This was added to allow for hiera data to be passed and allow for a "master" node which is aware of all serf clusters but is in a "monitoring" state.

#####log_level Change logging levels, Added for debugging purposes, defaults to: info #####node Node name, defaults to $fqdn

#####protocol Protocol Version to use- this is for backwards compatability and defaults to 1

#####role Optional Role for specific node

#####rpc_addr The address that Serf will bind to for the agent's internal RPC server, defaults to: "${::ipaddress}:7373"

Eg:

$::ipaddress='10.5.2.xxx'
class{'serf':
    bind => '10.6.2.xxxx'
}

rpc_addr would be '10.5.2.xxxx:7373'

#####install_path (Private) Installation path to install serf executable, this should be within your normal users path. defaults to: /usr/local/bin

#####install_url Where to download serf from, this defaults to: https://dl.bintray.com/mitchellh/serf/${version}_linux_${::architecture}.zip

#####install_method Defaults to url but can be package if you want to install via a system package.

#####sample_handler Defaults to false, but if set to true this will install a sample event handler bash script.

#####handler_home Defaults to /opt/serf and only used if sample_handler is true: where to install the handler script.

#####package_name Only valid when the install_method == package. Defaults to serf.

#####package_ensure Only valid when the install_method == package. Defaults to present.

#####config_owner and config_group Specify who is to become owner of $config_file

##Limitations

This module has been tested on:

  • Ubuntu 12.04
  • CentOS 6.4

Testing on other platforms has been light and cannot be guaranteed.

Authors

This module is based on the example provided by Mitchell Hashimoto at https://github.com/hashicorp/serf/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.