Coder Social home page Coder Social logo

dhofer / puppet-consul_template Goto Github PK

View Code? Open in Web Editor NEW

This project forked from claranet/puppet-consul_template

0.0 0.0 2.0 139 KB

A Puppet module to manage the config and jobs of Consul Template from Hashicorp

License: Apache License 2.0

Ruby 38.18% Puppet 40.85% Shell 17.84% HTML 3.13%

puppet-consul_template's Introduction

consul_template for Puppet

Build Status

Installation

What This Module Affects

  • Installs the consul-template binary (via url or package)
  • Optionally installs a user to run it under
  • Installs a configuration file (/etc/consul-template/config.json)
  • Manages the consul-template service via upstart, sysv, or systemd

Parameters

  • purge_config_dir Default: true. If enabled, removes config files no longer managed by Puppet.
  • config_mode Default: 0660. Mode set on config files and directories.
  • bin_dir Default: /usr/local/bin. Path to the consul-template binaries
  • arch Default: Read from facter. System architecture to use (amd64, x86_64, i386)
  • version Default: 0.11.0. Version of consul-template to install
  • install_method Default: url. When set to 'url', consul-template is downloaded and installed from source. If set to 'package', its installed using the system package manager.
  • os Default: Read from facter.
  • download_url Default: undef. URL to download consul-template from (when install_method is set to 'url')
  • download_url_base Default: https://github.com/hashicorp/consul-template/releases/download/ Base URL to download consul-template from (when install_method is set to 'url')
  • download_extension Default: zip. File extension of consul-template binary to be downloaded (when install_method is set to 'url')
  • package_name Default: consul-template. Name of package to install
  • package_ensure Default: latest.
  • config_dir Default: /etc/consul-template. Path to store the consul-template configuration
  • extra_options Default: ''. Extra options to be bassed to the consul-template agent. See https://github.com/hashicorp/consul-template#options
  • service_enable Default: true.
  • service_ensure Default: running.
  • user Default: root. This used to be a default of consul-template and this caused much out-of-box pain for people.
  • group Default: root.
  • manage_user Default: false. Module handles creating the user.
  • manage_group Default: false. Module handles creating the group.
  • consul_host Default: localhost. Hostanme of consul agent to query
  • consul_port Default: 8500. Port number the API is running on
  • consul_token Default: ''. ACL token to use when querying consul
  • consul_retry Default: 10s. Time in seconds to wait before retrying consul requests
  • consul_wait Default: undef. Min:Max time to wait before consul-template renders a new template to disk and triggers refresh. Specified in the format min:max according to Go time duration format
  • consul_max_stale Default: undef. The maximum staleness of a query. If specified, Consul will distribute work among all servers instead of just the leader.
  • init_style Init style to use for consul-template service.
  • log_level Default: info. Logging level to use for consul-template service. Can be 'debug', 'warn', 'err', 'info'

Usage

The simplest way to use this module is:

include consul_template

Or to specify parameters:

class { 'consul_template':
    service_enable   => false
    log_level        => 'debug',
    init_style       => 'upstart',
    consul_wait      => '5s:30s',
    consul_max_stale => '1s'
}

Watch files

To declare a file that you wish to populate from Consul key-values, you use the watch define. This requires a source .ctmpl file and the file on-disk that you want to update.

consul_template::watch { 'common':
    template      => 'data/common.json.ctmpl.erb',
    template_vars => {
        'var1' => 'foo',
        'var2' => 'bar',
    },
    destination   => '/tmp/common.json',
    command       => 'true',
    perms         => '0644',
}

Limitations

Depends on the JSON gem, or a modern ruby.

Development

See the contributing guide

Open an issue or fork and open a Pull Request

puppet-consul_template's People

Contributors

bashton-mattbuckland avatar bgirardeau avatar centromere avatar clintonm9 avatar codesplicer avatar craigwatson avatar cyberoni avatar dhofer avatar gazzerh avatar gdhbashton avatar jamesnesbitt-cloudpractice avatar jayh5 avatar keyan avatar khdevel avatar kscherer avatar madandroid avatar madddi avatar mrh666 avatar nhandler avatar phaerle avatar ross avatar sw0x2a avatar

Forkers

hex2a phaer

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.