Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

icinga2 (32) Versions 4.0.0

Installs/Configures Icinga2

Policyfile
Berkshelf
Knife
cookbook 'icinga2', '~> 4.0.0', :supermarket
cookbook 'icinga2', '~> 4.0.0'
knife supermarket install icinga2
knife supermarket download icinga2
README
Dependencies
Changelog
Quality 0%

icinga2 Cookbook

Cookbook Build Status Build Status

Icinga Logo

This is a Chef cookbook to manage Icinga2 using Chef LWRP.

For Production environment, always prefer the most recent release.

Repository

https://github.com/Icinga/chef-icinga2

Chef Supermarket

https://supermarket.chef.io/cookbooks/icinga2

Issue Tracking

For issue reporting or any discussion regarding this cookbook, open an issue.

Supported Platform

  • CentOS
  • Amazon
  • Debian
  • Ubuntu
  • Windows 10, Server 2012 R2

Chef Version

  • 12
  • 13

Contributing

See CONTRIBUTING.md

Major Changes

v4.0.0

  • Split icinga2 cookbook into different cookbooks
    • created cookbook icinga2repo for icinga2 yum/apt repository setup
    • created cookbook icingaweb2 for icingaweb2 setup
    • created cookbook icinga2client for icinga2 client setup
  • Icinga2 cookbook now only manage Icinga2 Server. Other components like packages repository, client, and icingaweb2 has been moved to different github repositories.
  • Icinga2 Classic UI is no longer under development (since Icinga2 v2.8.0).
  • Icinga Web2 setup is managed by cookbook icingaweb2.
  • Icinga2 Client setup is managed by cookbook icinga2client.
  • Icinga2 Repository setup is managed by cookbook icinga2repo. All Icinga2 cookbooks now uses icinga2repo for packages repository setup.
  • Created a separate file LWRP.md for LWRP Resources.

v2.9.1

  • Icinga2 ClassicUI is disabled by default, you can enable it by setting default['icinga2']['classic_ui']['enable'] value to true
  • Icingaweb2 installation is done by package instead of git source, you can change it via attribute default['icinga2']['web2']['install_method'] values package, source

v2.8.0

  • LWRP environment now generates endpoint/zone for every node to allow remote_execution.
  • LWRP environment now generates pki tickets in a data bag
  • Add example recipes to configure a client/remote_api server which allow external command execution
  • Allow to set command_endpoint as var and not only as string

v2.7.1

  • LWRP environment now generates conf file with resource name suffix to allow same environment multiple resources.

Existing host_ENVIRONMENT.conf configuration files needs to be purged manually to allow new file name configuration files.

New File Format:
With Zone: "host_#{environment}_#{zone}_#{resource_name}.conf"
Without Zone: "host_#{environment}_#{resource_name}.conf"

Old File Format:
With Zone: "host_#{environment}_#{zone}.conf"
Without Zone: "host_#{environment}.conf"

v2.6.9

  • Attribute default['icinga2']['user_defined_objects_d'] is deprecated. For User defined configuration directories, use Array attribute default['icinga2']['user_defined_objects_dir'] instead.

v2.0.1

  • icinga web2 uri updated to /icingaweb2

  • epel repository is by default enabled for rhel platform family except amazon platform

v0.10.1

  • Deprecated node features attribute and recipe icinga2::server_features in favour of LWRP feature

v0.7.0

  • LWRP environment now generates different conf file with zone name if resource attribute zone is defined

file name:

file name without zone: `host_#{environment}_#{resource_name}.conf`

file name with zone: `host_#{environment}_#{zone}_#{resource_name}.conf`

Note: Cookbook version prior to v0.7.0 users must delete
configuration file host_#{environment}.conf manually if
zone attribute is defined.

Note: Cookbook version prior to v2.7.1 users must delete
configuration files host_#{environment}.conf / host_#{environment}_#{zone}.conf manually.

Cookbook Dependencies

  • ulimit
  • yum-epel
  • chocolatey
  • icinga2repo

Recipes

  • icinga2::default - run_list recipe

  • icinga2::install - install icinga2 package

  • icinga2::config - configure icinga2

  • icinga2::objects - manages icinga2 default objects/templates objects if node['icinga2']['disable_conf_d'] is set in which case conf.d objects config is not included in icinga2.conf and objects are created using LWRP

  • icinga2::service - configure icinga2 service

Icinga2 Default Configuration Directory

If you are using this cookbook to manage icinga2 configuration, set default['icinga2']['disable_conf_d'] to true.

Cookbook generated configuration files using LWRP are created under directory default['icinga2']['objects_dir'].

default['icinga2']['disable_conf_d'] default value is set to true.

Icinga2 Cookbooks and Recipes

How to Install and Configure Icinga2 Server?

Add recipe icinga2::default to run_list.

How to Setup Icinga2 YUM/APT Repository?

Cookbook icinga2repo::default is used to setup icinga2 yum/apt repository.
For more information, see cookbook icinga2repo.

How to Install and Configure Icinga2 Client?

Add recipe icinga2client::default to run_list.
For more information, see cookbook icinga2client.

How to Install and Configure Icingaweb2?

Add recipe icingaweb2::default to run_list.
For more information, see cookbook icingaweb2.

Icinga2 Cluster Deployment

Icinga2 Distributed / HA cluster setup examples will be added soon.

Icinga2 Monitor a Chef Environment Nodes

This cookbook does not only provide management of Icinga2 server & objects, it also provides
automation around Chef environment.

Using LWRP environment a whole environment nodes can be added to Host objects with environment wide Host object parameters.

There are certain functionalities added to LWRP environment, like:

  • define icinga2 Host parameters for an entire environment

  • auto create HostGroup object for an entire chef environment

  • auto create HostGroup object for node's application attribute to group nodes for an entire chef environment application type

  • auto create HostGroup object for node's cluster attribute to group nodes for a chef environment cluster

  • auto add chef node Cloud attributes as Host custom vars, currently only AWS EC2 attributes are supported, but is easy to extend the support to other cloud providers

  • auto create HostGroup list for a chef environment node

  • limit a chef environment spreaded across multiple regions to icinga2 server region, e.g. in multi region ec2 production environment, one would want to setup an icinga2 server in region us-east-1 just to monitor us-east-1 nodes, but not the production nodes of other regions, like ap-southeast-1

  • allow chef node to determine host.address from node['fqdn'] DNS resolution instead of node['ipaddress'] and either ignore chef node if failed to resolve DNS or fallback to use node['ipaddress'] as host.address

  • exclude a node by run_list role, not yet tested

  • exclude a node by run_list role, not yet tested

  • filter chef node if match certain node attributes

  • override an environment and use an entire different search_pattern, this feature extends LWRP environment functionality to select nodes by a user given search pattern

  • Host object attribute display_name is set to chef node hostname

  • can exclude chef nodes from icinga2 monitoring if attribute node['monitoring_off'] is set

Simply create a LWRP resource for a chef environment, to start monitoring all nodes in that environment. More details can be found in examples.

Icinga2 Monitor an User Defined Chef Environment Nodes/HostGroups

Last section explains the benefits of using LWRP environment using in built library search function to determine chef_environment nodes / icinga2 Host and auto create icinga2 HostGroup.

This section explains how a user can provide a custom inventory list of nodes, host groups etc.

To find all the valid chef nodes for a chef environment, this cookbook uses default library icinga2::search. There are lots of custom & cloud specific attributes embedded in it which may or may not work for every scenarios.

To overcome and make it less enforcing, LWRP environment has a Hash attribute env_resources which can be used by an user from a wrapper cookbook recipe to pass chef environment nodes & hostgroups & endpoints & zones. If this attribute is set, cookbook will not use default library to search chef_environment nodes and will create Host objects for user defined values.

env_resources Hash attributes has below valid key names:

  • nodes - Hash of {:Hostfqdn => {icinga2 Host attributes}, :Hostfqdn => {icinga2 Host attributes}, …}
  • clusters - Array of cluster HostGroups […] if any
  • applications - Array of application HostGroups […] if any
  • roles - Array of roles HostGroups […] if any

e.g.
ruby
icinga2_environment 'UserDefinedEnvironment' do
import node['icinga2']['object']['host']['import']
environment 'production'
check_interval '1m'
retry_interval '10s'
max_check_attempts 3
action_url '/pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_'
env_resources :nodes => {:fqdn => {attrs}, :fqdn => {attrs}}
end

For more details about nodes attributes, check LWRP environment object template.

Like env_resources, user can also define custom template for LWRP environment using attribute cookbook and template.

Icinga2 Global Host Custom Vars

environment LWRP Host Vars

LWRP environment resources sets Host custom vars for each node via node Hash attribute -
node['icinga2']['client']['custom_vars']. All defined vars will be added to Host object.

host LWRP Host Vars

When using icinga2_host LWRP, node custom vars will not be added automatically. There will be no search performed as the Host object could be different than a chef Node.

To add Host custom vars, use Hash attribute custom_vars.

A resource attribute will be added to icinga2_host LWRP to perform a search to fetch custom vars defined for a node, so that manual addition is not required.

Icinga2 Node Attributes as Host Custom Vars

environment resource attribute add_node_vars can add a node attribute to Host custom vars.

e.g. to add a custom var hardware with value of node attribute node['dmi']['system']['manufacturer']

icinga2_environment 'environment' do
  add_node_vars 'hardware' => %w(dmi system manufacturer)
end

It will add a custom var vars.hardware to environment Host objects.

Icinga2 User Defined Objects / Configuration

Attribute node['icinga2']['user_defined_objects_dir'] manages user defined configuration directories location.

Directories will be created under /etc/icinga2/ and also included in icinga2.conf.

LWRP

See LWRP.md for icinga2 resources.

Cookbook Advanced Attributes

  • default['icinga2']['ignore_version'] (default: false): ignore icinga2 package version

  • default['icinga2']['disable_conf_d'] (default: true): disable icinga2 conf.d default configuration directory in icinga2.conf and use LWRP to manage icinga2 objects / templates

  • default['icinga2']['disable_repository_d'] (default: false): disable icinga2 repository.d directory in icinga2.conf

  • default['icinga2']['include_itl'] (default: itl, plugins): icinga2.conf include itl array attribute

  • default['icinga2']['add_cloud_custom_vars'] (default: true): add cloud node attributes, limited cloud provider support is available

  • default['icinga2']['add_inet_custom_vars'] (default: false): add node inet ip addresses custom vars

  • default['icinga2']['features_enabled_dir'] (default: /etc/icinga2/features-enabled): icinga2 enabled features location

  • default['icinga2']['features_available_dir'] (default: /etc/icinga2/features-available): icinga2 available features location

  • default['icinga2']['cluster_attribute'] (default: nil): icinga2 node cluster attribute name to add node cluster attribute and value to node vars

  • default['icinga2']['application_attribute'] (default: nil): icinga2 node application attribute name to add node application attribute and value to node vars

  • default['icinga2']['enable_cluster_hostgroup'] (default: true): creates icinga2 HostGroup Objects for environment clusters

  • default['icinga2']['enable_application_hostgroup'] (default: true): creates icinga2 HostGroup Objects for environment application types

  • default['icinga2']['enable_role_hostgroup'] (default: false): creates icinga2 HostGroup Objects for environment roles

  • default['icinga2']['limit_region'] (default: true): whether to limit monitoring to icinga2 server region, e.g. for ec2 collect nodes belongs to same region

  • default['icinga2']['host_display_name_attr'] (default: hostname): whether to use hostname or fqdn or name (chef node name) for environment resource Host Object attribute display_name, options: hostname fqdn

  • default['icinga2']['use_fqdn_resolv'] (default: false): whether to determine node address from fqdn

  • default['icinga2']['failover_fqdn_address'] (default: true): whether to use ohai attribute node['ipaddress'] if node fqdn does not exists

  • default['icinga2']['ignore_node_error'] (default: false): whether to ignore node errors if node fqdn, hostname and chef_environment is missing while collecting for a chef environment

  • default['icinga2']['ignore_resolv_error'] (default: true): whether to ignore node fqdn resolve errors while collecting for a chef environment

  • default['icinga2']['enable_env_pki'] (default: false): whether to create env endpoints, zones and pki_tickets

  • default['icinga2']['enable_env_custom_pki'] (default: false): LWRP Parameter, should not be a node attribute

Cookbook Core Attributes

  • default['icinga2']['version'] (default: 2.8.0-X, calculated): icinga2 package version

  • default['icinga2']['setup_epel'] (default: true): if set includes cookbook recipe yum-epel::default for rhel and fedora platform_family

  • default['icinga2']['cookbook'] (default: icinga2): icinga2 resources cookbook name

  • default['icinga2']['conf_dir'] (default: /etc/icinga2): icinga2 configuration location

  • default['icinga2']['conf_d_dir'] (default: /etc/icinga2/conf.d): icinga2 conf.d directory location

  • default['icinga2']['pki_dir'] (default: /etc/icinga2/pki): icinga2 pki directory location

  • default['icinga2']['scripts_dir'] (default: /etc/icinga2/scripts): icinga2 script directory location

  • default['icinga2']['zones_dir'] (default: /etc/icinga2/zones.d): icinga2 zones.d directory location

  • default['icinga2']['databag'] (default: icinga2): icinga2 databag name, currently not used

  • default['icinga2']['objects_d'] (default: objects.d): cookbook created icinga2 Object/Templates resources directory name

  • default['icinga2']['objects_dir'] (default: /etc/icinga2/objects.d): cookbook created icinga2 Object/Templates resources directory location

  • default['icinga2client']['var_dir'] (default: calculated): icinga2 run directory

  • default['icinga2']['run_dir'] (default: /var/run/icinga2): icinga2 run directory

  • default['icinga2']['run_cmd_dir'] (default: /var/run/icinga2/cmd): icinga2 location for process icinga2.cmd

  • default['icinga2']['cache_dir'] (default: /var/cache/icinga2): icinga2 cache directory location

  • default['icinga2']['spool_dir'] (default: /var/spool/icinga2): icinga2 spool directory location

  • default['icinga2']['lib_dir'] (default: /var/lib/icinga2): icinga2 lib directory location

  • default['icinga2']['log_dir'] (default: /var/log/icinga2): icinga2 core process log directory location

  • default['icinga2']['cache_dir'] (default: /var/cache/icinga2): icinga2 cache directory location

  • default['icinga2']['perfdata_dir'] (default: /var/spool/icinga2/perfdata): icinga2 perfdata directory location

  • default['icinga2']['service_name'] (default: icinga2): icinga2 process name

  • default['icinga2']['service_config_file'] (default: /etc/default/icinga2): icinga2 * process configuration file

  • default['icinga2']['plugins_dir'] (default: /usr/lib/nagios/plugins): icinga2 plugins directory location

  • default['icinga2']['custom_plugins_dir'] (default: /opt/icinga2_custom_plugins): icinga2 custom plugins directory

  • default['icinga2']['admin_user'] (default: icingaadmin): icinga2 admin user

  • default['icinga2']['user'] (default: icinga): icinga2 user

  • default['icinga2']['group'] (default: icinga): icinga2 user group

  • default['icinga2']['cmdgroup'] (default: icingacmd): icinga2 cmd user group

  • default['icinga2']['user_defined_objects_dir'] (default: ['user_defined_objects']): user defined configuration directories, each directory is included in icinga2.conf file.

  • default['icinga2']['endpoint_port'] (default: 5665): icinga2 endpoint port

  • default['icinga2']['version_suffix'] (default: calculated): icinga2 package suffix

Cookbook Icinga2 Constants Attributes

  • default['icinga2']['constants']['NodeName'] (default: node['fqdn']): icinga2 NodeName constant

  • default['icinga2']['constants']['PluginDir'] (default: node['icinga2']['plugins_dir']): icinga2 plugins directory location

  • default['icinga2']['constants']['ManubulonPluginDir'] (default: node['icinga2']['plugins_dir']): icinga2 plugins directory location

  • default['icinga2']['constants']['TicketSalt'] (default: ed25aed394c4bf7d236b347bb67df466): icinga2 default TicketSalt key

Cookbook Icinga2 Host Object default Attributes

  • default['icinga2']['object']['global-templates'] (default: false)

  • default['icinga2']['object']['host']['import'] (default: 'generic-host)

  • default['icinga2']['object']['host']['max_check_attempts'] (default: 3)

  • default['icinga2']['object']['host']['check_period'] (default: nil)

  • default['icinga2']['object']['host']['notification_period'] (default: nil)

  • default['icinga2']['object']['host']['check_interval'] (default: 1800)

  • default['icinga2']['object']['host']['retry_interval'] (default: 60)

  • default['icinga2']['object']['host']['enable_notifications'] (default: true)

  • default['icinga2']['object']['host']['enable_active_checks'] (default: true)

  • default['icinga2']['object']['host']['enable_passive_checks'] (default: false)

  • default['icinga2']['object']['host']['enable_event_handler'] (default: true)

  • default['icinga2']['object']['host']['enable_flapping'] (default: true)

  • default['icinga2']['object']['host']['enable_perfdata'] (default: true)

  • default['icinga2']['object']['host']['event_command'] (default: nil)

  • default['icinga2']['object']['host']['flapping_threshold'] (default: nil)

  • default['icinga2']['object']['host']['volatile'] (default: nil)

  • default['icinga2']['object']['host']['check_command'] (default: hostalive)

  • default['icinga2']['object']['host']['zone'] (default: nil)

  • default['icinga2']['object']['host']['command_endpoint'] (default: nil)

Cookbook Ulimit Attributes

  • default['icinga2']['limits']['memlock'] (default: unlimited): Icinga2 service user memory limit

  • default['icinga2']['limits']['nofile'] (default: 48000): Icinga2 service user file limit

  • default['icinga2']['limits']['nproc'] (default: unlimited): Icinga2 service user process limit

Authors:: Check AUTHORS file

<pre>
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.
</pre>

icinga2 CHANGELOG

This file is used to list changes made in each version of the icinga2 cookbook.

4.0.0

  • Andrei Skopenko - Fix icinga2 package suffix for el7

  • Andrei Skopenko - Bump icinga2 version

  • Virender Khatri - Split cookbook to separate cookbooks

  • Virender Khatri - Created cookbook icinga2client for Icinga2 Clients

  • Virender Khatri - Created cookbook icingaweb2 for Icingaweb2

  • Virender Khatri - Created cookbook icinga2repo for Icinga2 YUM/APT Repository

3.0.1

  • Andrei Skopenko - FixHost object command_endpoint

  • Alex Markessinis - Updated chocolatey dependency

  • Andrei Skopenko - Fix icinga2 cache dir

  • Andrei Skopenko - Added influxdbwriter object

3.0.0

  • Bernhard Hackl - Fix NoMethodError in provider_instance

  • Peter Phillips - Added resources attribute notification_period

  • Bernhard Hackl - Added raspbian support

  • Virender Khatri - Documentation clean up for issue #265

  • Virender Khatri - Enabled travis kitchen tests with chefdk #281

  • David Beck - Updated documentation #285

  • Thomas Farvour - Added new attribute enable_role_hostgroup for environment + role hostgroup #286

  • Thomas Farvour - Pin chef omnibus version so that Chef 13 doesn't break all the tests

  • Thomas Farvour - Fixed hostgroup for roles

  • Thomas Farvour - Added attribute enable_env_custom_pki to skip PKI setup

  • Techcadia - Added windows support

  • Techcadia - Added directory resources for repository.d

  • Michael Siebert - Allow "item in host.vars.bar" syntax in icinga2_applyservice #287

  • Michael Friedrich - Add GitHub issue template #288

  • Techcadia - Updated service object template to use evaluate_quotes

  • Techcadia - Updated README for weird syntax and space

  • Bernhard Hackl - Fixed run_context null value return issue

  • Vil Surkin - Fix Trusty package version

  • Vil Surkin - Updated specs

  • Vil Surkin - Disabled apt install_recommends, install libapache2-mod-php5 only for ubuntu trusty

  • Vil Surkin - Added 'icinga2-test-mysql-instance' and updated kitchen tests

  • Vil Surkin - Added specs for icingaweb2

  • Vil Surkin - Added specs for classicui

  • Vil Surkin - Updated kitchen dokken tests

  • Vil Surkin - Switch from rubocop to cookstyle

  • Vil Surkin - Fix lint

  • Thomas Farvour - Updated icinga2 package version to 2.7.0

  • Virender Khatri - Switch to server_api for Chef 13, fix for #284

  • Virender Khatri - Fixed Debian9 kitchen test, gnupg dependency

  • Virender Khatri - Added Amazon Platform family support

  • Virender Khatri - Pin Travis chefdk=2.0.28-1

  • Andrei Skopenko - Added LWRP icinga2_apiuser

  • Andrei Skopenko - Added cookbook source for apache conf templates

2.9.3

  • Virender Khatri - use php7 for ubuntu xenial #269, #69

  • Virender Khatri - fix ubuntu package version, reverted change by #267

2.9.2

  • Virender Khatri - Added .ignore directory to ignore

  • Cody Sandwith - Fixes references to PHP Aptitude package names and paths, to support Ubuntu 16.04

  • Cody Sandwith - Fixed PHP.ini's location and date_timezone attribute

  • Cody Sandwith - Added icinga web2 packages release version

  • Cody Sandwith - Cleaned up Aptitude/Yum package declarations

  • Cody Sandwith - Updated recipes to be more compatible with lint, and cleaned up comments

  • JJ Asghar - Rubocop fix

  • Ankit Rusia - Fix missing parent attribute for icinga2_envzone

  • Blerim Sheqa - Ignore rubocop BlockLenth

  • Frederik Thuysbaert - Makes wrapping possible of the object templates that belong to Icinga2Instance resources

  • Blerim Sheqa - Fix Rubocop again

  • Virender Khatri - fixed specs for trusty

  • Jeroen Jacobs - PR #241, Updates the web2 git source url

  • Cody Sandwith - PR #246, Ubuntu 16.04 Compatibility updates

  • Virender Khatri - PR #247, rubocop fix

  • Virender Khatri - Issue #249, should fail if os detail is unknown for php.ini file location

  • Virender Khatri - PR #252, fixed typo for web2_version check

  • Virender Khatri - PR #253, allow ignore version for icingaweb2 and icingacli packages

  • Virender Khatri - Issue #244, set default timezone value UTC if missing

  • Virender Khatri - Issue #256, remove default git package for rhel platform_family

  • Virender Khatri - Issue #245, #242, Fixed icingacli version install error

  • Virender Khatri - Updated Packages version to latest

  • Virender Khatri - Issue #258, set apache2 default mpm to prefork for ubuntu

  • Virender Khatri - Updated Kitchen

  • Virender Khatri - Issue #236, default disable default icinga2 conf directory

  • Virender Khatri - Issue #255, support debian platform

  • Virender Khatri - Issue #255, fixed kitchen debian os version

  • Virender Khatri - Issue #262, use dependency cookbooks latest version

  • Virender Khatri - Issue #267, update packages version to 2.6.1

  • Virender Khatri - Issue #266, Updated kitchen to allow ports override

2.9.1

  • Blerim Sheqa - Ignore foodcritic FC057

  • Virender Khatri - Feature #12785, update to latest package release

  • Virender Khatri - Bug #12609 fix, cannot do core_install on Ubuntu 14 LTS

  • Virender Khatri - Fix ido setup, require mysql client to load schema

  • Virender Khatri - Bug #12787, include recipe service_ido_schema only if node[icinga2][ido][load_schema]

  • Virender Khatri - Bug #12788, do not include recipe server_pnp unless classis_ui and pnp

  • Virender Khatri - Updated kitchen

  • Virender Khatri - Bug #12794, add db port to ido schema load

  • Virender Khatri - Bug #12795, deprecate node.set

  • Virender Khatri - Bug #12796, disable classic_ui by default

  • Virender Khatri - Added package installation for icingaweb2

  • Virender Khatri - Updated packages version

  • JJ Asghar - Fix Rubocop for Ruby3

2.9.0

  • Gavin Reynolds - Allow re-notifications to be disabled by allowing the value 0 in the interval regex for applynotification

  • Blerim Sheqa - Add TESTING.md

  • Blerim Sheqa - Update integration testing

  • Blerim Sheqa - Add centos to testkitchen platforms

  • JJ Asghar - Fix rubocop

  • Gavin Reynolds - Add user and group attributes to logrotate conf

  • Virender Khatri - setup pki env zone endpoint resources if node[icinga2][enable_env_pki] is enabled

  • Virender Khatri - update server_region with cloud provider only if new_resource.server_region is not set

  • Virender Khatri - Should check resource for template_support first

  • Virender Khatri - Fix amazon linux apache modules

  • Virender Khatri - Fix default[icinga2][plugins_dir] value

  • Virender Khatri - Added issues_url in metadata

  • Virender Khatri - Update travis to User Ruby v2.2

  • Gavin Reynolds - Add merge_vars attribute to applyservice and allow for multiple Service definitions for set by adding service name prefix

  • Gavin Reynolds - Use platform family debian for both Debian and Ubuntu

  • Gavin Reynolds - Fix icinga2_classic_ui_htpasswd path for debian

  • Thomas Supertramp - Feature #11834, Add lwrp envendpoint / envzone lwrp for environment resource

  • Thomas Supertramp - Feature #11958, Add pki ticket generation through chef_environment lwrp

  • Thomas Supertramp - Feature #11872, Add example of icinga2 client recipe

  • Thomas Supertramp - Feature #11959, Add example of icinga2 remote api listener recipe

  • Thomas Supertramp - Bug #11769, Fix rubocop offenses

  • Thomas Supertramp - Feature #11960, Allow to set a var as command_endpoint and not only string

  • Henry Finucane - Add unit tests for formatting output

  • Henry Finucane - Add function to format ruby data

  • Vincent Van Driessche - Fix notification, applynotification template for times parameter

  • Virender Khatri - Bug #10775, Add zone resource to icinga2_applydependency resource

  • Virender Khatri - Feature #10900, fix to allow multiple environment resources for an environment

  • Van Driessche Vincent - Feature #10831, Adds support to use "assign where" in usergroups

  • Virender Khatri - Feature #10831, Adds support to use "ignore where" in usergroups

2.7.0

  • Virender Khatri - Feature #10642, bump icinga2 version to v2.4.0

  • Virender Khatri - Bug #10756, point default[pnp4nagios][auth_file] to icinga htpasswd file

  • Virender Khatri - Bug #10755, manage directory /usr/share/icinga/ssi

  • Virender Khatri - Bug #10753, fix cloning resource attributes from prior resource (CHEF-3694)

  • Virender Khatri - Feature #10107, added chefspec

2.6.9

  • analogrithems@gmail.com - Bug 10090, attribute command is optional for resource checkcommand

  • Virender Khatri - Bug #10055, env_custom_vars key must be of type string

  • Martin Stiborsky - Feature 10094, added suport for placing configuration into zones in zones.d

  • Martin Stiborsky - Feature 10094, support for default configuration zone

  • Jo Rhett - Bug 10176, Fixed icinga log issue

  • Virender Khatri - Feature #10223, Major Cookbook Refactoring for LWRP Resources

  • Virender Khatri - Bug #9900, icinga2 classic ui user creation doc and code out of sync

  • Virender Khatri - Bug #10276, delete resource checkercomponent in favor feature checker

  • Virender Khatri - Bug #10261, fixes resource envhostgroup and environment to support zone distributed deployments

  • Virender Khatri - Feature #10279, remove :delayed from service notify

  • Virender Khatri - Feature #10280, object GelfWriter configuration attributes are optional

  • Virender Khatri - Feature #10281, object GraphiteWriter configuration attributes are optional

  • Virender Khatri - Feature #10282, object IdoMySqlConnection configuration attributes are optional

  • Virender Khatri - Feature #10283, object IdoPgSqlConnection configuration attributes are optional

  • Virender Khatri - Feature #10285, map attribute source default value to :resource_name for resource script

  • Virender Khatri - Feature #10286, set resource timeperiod attribute import default value to legacy-timeperiod

  • Virender Khatri - Bug #10334 and Feature #10333, added new attribute env_skip_node_vars and fixed env_filter_node_vars

  • Jo Rhett - Feature #10573, Add the ability to include multiple user defined directories.

  • Jo Rhett - Bug #10564, Day names need to be quoted in timeperiod definitions

  • Virender Khatri - Bug #10585, update cookbook for default['icinga2']['user_defined_objects_dir']

  • Virender Khatri - Bug #10149, added capability to add node attributes to custom vars

  • Virender Khatri - Bug #9842, add inet ip address custom vars

  • Virender Khatri - Bug #10215, added MYSQL_HOME env variable during schema load

2.6.5

  • Virender Khatri - Bug #9724, unable to create checkcommand templates via the cookbook

  • Virender Khatri - Feature #9737, Add a note for Production Environment Usage

  • Virender Khatri - Bug #9738, enable ITL for resource eventcommand

  • Virender Khatri - Bug #9764, enable ITL for resource notificationcommand

  • Virender Khatri - Bug #9805, udpate resources to match all possible values for resource.action

  • Virender Khatri - Bug #9807, Documentation change - icinga2_script says cookbook optional but it is mandatory

  • Virender Khatri - Bug #9809, bump icinga2 version to v2.3.8-1 and 1.13.3-0

2.5.7

  • Virender Khatri - Feature #9638, bump icingaweb2 release to v2.0.0-rc1

  • Virender Khatri - Feature #9639, bump icinga2 version to v2.3.7

2.5.5

  • Martin Stiborsky - Feature #9492, Node name added as a option for host display name for environment resource

  • Virender Khatri - Bug #9488, evaluate string for icinga2 function

  • Virender Khatri - Bug #9488, Functions as Custom Attribute doesnt work with custom_vars for checkcommand resource

2.5.2

  • Martin Stiborsky - Updated README for LWRP examples typo fix

  • Virender Khatri - Feature #9457, bump icinga2 version to 2.3.5-1

2.5.0

  • Virender Khatri - Bug #9173, update LWRP environment & README for monitoring_off

  • Virender Khatri - Bug #9174, make Host Object atttribute display_name configurable for LWRP environment

  • Virender Khatri - Bug #9194, sort aws host custom_vars attribute node_security_groups

  • Virender Khatri - Bug #9193, recipe server needs to include server_config

  • Virender Khatri - Bug #9195, sort groups attribute for resources icinga2 Objects

  • Steven De Coeyer - Update repo.rb typo

  • Steven De Coeyer - Add debian to, and reorders icinga2.apache_modules

  • Steven De Coeyer - Add debmon prefix to distribution for debian paltform family

  • Steven De Coeyer - Fix apt key for debmon repos

  • Steven De Coeyer - Add tests for icingaweb2

  • Steven De Coeyer - Fix version of packages for debian paltform family

  • Steven De Coeyer - Fix missing nagios user for ubuntu

  • Frederik Thuysbaert & Steven De Coeyer - Add set attribute to support 'apply Service for'

  • Frederik Thuysbaert & Steven De Coeyer - Adds evaluate_quotes method in favor of inspect

  • Frederik Thuysbaert - Update README to include Apply Service For

  • Virender Khatri - Bug #9370, fix nagios user group for ubuntu platform

  • Martin Stiborsky - Updated README.md for resource attribute port to be integer

  • Steven De Coeyer - Allows underscores in set attribute for resource applyservice

  • Virender Khatri - Feature #9299 add icinga2_script resource to add scripts from wrapper cookbook templates

2.3.1

  • Virender Khatri - Bug #9037, added Hash support for host / service custom vars

  • Virender Khatri - Bug #9019, fixed host.vars.disks attribute for lwrp environment

  • Virender Khatri - Bug #9038, added suffix centos for epel repo releasever 7

  • Marcel Beck - Bug #9038, rhel version check for centos suffix

  • Marcel Beck - Bug #9039, allow web_uri /

  • Virender Khatri - Bug #9066, allow arguments Hash key value to be String, Integer and Float for checkcommand lwrp

  • Virender Khatri - Bug #8788, possible fix for debian platform classic_ui cgi resource_file nil string

  • Virender Khatri - Bug #9126, manage classic ui cgi log directory

  • Virender Khatri - Bug #9125, update repo attribute to support debian platform

  • Virender Khatri - Bug #9128, fix user group ownership for node[icinga2][classic_ui][log_dir]

  • Virender Khatri - Bug #9129, classic ui unable to access icinga2 objects.cache on ubuntu platform

  • Jörg Herzinger - Bug #9132,Fix version contraint for centos 7 apache modules

  • Virender Khatri - Bug #9151, bump icinga2 version to v2.3.4-1, classic_ui version to v1.13.2

2.1.8

  • Virender Khatri - Bug #9001, added attribute to ignore default icinga2 package version

2.1.7

  • Virender Khatri - Feature #8997, bump update icinga2 version to v2.3.3

2.1.6

  • Virender Khatri - Feature #8630, adding default Host vars remote_client

  • Virender Khatri - Feature #8631, add default endpoint port

  • Virender Khatri - Bug #8635, re-org recipes in favour of client agent recipe

  • Virender Khatri - Bug #8837, restart icinga2 service on package upgrade / install

  • Virender Khatri - Bug #8838, bump icinga2 version to v2.3.2

  • Virender Khatri - Bug #8838, bump icingaweb2 ref to beta3

2.1.0

  • Virender Khatri - iBug #8449 update default icingaweb2 version to use tag release

  • Virender Khatri - iBug #8409 bump icinga2 version

  • Virender Khatri - iFeature #8454, enable snapshot yum repository

  • Andrei Scopenco - allow to disable user_defined_objects_dir

  • Virender Khatri - iBug #8479 use packages.icinga.org for apt/yum snapshots repository

  • Virender Khatri - iBug #8481 use native htpasswd file location for icinga2 classicui

  • Virender Khatri - iBug #8469 mod_python deprecated for centos7/rhel7

  • Jannik Zinkl - iBug #8469, fixed platform_version condition

  • Virender Khatri - iBug #8494 package php5-intl added for ubuntu

  • Virender Khatri - iBug #8495 fix for libjpeg62-dev conflict with libgd2-xpm-dev

2.0.1

  • Jannik Zinkl - fixed pgqsl schema setup for extra line char

  • Andrei Scopenco - iBug #8384 fix for LWRP endpoint

  • Virender Khatri - iBug #8384 fix for lwrp apilistener

  • Virender Khatri - iBug #8384 fix for lwrp applydependency

  • Virender Khatri - iBug #8384 fix for lwrp applynotification

  • Virender Khatri - iBug #8384 fix for lwrp applyservice

  • Virender Khatri - iBug #8384 fix for lwrp checkcommand

  • Virender Khatri - iBug #8384 fix for lwrp eventcommand

  • Virender Khatri - iBug #8384 fix for lwrp hostgroup

  • Virender Khatri - iBug #8384 fix for lwrp notificationcommand

  • Virender Khatri - iBug #8384 fix for lwrp servicegroup

  • Virender Khatri - iBug #8384 fix for lwrp usergroup

  • Virender Khatri - iBug #8384 fix for lwrp zone

  • Jannik Zinkl - iBug #8377 fixing package php-pecl-imagick install for imagick

  • Virender Khatri - iBug #8377 added yum-epel repository for package php-pecl-imagick

  • Andrei Scopenco - added include_itl attribute for adding itl to icinga2.conf

  • Virender Khatri - iBug #8419 updated icinga web2 default uri to /icingaweb2

  • Virender Khatri - iBug #8377 added icingaweb2 packages dependency for debian platform family

  • Andrei Scopenco - iBug #8427 added attribute for disabling repository.d

  • Andrei Scopenco - iBug #8428 added lwrp zone resource attribute - global

0.10.1

  • Gerhard Sulzberger - corrected platform_family case statement in recipe server_os_packages & server_install

  • Virender Khatri - bump icinga2 version to 2.2.3-1

  • Virender Khatri - corrected LWRP applydependency resource attribute Class type

  • Virender Khatri - removed object_name LWRP applyservice resource attribute

  • Virender Khatri - fixed LWRP for resource attribute port

  • Virender Khatri - added LWRP resource Class to README

  • Virender Khatri - fixed server isntall attributes & recipes

  • Gerhard Sulzberger - added recipe apt for deb packages upgrade dependency

  • Gerhard Sulzberger - added icinga user & group for debian platform family

  • Virender Khatri - added icinga cmdgroup for debian platform family

  • Virender Khatri - fixed typo for apache node attribute reference

  • Virender Khatri - updated apache vhost template

  • Virender Khatri - added attribute for optional configuration of icinga2 classic ui & web2

  • Virender Khatri - fixed classic ui template & attributes for ubuntu / deb paltform family

  • Virender Khatri - allow LWRP environment chef resources override with custom template
    added LWRP attributes for custom resources attributes for icinga2 Host/HostGroup template

  • Andrei Scopenco - fixed package version suffix for release repo

  • Andrei Scopenco - fixed typos in LWRP idomysqlconnection

  • Andrei Scopenco - fixed typos and template in LWRP externalcommandlistener

  • Virender Khatri - fixed missing library template attribute for LWRP compatlogger

  • Virender Khatri - corrected icinga2 object name for LWRP idomysqlconnection

  • Virender Khatri - corrected icinga2 object name for LWRP idopgsqlconnection

  • Virender Khatri - corrected icinga2 object name for LWRP livestatuslistener

  • Virender Khatri - deprecated features mgmt via node attr in favor of LWRP

  • Virender Khatri - fixed interval / timeout object attribute in resource templates

  • Jannik Zinkl - fixed typo in recipe server_ido_schema.rb

0.7.6

  • Virender Khatri - LWRP resource custom vars are not sorted

  • Virender Khatri - updated generic-host template to use node attributes

  • Virender Khatri - cleaned up LWRP for unused attributes

  • Virender Khatri - added LWRP applydependency

  • Virender Khatri - fixed error for missing node attribute in library

  • Virender Khatri - fixed LWRP applyservice template for True/False Class attributes

  • Virender Khatri - updated README

0.7.0

  • Virender Khatri - added multiple zone support for LWRP environment

0.6.8

  • Virender Khatri - fixed ido schema upload recipe

  • Virender Khatri - added icingaweb2 apache nginx vhost

  • Virender Khatri - created different recipe for os packages install

  • Virender Khatri - added icingaweb2 setup and configuration

  • Virender Khatri - added icingaweb2 setup token attribute

  • Virender Khatri - fixed LWRP apilistener

0.6.1

  • Virender Khatri - added travis

  • Virender Khatri - added user_defined_objects conf directory

  • Virender Khatri - added LWRP resource regex check for interval attributes

  • Virender Khatri - fixed LWRP template for gelfwriter graphitewriter idomysqlconnection
    idopgsqlconnection sysloglogger sysloglogger

  • Virender Khatri - added LWRP compatlogger livestatuslistener perfdatawriter
    statusdatawriter checkercomponent checkresultreader filelogger
    notificationcomponent

  • Virender Khatri - updated README doc

0.5.4

  • Virender Khatri - added pnp4nagios ssi symlink for node graph preview

  • Virender Khatri - fixed library for mount disks host custom vars

  • Virender Khatri - fixed LWRP sysloglogger

  • Virender Khatri - added LWRP doc

0.5.0

  • Virender Khatri - added lwrp for icinga2 feature

  • Virender Khatri - removed default features

  • Virender Khatri - added default NodeName constant

  • Virender Khatri - removed zones.conf in favor of LWRP zone

  • Virender Khatri - delaying icinga2 service start in favor of LWRP resources objects

  • Virender Khatri - added missing zone Object to various environment / host LWRPs

  • Virender Khatri - corrected LWRP endpoint

  • Virender Khatri - added support for pnp4nagios

  • Virender Khatri - updated README documentation

0.4.2

  • Virender Khatri - removed nrpe client recipe

  • Virender Khatri - replaced icingaweb recipe from cookbook with icingaweb2

  • Virender Khatri - refactored recipes for packages

  • Virender Khatri - prepping for pnp4nagios support, added recipe icinga2::server_pnp

  • Virender Khatri - disabled icingaweb2 by default

  • Virender Khatri - enable icinga2 classic ui by default

  • Virender Khatri - disabled pnp integration by defatul

  • Virender Khatri - renamed conf.d disable attribute to disable_conf_d

  • Virender Khatri - added icinga2_features recipe to manage icinga2 features

  • Virender Khatri - removed environment lwrp attribute env_notification_user_groups

  • Virender Khatri - bump icinga2 version to v2.2.2-1

  • Virender Khatri - preparing for ubuntu platform testing

0.3.0

  • Virender Khatri - allowing node custom_vars hostgroups Array declaration

  • Virender Khatri - corrected check_interval chec_period resource attribute type

  • Virender Khatri - renamed downtime lwrp to scheduleddowntime

  • Virender Khatri - added applistener lwrp

  • Virender Khatri - added endpoint lwrp

  • Virender Khatri - added gelfwrite lwrp

  • Virender Khatri - corrected lwrp attributes types

  • Virender Khatri - corrected icinga2 objects boolean attribute, nil value attribute will be ignored

  • Virender Khatri - fixed mail notification scripts permissions

0.2.1

  • Virender Khatri - removed files under development for chef supermarket

0.2.0

  • Virender Khatri - added node cpu and memory to custom vars by default

  • Virender Khatri - fixed permission issue on /var/run/icinga2

  • Virender Khatri - fixed nrpe config for ubuntu

  • Virender Khatri - added templates for mail notification scripts

  • Virender Khatri - added externalcommandlistener lwrp

  • Virender Khatri - added graphitewriter lwrp

  • Virender Khatri - added idomysqlconnection lwrp

  • Virender Khatri - added idopgsqlconnection lwrp

  • Virender Khatri - added sysloglogger lwrp

  • Virender Khatri - renamed client recipe to client_nrpe in favor of icinga2 agent

0.1.5

  • Virender Khatri - initial release of icinga2

Check the Markdown Syntax Guide for help with Markdown.

The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.

Collaborator Number Metric
            

4.0.0 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

4.0.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

4.0.0 failed this metric

FC007: Ensure recipe dependencies are reflected in cookbook metadata: icinga2/recipes/install.rb:24
FC034: Unused template variables: icinga2/templates/default/icinga2.conf.erb:1
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_checkresultreader.rb:50
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_checkresultreader.rb:54
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_compatlogger.rb:58
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_compatlogger.rb:62
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_envendpoint.rb:74
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_envendpoint.rb:78
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_envhostgroup.rb:58
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_envhostgroup.rb:62
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_envzone.rb:74
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_envzone.rb:78
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_externalcommandlistener.rb:50
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_externalcommandlistener.rb:54
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_feature.rb:42
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_feature.rb:52
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_filelogger.rb:51
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_filelogger.rb:55
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_gelfwriter.rb:66
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_gelfwriter.rb:70
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_graphitewriter.rb:74
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_graphitewriter.rb:78
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_idomysqlconnection.rb:138
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_idomysqlconnection.rb:142
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_idopgsqlconnection.rb:138
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_idopgsqlconnection.rb:142
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_influxdbwriter.rb:162
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_influxdbwriter.rb:166
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_livestatuslistener.rb:82
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_livestatuslistener.rb:86
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_notificationcomponent.rb:50
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_notificationcomponent.rb:54
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_perfdatawriter.rb:99
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_perfdatawriter.rb:103
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_script.rb:59
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_script.rb:63
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_statusdatawriter.rb:66
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_statusdatawriter.rb:70
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_sysloglogger.rb:42
FC085: Resource using new_resource.updated_by_last_action to converge resource: icinga2/libraries/resource_sysloglogger.rb:46
FC104: Use the :run action in ruby_block instead of :create: icinga2/libraries/provider_environment.rb:200
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

4.0.0 failed this metric

Failure: Cookbook should not contain binaries. Found:
icinga2/files/default/mysql_pubkey.asc

Testing File Metric
            

4.0.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

4.0.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number