Coder Social home page Coder Social logo

quentinmoss / jlambert121-puppet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jlambert121/jlambert121-puppet

0.0 2.0 0.0 113 KB

Puppet module to manage puppet and puppetserver (java)

License: Apache License 2.0

Ruby 52.54% Puppet 24.28% HTML 23.18%

jlambert121-puppet's Introduction

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 puppet
  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. TODO
  8. Development - Guide for contributing to the module
  9. Changelog/Contributors

Overview

A puppet module to manage puppet-agent and puppetserver (the closure server, not ruby).

Module Description

This is a puppet module to manage puppet >= 4.0.0 and puppetserver >= 2.3.0.

Currently acceptance tests are a bit wonky due to beaker's inability to handle puppet AIO packages

Setup

What puppet affects

  • puppet and puppetserver services
  • cron entry (if desired) for scheduled puppet runs
  • /etc/puppetlabs/puppet/, /etc/puppetlabs/puppetserver/

Beginning with puppet

This module can be installed with

  puppet module install jlambert121-puppet

Usage

Basic usage only managing puppet and the puppetmaster at "puppet.${::domain}"

    class { 'puppet': }

Setting up a puppetserver node (with agent running as daemon)

    class { 'puppet':
      runmode => 'service',
      server  => true,
    }

###Parameters

Agent Configuration

#####agent Boolean. Whether or not the agent should be installed

Default: true

#####puppet_version String. Version of the puppet agent to install

Default: latest

#####ca_server String. Hostname of the CA server to be used by the agent

Default: undef

#####use_srv_records Boolean. Whether or not to use DNS SRV records

Default: false

#####srv_domain String. Domain to use for DNS SRV records

Default: undef

#####runmode Enum['cron', 'service', 'none']. How the puppet agent runs should be scheduled.

Default: cron

#####runinterval String. Frequency of agent checkins if runmode is 'service'. No effect otherwise.

Default: 30m

#####environment String. Environment for this agent

Default: production

Server Configuration

#####server Boolean. Whether or not the server should be installed

Default: false

#####dns_alt_names Array[String]. Alternative DNS names for this server

Default: undef

#####fileserver_conf Hash[String, Hash[String, String]]. Fileserver mounts to configure

Default: undef

The format of this value is:

    {
      mountpoint => {
        parameter => value
      }
    }
manage_hiera

Boolean. Whether or not this module should manage the hiera.yaml file

Default: true

#####hiera_source String. Source for hiera.yaml to install. Will enable hiera lookups on the server

Default: undef

#####jruby_instances Integer. Number of JRuby instances to start up inside the puppetserver JVM

Default: $::processors[count]-1

Note: if this value is not >= 1, then this is defaulted to 1.

#####server_puppetdb Boolean. Whether or not puppetdb termini and route configuration should be installed

Default: false

#####server_puppetdb_port Integer. Port puppetdb is listening on.

Default: 8081

#####server_puppetdb_server String. Hostname where puppetdb is running. Required if puppetdb => true

Default: undef

#####server_puppetdb_version String. Version of puppetdb-termini to install.

Default: latest

#####server_ca_enabled Boolean. Whether or not to enable the CA server

Default: true

#####server_certname String. Allow overriding certname

Default: undef

#####server_java_opts String. Java options for puppet server

Default: -Xms2g -Xmx2g

#####server_log_dir String. Location of puppetserver logs

Default: /var/log/puppetserver

#####server_log_file String. Name of puppetserver logfile

Default: puppetserver.log

#####server_reports Array[String]. List of reports to enable

Default: undef

#####server_version String. Version of puppetserver to install.

Default: latest

#####use_legacy_auth Boolean. Whether to use the deprecated /etc/puppetlabs/puppet/auth.conf (true) or the new /etc/puppetlabs/puppetserver/conf.d/auth.conf (false).

Default: false

#####server_ssl_cert String. Path to server ssl certificate (see https://docs.puppetlabs.com/puppetserver/2.2/config_file_webserver.html)

Default: undef

#####server_ssl_key String. Path to server ssl key (see https://docs.puppetlabs.com/puppetserver/2.2/config_file_webserver.html)

Default: undef

#####server_ssl_ca_cert String. Path to server ssl CA certificate (see https://docs.puppetlabs.com/puppetserver/2.2/config_file_webserver.html)

Default: undef

#####server_ssl_cert_chain String. Path to server ssl certificate chain (see https://docs.puppetlabs.com/puppetserver/2.2/config_file_webserver.html)

Default: undef

#####server_ssl_crl_path String. Path to server ssl CRL (see https://docs.puppetlabs.com/puppetserver/2.2/config_file_webserver.html)

Default: undef

Reference

Classes

Public Classes

  • puppet: Entry point for configuring the module

Private Classes

  • puppet::agent: Controlls ordering and notfications for agent manipulation
  • puppet::agent::install: Installs puppet-agent
  • puppet::agent::config: Manages agent configuration
  • puppet::agent::service: Manages agent service and cron entries
  • puppet::common: Common packages and settings for agent and server
  • puppet::params: Default parameters for the puppet class
  • puppet::server: Controlls ordering and notifications for server manipulation
  • puppet::server::install: Manages the server packages and paths
  • puppet::server::config: Manages the server configuration
  • puppet::server::service: Manages the server service

Limitations

General

This module is acceptance tested on CentOS 6.5, CentOS 7.0, Ubuntu 12.04, and Ubuntu 14.04. Feedback on other platforms/versions would be appreciated

TODO

Development

Improvements and bug fixes are greatly appreciated. See the contributing guide for information on adding and validating tests for PRs.

Changelog / Contributors

Changelog

Contributors

jlambert121-puppet's People

Contributors

claflico avatar greigm avatar jbehrends avatar jlambert121 avatar mgeggie-uber avatar mmckinst avatar rnelson0 avatar roidelapluie avatar sjoeboo avatar

Watchers

 avatar  avatar

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.