Skip to content

Latest commit

 

History

History
153 lines (111 loc) · 4.88 KB

REFERENCE.md

File metadata and controls

153 lines (111 loc) · 4.88 KB

Reference

Table of Contents

Classes

Public Classes

  • puppetwebhook: Manage the installation and configuration of the puppet_webhook gem

Private Classes

  • puppetwebhook::config: Configures puppet_webhook API server.
  • puppetwebhook::install: Installs the puppetwebhook gem
  • puppetwebhook::service: Manage the webhook service

Data types

Classes

puppetwebhook

The Puppet Webhook module will install and configure the Sinatra-based web application that serves up a REST API for executing Puppet-related tasks.

Examples

include puppetwebhook
Specify parameters
class { 'puppetwebhook':
  pkg_provider => 'gem',
  server_cfg   => {
    server_type => 'daemon',
    host        => '0.0.0.0',
    logfile     => '/etc/puppet_webhook/webhook.log',
  },
}
Specify Parameters using hiera
puppetwebhook::pkg_provider: 'puppet_gem'
puppetwebhook::server_cfg:
  server_type: 'simple'
  host: '192.168.100.5'
  loglevel: 'WARN'

Parameters

The following parameters are available in the puppetwebhook class:

app_cfg

Data type: Hash

Hash of application configuration options

Options:

  • :protected Boolean: Run API server in protected mode.
  • :user String[1]: API server auth user.
  • :pass String[1]: API server auth password.
  • :client_cfg Stdlib::Absolutepath: MCollective client config. Optional.
  • :client_timeout String[1]: MCollective client timeout. Optional.
  • :use_mco_ruby Boolean: Use MCollective ruby client. Optional.
  • :use_mcollective Boolean: Whether to use MCollective or not.
  • :discovery_timeout String[1]: MCollective discovery timeout. Optional.
  • :chatops Boolean: Integrate a ChatOps tool or not. Default: false.
  • :chatops_service Enum['slack', 'rocketchat']: Which chatops to use. Optional.
  • :chatops_channel Pattern[/\A#**/]: Channel to post to. Optional.
  • :chatops_user String[1]: User to post as. Optional.
  • :chatops_url Stdlib::HTTLUrl: URL to post chatops messages to. Optional.
  • :default_branch String[1]: Default R10K branch to use. Default: production
  • :ignore_environments Array[String[1]]: R10K Environment to ignore. Optional.
  • :prefix_command String[1]: Command that will generate an R10K prefix. Optional.
  • :r10k_deploy_arguments String[1]: Arguments to pass to R10K.
  • :allow_uppercase Boolean: Allow uppercase characters. Optional.
  • :command_prefix String[1]: Command to execute before R10K. For example umask 0022;. Optional.
  • :prefix String[1]: R10K prefix. Optional.
  • :github_secret String[1]: Used to verify the signature on a repo. Currently only supported for Github repos. Optional.
  • :repository_events Array: Array of webhook events to ignore. Optional.

Default value: { 'production' => { 'protected' => true, 'user' => 'puppet', 'pass' => 'puppet', 'chatops' => false, 'default_branch' => 'production', 'ignore_environments' => [], 'allow_uppercase' => true, 'loglevel' => 'info' } }

manage_package

Data type: Boolean

Enable/Disable the management of the package

Default value: true

manage_repo

Data type: Boolean

weather we should manage the repository for puppet_webhook or not

Default value: true

Data types

Puppetwebhook::Appconfig

custom type to enforce the config for the whole application

Alias of

Struct[{
  protected                     => Boolean,
  user                          => String[1],
  pass                          => String[1],
  Optional[client_cfg]          => Stdlib::Absolutepath,
  Optional[client_timeout]      => String[1],
  Optional[use_mco_ruby]        => Boolean,
  use_mcollective               => Boolean,
  Optional[discovery_timeout]   => String[1],
  chatops                       => Boolean,
  Optional[chatops_service]     => Enum['slack', 'rocketchat'],
  Optional[chatops_channel]     => Pattern[/\A#.*/],
  Optional[chatops_user]        => String[1],
  Optional[chatops_url]         => Stdlib::HTTPUrl,
  default_branch                => String[1],
  Optional[ignore_environments] => Array[String[1]],
  Optional[prefix_command]      => String[1],
  r10k_deploy_arguments         => String[1],
  Optional[allow_uppercase]     => Boolean,
  Optional[command_prefix]      => String[1],
  Optional[prefix]              => String[1],
  Optional[github_secret]       => String[1],
  Optional[repository_events]   => Array,
}]