Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 8.0.0
- , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'icinga-icinga', '2.6.1'
Learn more about managing modules with a PuppetfileDocumentation
icinga
Table of Contents
- Description
- Setup - The basics of getting started with icinga
- Usage - Configuration options and additional functionality
- Enable and disable repositories
- [Installing from non upstream repositories](#Installing from Non-Upstream Repositories)
- Reference
- Release notes
Description
This module provides several non private helper classes for the official Icinga modules:
- [icinga/icinga2]
- [icinga/icingaweb2]
- [icinga/icingadb]
Changes in v2.0.0
- Earlier the parameter
manage_*
enables or disables a repository but it was still managed. Now the management is enabled or disabled, see Enable or disable repositories.
Setup
What the Icinga Puppet module supports
- [icinga::repos] involves the needed repositories to install icinga2, icingadb and icingaweb2:
- The Icinga Project repository for the stages: stable, testing or nightly builds
- EPEL repository for RHEL simular platforms
- Backports repository for Debian and Ubuntu
- NETWAYS extras repository for Icinga Web 2
- NETWAYS plugins repository with some additional monitoring plugins
- Classes to manage and setup an Icinga environment much easier:
- [icinga::server] setups an Icinga 2 including CA, config server, zones and workers aka satellites
- [icinga::worker] installs an Icinga 2 worker aka satellite
- [icinga::ido] configures the IDO backend including the database
- [icinga::web] manages Icinga Web 2, an Apache and a PHP-FPM
Setup Requirements
The requirements depend on the class to be used.
Beginning with icinga
Add this declaration to your Puppetfile:
mod 'icinga',
:git => 'https://github.com/icinga/puppet-icinga.git',
:tag => 'v2.5.0'
Then run:
bolt puppetfile install
Or do a git clone
by hand into your modules directory:
git clone https://github.com/icinga/puppet-icinga.git icinga
Change to icinga
directory and check out your desired version:
cd icinga
git checkout v2.5.0
Usage
icinga::repos
The class supports:
- [puppet] >= 5.5 < 8.0
And requiers:
- [puppetlabs/stdlib] >= 5.1.0 < 9.0.0
- [puppetlabs/apt] >= 6.0.0
- [puppet/zypprepo] >= 2.2.1
- [puppetlabs/yumrepo_core] >= 1.0.0
- If Puppet 6 or 7 is used
By default the upstream Icinga repository for stable release are involved.
include ::icinga::repos
To setup the testing repository for release candidates use instead:
class { '::icinga::repos':
manage_stable => false,
manage_testing => true,
}
Or the nightly builds:
class { '::icinga::repos':
manage_stable => false,
manage_nightly => true,
}
Other possible needed repositories like EPEL on RHEL or the Backports on Debian can also be involved:
class { '::icinga::repos':
manage_epel => true,
configure_backports => true,
}
The prefix configure
means that the repository is not manageable by the module. But backports can be configured by the class apt::backports, that is used by this module.
Enable and Disable Repositories
When manage is set to true
for a repository the ressource is managed and the repository is enabled by default. To switch off a repository again, it still has to be managed and the corresponding parameter has to set via hiera. The module does a deep merge lookup for a hash named icinga::repos
. Allowed keys are:
- icinga-stable-release
- icinga-testing-builds
- icinga-snapshot-builds
- epel (only on RHEL Enterprise platforms)
- netways-plugins
- netways-extras
An example for Yum or Zypper based platforms to change from stable to testing repo:
---
icinga::repos::manage_testing: true
icinga::repos:
icinga-stable-release:
enabled: 0
Or on Apt based platforms:
---
icinga::repos::manage_testing: true
icinga::repos:
icinga-stable-release:
ensure: absent
Installing from Non-Upstream Repositories
To change to a non upstream repository, e.g. a local mirror, the repos can be customized via hiera. The module does a deep merge lookup for a hash named icinga::repos
. Allowed keys are:
- icinga-stable-release
- icinga-testing-builds
- icinga-snapshot-builds
- epel (only on RHEL Enterprise platforms)
- netways-plugins
- netways-extras
An example to configure a local mirror of the stable release:
---
icinga::repos:
icinga-stable-release:
baseurl: 'https://repo.example.com/icinga/epel/$releasever/release/'
gpgkey: https://repo.example.com/icinga/icinga.key
IMPORTANT: The configuration hash depends on the platform an requires one of the following resources:
- apt::source (Debian family, https://forge.puppet.com/puppetlabs/apt)
- yumrepo (RedHat family, https://forge.puppet.com/puppetlabs/yumrepo_core)
- zypprepo (SUSE, https://forge.puppet.com/puppet/zypprepo)
Also the Backports repo on Debian can be configured like the apt class of course, see https://forge.puppet.com/puppetlabs/apt to configure the class apt::backports
via Hiera.
As an example, how you configure backports on a debian squeeze. For squeeze the repository is already moved to the unsupported archive:
---
apt::confs:
no-check-valid-until:
content: 'Acquire::Check-Valid-Until no;'
priority: 99
notify_update: true
apt::backports::location: 'https://archive.debian.org/debian'
icinga::server / icinga::worker / icinga::agent
The class supports:
- [puppet] >= 5.5 < 8.0
And requiers:
- [icinga/icinga2] >= 2.0.0 < 4.0.0
Setting up a Icinga Server with a CA and to store configuration:
class { '::icinga::server':
ca => true,
ticket_salt => 'supersecret',
config_server => true,
workers => { 'dmz' => { 'endpoints' => { 'worker.example.org' => { 'host' => '172.16.2.11' }}, }},
global_zones => [ 'global-templates', 'linux-commands', 'windows-commands' ],
}
Addtition a connection to a worker is configured. By default the zone for the server is named main
. When config_server
is enabled directories are managed for all zones, including the worker and global zones.
IMPORTANT: A alpha numeric String has to be set to ticket_salt
in Hiera to protect the CA! An alternative is to set icinga::ticket_salt
in a hiera common section for all agents, workers and servers.
The associated worker could look like this:
class { '::icinga::worker':
ca_server => '172.16.1.11',
zone => 'dmz',
parent_endpoints => { 'server.example.org' => { 'host' => '172.16.1.11', }, },
global_zones => [ 'global-templates', 'linux-commands', 'windows-commands' ],
}
If the worker doesn't have a certificate, it sends a certificate request to the CA on the host ca_server
. The default parent zone is main
. Thus, only the associated endpoint has to be defined.
If icinga::ticket_salt
is also set in Hiera for the worker, he's automatically sent a certificate. Otherwise the request will be saved on the CA server and must be signed manually.
Both, server and workers, can operated with a parnter in the same zone to share load. The endpoint of the respective partner is specified as an Icinga object in colocation_endpoints
.
colocation_endpoints => { 'server2.example.org' => { 'host' => '172.16.1.12', } },
Of course, the second endpoint must also be specified in the respective parent_endpoints
of the worker or agent.
An agent is very similar to a worker, only it has no parameter colocation_endpoints
:
class { '::icinga::agent':
ca_server => '172.16.1.11',
parent_endpoints => { 'worker.example.org' => { 'host' => '172.16.2.11', }, } },
global_zones => [ 'linux-commands' ],
}
NOTICE: To switch off the package installation via chocolatey on windows, icinga2::manage_packgaes
must be set to false
for the corresponding hosts in Hiera. That works only on Windows, on Linux package installation is always used.
icinga::ido
The class supports:
- [puppet] >= 5.5 < 8.0
Ands requires:
- [puppetlabs/mysql] >= 6.0.0
- [puppetlabs/postgresql] >= 7.0.0
- [icinga/icinga2] >= 2.0.0 < 4.0.0
To activate and configure the IDO feature (usally on a server) do:
class { '::icinga::ido':
db_type => 'pgsql',
db_host => 'localhost',
db_pass => 'icinga2',
manage_database => true,
}
Setting manage_database
to true
also setups a database as specified in db_type
including database for the IDO. Supported are pgsql
for PostgreSQL und maysql
for MariaDB. By default the database name is set to icinga2
and the user to icinga2
.
icinga::web
The class supports:
- [puppet] >= 5.5 < 8.0
And requires:
- [puppetlabs/mysql] >= 6.0.0
- [puppetlabs/postgresql] >= 7.0.0
- [puppetlabs/apache] >= 3.0.0
- [puppet/php] >= 6.0.0
- [icinga/icinga2] >= 2.0.0
- [icinga/icingaweb2] >= 2.0.0
A Icinga Web 2 with an Apache and PHP-FPM can be managed as follows:
class { '::icinga::web':
backend_db_type => $icinga::ido::db_type,
backend_db_host => $icinga::ido::db_host,
backend_db_pass => $icinga::ido::db_pass,
db_type => 'pgsql',
db_host => 'localhost',
db_pass => 'supersecret',
manage_database => true,
api_pass => $icinga::server::web_api_pass,
}
If the Icinga Web 2 is operated on the same host as the IDO, the required user credentials can be accessed, otherwise they must be specified explicitly. With manage_database
set to true
, a database of the specified type is also installed here. It is used to save user settings for the users of the Icinga Web 2.
IMPORTANT: If you plan tu use icingacli as plugin, e.g. director health checks, businessprocess checks or vspheredb checks, set the parameter run_web => true
for icinga::server
on the same host icinga::web
is declared. That put the Icinga user to the group icingaweb2
and restart the icinga2 process if necessary.
icinga::web::director
Install and manage the famous Icinga Director and the required database. A graphical addon to manage your monitoring environment, the hosts, services, notifications etc.
Here an example with an PostgreSQL database on the same host:
class { '::icinga::web::director':
db_type => 'pgsql',
db_host => 'localhost',
db_pass => 'supersecret',
manage_database => true,
endpoint => $::fqdn,
api_host => 'localhost',
api_pass => $icinga::server::director_api_pass,
}
In this example the Icinga server is running on the same Host like the web and the director.
icinga::web::vspheredb
The class supports:
- [puppet] >= 5.5 < 8.0
And required in addition to icinga::web
:
- [icinga/icingaweb2] >= 3.2.0
The following example sets up the vspheredb
Icinga Web 2 module and teh required database. At this time only MySQL/MariaDB is support by the Icinga team, so this class also supports only mysql
.
class { '::icinga::web::vspheredb':
db_type => 'mysql',
db_host => 'localhost',
db_pass => 'vspheredb',
manage_database => true,
}
Reference
See REFERENCE.md
Release Notes
This code is a very early release and may still be subject to significant changes.
Reference
Table of Contents
Classes
Public Classes
icinga::agent
: Setup a Icinga agent.icinga::ido
: Configure IDO Backend.icinga::ido::database
: Configure IDO backend database.icinga::redis
: icinga::redisicinga::repos
: This class manages the stages stable, testing and snapshot of packages.icinga.com repository and depending on the operating system platform sicinga::server
: Setup a Icinga server.icinga::web
: Setup Icinga Web 2 including a database backend for user settings.icinga::web::database
: Setup Icinga Web 2 database for user settings.icinga::web::director
: Setup Director module for Icinga Web 2icinga::web::director::database
: Setup Director database.icinga::web::vspheredb
: Setup VSphereDB module for Icinga Web 2icinga::web::vspheredb::database
: Setup VSphereDB database.icinga::worker
: Setup a Icinga worker (aka satellite).
Private Classes
icinga
: Configures the Icinga 2 Core and the api feature.icinga::ca
: Configures the Icinga 2 CA and the api feature.icinga::redis::globals
: This class loads the default parameters by doing a hiera lookup. This parameters depend on the os plattform. Changes maybe will break the fuicinga::repos::apt
: Manage repositories viaapt
.icinga::repos::yum
: Manage repositories viayum
.icinga::repos::zypper
: Manage repositories viazypper
.
Defined types
Public Defined types
Private Defined types
icinga::database
: Private define resource for database backends.
Functions
icinga::prepare_web
: This funktion checks for web preparation and display a warning if fails
Data types
Icinga::LogLevel
: A strict type for log levels
Classes
icinga::agent
Setup a Icinga agent.
Parameters
The following parameters are available in the icinga::agent
class.
ca_server
Data type: Stdlib::Host
The CA to send the certificate request to.
parent_zone
Data type: String
Name of the parent Icinga zone.
Default value: 'main'
parent_endpoints
Data type: Hash[String, Hash]
Configures these endpoints of the parent zone.
global_zones
Data type: Array[String]
List of global zones to configure.
Default value: []
logging_type
Data type: Enum['file', 'syslog']
Switch the log target. Only file
is supported on Windows.
Default value: 'file'
logging_level
Data type: Optional[Icinga::LogLevel]
Set the log level.
Default value: undef
zone
Data type: String
Set a dedicated zone name.
Default value: 'NodeName'
run_web
Data type: Boolean
Prepare to run Icinga Web 2 on the same machine. Manage a group icingaweb2
and add the Icinga user to this group.
Default value: false
icinga::ido
Configure IDO Backend.
Parameters
The following parameters are available in the icinga::ido
class.
db_pass
Data type: String
Password to connect the database.
db_type
Data type: Enum['mysql','pgsql']
What kind of database type to use.
Default value: 'mysql'
db_host
Data type: Stdlib::Host
Database host to connect.
Default value: 'localhost'
db_port
Data type: Optional[Stdlib::Port]
Port to connect. Only affects for connection to remote database hosts.
Default value: undef
db_name
Data type: String
Name of the database.
Default value: 'icinga2'
db_user
Data type: String
Database user name.
Default value: 'icinga2'
manage_database
Data type: Boolean
Create database and import schema.
Default value: false
enable_ha
Data type: Boolean
Enable HA feature for database.
Default value: false
icinga::ido::database
Configure IDO backend database.
Parameters
The following parameters are available in the icinga::ido::database
class.
db_type
Data type: Enum['mysql','pgsql']
What kind of database type to use.
ido_instances
Data type: Array[Stdlib::Host]
List of Hosts to allow write access to the database. Usually an Icinga Server with IDO feature.
db_pass
Data type: String
Password to connect the database.
db_name
Data type: String
Name of the database.
Default value: 'icinga2'
db_user
Data type: String
Database user name.
Default value: 'icinga2'
icinga::redis
Installs and configures the Icinga Redis server package.
Examples
require icinga::redis
icinga::repos
This class manages the stages stable, testing and snapshot of packages.icinga.com repository and depending on the operating system platform some other repositories.
Examples
require icinga::repos
Parameters
The following parameters are available in the icinga::repos
class.
manage_stable
Data type: Boolean
Manage the Icinga stable repository. Disabled by setting to 'false'. Defaults to 'true'.
manage_testing
Data type: Boolean
Manage the Icinga testing repository to get access to release candidates. Enabled by setting to 'true'. Defaults to 'false'.
manage_nightly
Data type: Boolean
Manage the Icinga snapshot repository to get access to nightly snapshots. Enabled by setting to 'true'. Defaults to 'false'.
configure_backports
Data type: Boolean
Enables or Disables the backports repository. Has only an effect on plattforms simular to Debian. To configure the backports repo uses apt::backports in hiera.
manage_epel
Data type: Boolean
Manage the EPEL (Extra Packages Enterprise Linux) repository that is needed for some package like newer Boost libraries. Has only an effect on plattforms simular to RedHat Enterprise.
manage_plugins
Data type: Boolean
Manage the NETWAYS plugins repository that provides some packages for additional plugins.
manage_extras
Data type: Boolean
Manage the NETWAYS extras repository that provides some packages for extras.
icinga::server
Setup a Icinga server.
Parameters
The following parameters are available in the icinga::server
class.
ca
Data type: Boolean
Enables a CA on this node.
Default value: false
config_server
Data type: Boolean
Enables that this node is the central configuration server.
Default value: false
zone
Data type: String
Name of the Icinga zone.
Default value: 'main'
colocation_endpoints
Data type: Hash[String,Hash]
When the zone includes more than one endpoint, set here the additional endpoint(s). Icinga supports two endpoints per zone only.
Default value: {}
workers
Data type: Hash[String,Hash]
All worker zones with key 'endpoints' for endpoint objects.
Default value: {}
global_zones
Data type: Array[String]
List of global zones to configure.
Default value: []
ca_server
Data type: Optional[Stdlib::Host]
The CA to send the certificate request to.
Default value: undef
ticket_salt
Data type: Optional[String]
Set an alternate ticket salt to icinga::ticket_salt from Hiera.
Default value: undef
web_api_user
Data type: String
Icinga API user to connect Icinga 2. Notice: user is only created if a password is set.
Default value: 'icingaweb2'
web_api_pass
Data type: Optional[String]
Icinga API user password.
Default value: undef
director_api_user
Data type: String
Icinga API director user to connect Icinga 2. Notice: user is only created if a password is set.
Default value: 'director'
director_api_pass
Data type: Optional[String]
Icinga API director user password.
Default value: undef
logging_type
Data type: Enum['file', 'syslog']
Switch the log target. Only file
is supported on Windows.
Default value: 'file'
logging_level
Data type: Optional[Icinga::LogLevel]
Set the log level.
Default value: undef
run_web
Data type: Boolean
Prepare to run Icinga Web 2 on the same machine. Manage a group icingaweb2
and add the Icinga user to this group.
Default value: false
icinga::web
Setup Icinga Web 2 including a database backend for user settings.
Parameters
The following parameters are available in the icinga::web
class.
db_pass
Data type: String
Password to connect the database.
api_pass
Data type: String
Password to connect the Icinga 2 API.
backend_db_pass
Data type: String
Pasword to connect the IDO backend.
db_type
Data type: Enum['mysql', 'pgsql']
What kind of database type to use.
Default value: 'mysql'
db_host
Data type: Stdlib::Host
Database host to connect.
Default value: 'localhost'
db_port
Data type: Optional[Stdlib::Port::Unprivileged]
Port to connect. Only affects for connection to remote database hosts.
Default value: undef
db_name
Data type: String
Name of the database.
Default value: 'icingaweb2'
db_user
Data type: String
Database user name.
Default value: 'icingaweb2'
manage_database
Data type: Boolean
Create database.
Default value: false
api_host
Data type: Variant[Stdlib::Host, Array[Stdlib::Host]]
Single or list of Icinga 2 API endpoints to connect.
Default value: 'localhost'
api_user
Data type: String
Icinga 2 API user.
Default value: 'icingaweb2'
backend_db_type
Data type: Enum['mysql', 'pgsql']
What kind of database type to use as IDO backend.
Default value: 'mysql'
backend_db_host
Data type: Stdlib::Host
Database host to connect for the IDO backenend.
Default value: 'localhost'
backend_db_port
Data type: Optional[Stdlib::Port::Unprivileged]
Port to connect the IDO backend. Only affects for connection to remote database hosts.
Default value: undef
backend_db_name
Data type: String
Name of the IDO database backend.
Default value: 'icinga2'
backend_db_user
Data type: String
IDO database backend user name.
Default value: 'icinga2'
icinga::web::database
Setup Icinga Web 2 database for user settings.
Parameters
The following parameters are available in the icinga::web::database
class.
db_type
Data type: Enum['mysql','pgsql']
What kind of database type to use.
web_instances
Data type: Array[Stdlib::Host]
List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.
db_pass
Data type: String
Password to connect the database.
db_name
Data type: String
Name of the database.
Default value: 'icingaweb2'
db_user
Data type: String
Database user name.
Default value: 'icingaweb2'
icinga::web::director
Setup Director module for Icinga Web 2
Parameters
The following parameters are available in the icinga::web::director
class.
service_ensure
Data type: Stdlib::Ensure::Service
Manages if the Director service should be stopped or running.
Default value: 'running'
service_enable
Data type: Boolean
If set to true the Director service will start on boot.
Default value: true
db_type
Data type: Enum['mysql', 'pgsql']
Type of your database. Either mysql
or pgsql
.
Default value: 'mysql'
db_host
Data type: Stdlib::Host
Hostname of the database.
Default value: 'localhost'
db_port
Data type: Optional[Stdlib::Port]
Port of the database.
Default value: undef
db_name
Data type: String
Name of the database.
Default value: 'director'
db_user
Data type: String
Username for DB connection.
Default value: 'director'
db_pass
Data type: String
Password for DB connection.
endpoint
Data type: String
Endpoint object name of Icinga 2 API.
manage_database
Data type: Boolean
Create database and import schema.
Default value: false
api_host
Data type: Stdlib::Host
Icinga 2 API hostname.
Default value: 'localhost'
api_user
Data type: String
Icinga 2 API username.
Default value: 'director'
api_pass
Data type: String
Icinga 2 API password.
icinga::web::director::database
Setup Director database.
Parameters
The following parameters are available in the icinga::web::director::database
class.
db_type
Data type: Enum['mysql','pgsql']
What kind of database type to use.
web_instances
Data type: Array[Stdlib::Host]
List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.
db_pass
Data type: String
Password to connect the database.
db_name
Data type: String
Name of the database.
Default value: 'director'
db_user
Data type: String
Database user name.
Default value: 'director'
icinga::web::vspheredb
Setup VSphereDB module for Icinga Web 2
Parameters
The following parameters are available in the icinga::web::vspheredb
class.
service_ensure
Data type: Stdlib::Ensure::Service
Manages if the VSphereDB service should be stopped or running.
Default value: 'running'
service_enable
Data type: Boolean
If set to true the VSphereDB service will start on boot.
Default value: true
db_type
Data type: Enum['mysql']
Type of your database. At the moment only mysql
is supported by the Icinga team.
Default value: 'mysql'
db_host
Data type: Stdlib::Host
Hostname of the database.
Default value: 'localhost'
db_port
Data type: Optional[Stdlib::Port]
Port of the database.
Default value: undef
db_name
Data type: String
Name of the database.
Default value: 'vspheredb'
db_user
Data type: String
Username for DB connection.
Default value: 'vspheredb'
db_pass
Data type: String
Password for DB connection.
manage_database
Data type: Boolean
Create database and import schema.
Default value: false
icinga::web::vspheredb::database
Setup VSphereDB database.
Parameters
The following parameters are available in the icinga::web::vspheredb::database
class.
db_type
Data type: Enum['mysql']
What kind of database type to use.
web_instances
Data type: Array[Stdlib::Host]
List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.
db_pass
Data type: String
Password to connect the database.
db_name
Data type: String
Name of the database.
Default value: 'vspheredb'
db_user
Data type: String
Database user name.
Default value: 'vspheredb'
icinga::worker
Setup a Icinga worker (aka satellite).
Parameters
The following parameters are available in the icinga::worker
class.
ca_server
Data type: Stdlib::Host
The CA to send the certificate request to.
zone
Data type: String
Name of the Icinga zone.
parent_zone
Data type: String
Name of the parent Icinga zone.
Default value: 'main'
parent_endpoints
Data type: Hash[String, Hash]
Configures these endpoints of the parent zone.
colocation_endpoints
Data type: Hash[String, Hash]
When the zone includes more than one endpoint, set here the additional endpoint(s). Icinga supports two endpoints per zone only.
Default value: {}
global_zones
Data type: Array[String]
List of global zones to configure.
Default value: []
logging_type
Data type: Enum['file', 'syslog']
Switch the log target. Only file
is supported on Windows.
Default value: 'file'
logging_level
Data type: Optional[Icinga::LogLevel]
Set the log level.
Default value: undef
run_web
Data type: Boolean
Prepare to run Icinga Web 2 on the same machine. Manage a group icingaweb2
and add the Icinga user to this group.
Default value: false
Defined types
Functions
icinga::prepare_web
Type: Puppet Language
This funktion checks for web preparation and display a warning if fails
icinga::prepare_web(String $icingamod)
The icinga::prepare_web function.
Returns: Any
icingamod
Data type: String
Data types
Icinga::LogLevel
A strict type for log levels
Alias of Enum['debug', 'information', 'notice', 'warning', 'critical']
Change Log
v2.6.1 (2022-01-14)
Fixed bugs:
- Do not set an api user for the director and icingaweb2 if the password is empty #54
- Add missing mime apache module #52
v2.6.0 (2022-01-05)
Implemented enhancements:
Fixed bugs:
- Update to https repos for Debian #50
v2.5.0 (2021-12-03)
Implemented enhancements:
- Add parameter to icinga to manage icingaweb2 group for the use of icingacli as plugins #49
- Add vshperedb support #45
Fixed bugs:
- Ubuntu focal does not know charset utf8 for mysql #48
- Idempotency of icinga::web::director is broken #44
v2.4.2 (2021-12-01)
Fixed bugs:
- set import_schema in web class to hiera lookup #34
v2.4.1 (2021-11-05)
Fixed bugs:
- Debian Bullseye support is broken #43
v2.4.0 (2021-11-05)
Implemented enhancements:
- Remove listen from icinga::web #40
- Extend icinga::database with a parameter to set database encoding #39
- Add director support #38
v2.3.3 (2021-09-03)
Fixed bugs:
- Namespace function postgresql::postgresql_password does not work on Puppet 5 #36
v2.3.2 (2021-08-17)
Fixed bugs:
- using data types of another module breaks puppet 5 compatibility #35
v2.3.1 (2021-06-21)
Fixed bugs:
- NETWAYS repos named the suffix -release by there packages #33
v2.3.0 (2021-06-05)
Implemented enhancements:
Fixed bugs:
- web_api_user has to manage only on config_server's #30
- Parameter api_host of class web should be also a list of Stdlib::Host #29
- Option to switch off the package management on windows #27
v2.2.0 (2021-05-19)
Implemented enhancements:
- Add direct management of logging to server, worker and agent #23
- Rework unit tests for class repos #19
- Add management of extra packages #17
v2.1.4 (2021-05-04)
Fixed bugs:
- Broken dependency for yumrepos #22
v2.1.3 (2021-05-04)
Fixed bugs:
v2.1.2 (2021-04-26)
Fixed bugs:
- Setting config_server manage a zones directory named zone #18
v2.1.1 (2021-04-26)
Fixed bugs:
- Setting manage for any repo does not work #16
v2.1.0 (2021-04-24)
Implemented enhancements:
- Add new class to manage Icinga Web 2 #15
- Add new class to supports IDO #14
- Add new classes for simple managing #13
- Add new repo packages.netways.de/plugins #12
- Add new repo packages.netways.de/extras #11
Closed issues:
- Fresh roll-out apt_key dependency error #10
- Duplicate declaration: Yumrepo[epel] is already declared #9
v2.0.0 (2021-01-11)
Fixed bugs:
- Change Management Behavoir for Repositories #6
Closed issues:
- Add Dependency to puppet-redis #8
v1.0.3 (2020-10-22)
Fixed bugs:
v1.0.2 (2020-10-13)
Implemented enhancements:
Closed issues:
- correct fixtures and metadata #4
v0.1.2 (2020-04-21)
v0.1.1 (2020-04-20)
v0.1.0 (2020-04-20)
* This Change Log was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 5.1.0 < 9.0.0)
- puppetlabs/apt (>= 6.0.0 < 9.0.0)
- puppet/zypprepo (>= 2.2.1 < 5.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] 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.