Coder Social home page Coder Social logo

icinga / puppet-icingaweb2 Goto Github PK

View Code? Open in Web Editor NEW
32.0 61.0 89.0 980 KB

Puppet module to manage Icinga Web 2

Home Page: https://forge.puppet.com/icinga/icingaweb2

License: Other

Ruby 36.66% Puppet 63.22% HTML 0.07% Pascal 0.04%
icinga puppet icingaweb2 monitoring

puppet-icingaweb2's Issues

Resources.ini should not be world-readable

resources.ini contains DB-Passwords and should not be world-readable:

root@mil:/etc# ls -al /etc/icingaweb2/resources.ini 
-rw-r--r-- 1 icingaweb2 icingaweb2 313 Feb 25 01:15 /etc/icingaweb2/resources.ini

Acceptance tests

Add at least some basic tests, so we have a test environment

  • Code & Specs
  • Add more test environments
  • Test in Travis with docker?
  • Document for manual testing in TESTING.md

[dev.icinga.com #11584] what is the standard password set by initialize.pp?

This issue has been migrated from Redmine: https://dev.icinga.com/issues/11584

Created by rwaffen on 2016-04-13 16:44:26 +00:00

Assignee: (none)
Status: New
Target Version: (none)
Last Update: 2016-04-14 11:16:45 +00:00 (in Redmine)


i'm using the puppet module and asking myself, what would be the standard password after "initialization"?

there is no docu about that, only an encrypted password in "puppet-icingaweb2/manifests/initialize.pp".

How to enable module monitoring Via Puppet

Hello, I have installed Icingaweb2 on Ubuntu 16.04 via Puppet. (using Hiera) For some reason module monitoring is not enabled by default (shouldn't it be?). Please help, whatever i try, puppet simply doesn't apply anything. I have fixed file permissions, and still nothing. I have tried something like this:

icingaweb2::mod::monitoring::transport: 'local'
icingaweb2::mod::monitoring::transport_path: '/run/icinga2/cmd/icinga2.cmd'

Create parameter manage_package

Add a parameter manage_package that defaults to true. This is a global parameter where the user can decide if the module should install all packages or if he wants to handle it by himself. Same behaviour as in the Icinga 2 module.

Following parameters can be removed when this is implemented:

  • pgk_deps
  • pkg_ensure
  • pkg_list

Add reference documentation

Add a reference documentation for each class and defined type. Also, add a separate TOC for the reference documentation.

missing groups.ini

Hi,
I'm missing the configuration for the groups.ini.
If using groups for authentication with ldap:

roles.ini:
[admin-group]
groups = "admin-group"
permissions = ""
monitoring/hosts/filter = "
"

there has to be a group.ini like:
[icinga_ldap]
user_backend = icingaweb2
backend = msldap
resource = ldap

Maybe I'm wrong? But if not, is it possible to implement this in this puppet-module.

Thanks

Basic Apache configuration with example

We’re not managing Apache configuration, but provide only the configuration so the user can use it. Add a sample configuration for Apache and provide a basic example in the “Usage” section of the README.md. If necessary, add an extended example in the examples directory.

Remove git installation method for Icinga Web 2

We drop support for installing Icinga Web 2 via a git repository. Installation method is always packages.icinga.com. This does not apply to modules.

Remove related parameters install_method, git_repo and git_revision and others that I forgot to mention.

The parameter 'ido_db_host' is declared more than once

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: The parameter 'ido_db_host' is declared more than once in the parameter list at /etc/puppetlabs/code/environments/production/modules/icingaweb2/manifests/init.pp:181:3 on node client1.XXX.com Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run

Ensure support for certain operating systems

Ensure we fully support the installation of Icinga Web 2 via packages.icinga.com for the following operating systems:

  • Debian 7,8
  • Ubuntu 14.04, 16.04
  • RHEL 6,7
  • SLES 12

Add supported operating systems and versions to the README.md and metadata.json. Other versions may follow later.

Roles setting is not up to date and is not supporting businessprocess-prefix

The options provided by icingaweb2::config::roles are not up to date for filtering monitoring objects (should be "monitoring/filter/objects") and does not support:

  • "application/share/users" and" application/share/groups" for sharing items with users from core
  • "monitoring/blacklist/properties" to exclude customvars from monitoring module
  • "businessprocess/prefix" from the businessprocess module

General configuration

The class icingaweb2::config should handle general configurations only. Since we’re supporting package installations only and we’re not handling web server installation and configuration, we can omit the ability to set config_dir_purge and web_root. We also should not handle files or directories created by the package.

We should discuss if we want to set PHP settings (Date/Time) in this class.

Could not find declared class icingaweb2::mod::monitoring

Hello,

this is from your example:
`

default is local

class { '::icingaweb2::mod::monitoring':
transport => 'local',
transport_path => '/run/icinga2/cmd/icinga2.cmd',
}`

this happens when running:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class icingaweb2::mod::monitoring at /etc/puppetlabs/code/environments/production/modules/icinga2server/manifests/init.pp:64:3 on node clie

I can confirm .. ;)

bla@woody $ ll
total 24
drwxr-xr-x 2 bla bla 4096 Mär 9 15:52 ./
drwxr-xr-x 5 bla bla 4096 Mär 9 16:15 ../
-r--r--r-- 1 bla bla 1177 Apr 23 2015 businessprocess.pp
-r--r--r-- 1 bla bla 1479 Mai 7 2015 deployment.pp
-r--r--r-- 1 bla bla 1846 Apr 23 2015 graphite.pp
-r--r--r-- 1 bla bla 1629 Apr 27 2015 nagvis.pp
.../modules/icingaweb2/manifests/mod
bla@woody $

best regards

Deprecate default install method

When install_method is not set explicitly, the next version of the module should but a failure (or warning)

So we bring users to move to package, and take it as default in a 2.x

Improve Apache integration and document it

Currently a user needs to add Apache and some modules in order for Icingaweb2 to work.

  • Moving Apache to an extra class File conflicts with Apaches files...
  • Add rewrite and php
  • Add documentation how to configure Apache to work with PHP mpm_worker => prefork
  • Document timezone setting for PHP

Add some basic examples

The examples directory should contain some basic examples on how this module can be used.

Update basic specs

Depending on changes during the “2.0 Installation Basics” Project, update the rspec tests.

[dev.icinga.com #11719] Missing packages if APT::Install-Recommends "false";

This issue has been migrated from Redmine: https://dev.icinga.com/issues/11719

Created by plarivee on 2016-05-03 14:07:15 +00:00

Assignee: (none)
Status: New
Target Version: (none)
Last Update: 2016-05-03 14:07:15 +00:00 (in Redmine)


If a system is setup with "APT::Install-Recommends "false";" some packages will not be installed. The module will only install

ii  icingaweb2                          2.3.2-1~ppa2                     all          simple and responsive web interface for Icinga
ii  icingaweb2-common                   2.3.2-1~ppa2                     all          simple and responsive web interface for Icinga - common files
ii  php-icinga                          2.3.2-1~ppa2                     all          PHP library to communicate with and use Icinga

On a system without the option set to false we get :

root@web:~\# dpkg -l | grep icinga
ii icingacli 2.3.2-1~ppa2 all simple CLI tool for Icingaweb2 and its modules
ii icingaweb2 2.3.2-1~ppa2 all simple and responsive web interface for Icinga
ii icingaweb2-common 2.3.2-1~ppa2 all simple and responsive web interface for Icinga - common files
ii icingaweb2-module-doc 2.3.2-1~ppa2 all simple and responsive web interface for Icinga - documentation module
ii icingaweb2-module-monitoring 2.3.2-1~ppa2 all simple and responsive web interface for Icinga - monitoring module
ii php-icinga 2.3.2-1~ppa2 all PHP library to communicate with and use Icinga

So the monitoring module package is missing, doc module and also icingacli.

We need to find a way to make sure those are installed if an Icingaweb2 module is dependent of it.

Ubuntu 14.04.4

[dev.icinga.com #11876] Path for mysql-command is missing

This issue has been migrated from Redmine: https://dev.icinga.com/issues/11876

Created by pgress on 2016-06-01 13:37:49 +00:00

Assignee: (none)
Status: New
Target Version: (none)
Last Update: 2016-06-01 13:37:49 +00:00 (in Redmine)


Hey,

tried to initialize the db via the icingaweb2-puppet-module. Got the following error:

Error: Failed to apply catalog: Validation of Exec[create web user] failed: 'mysql -h localhost -uuser -ppassword icingaweb_db -e " INSERT INTO icingaweb_user (name, active, password_hash) VALUES ('icingaadmin', 1, '\$1\$EzxLOFDr\$giVx3bGhVm4lDUAw6srGX1');"' is not qualified and no path was specified. Please qualify the command or specify a path. at /etc/puppet/environments/development/modules/icingaweb2/manifests/initialize.pp:51
Wrapped exception:
'mysql -h localhost -uuser -ppassword icingaweb_db -e " INSERT INTO icingaweb_user (name, active, password_hash) VALUES ('icingaadmin', 1, '\$1\$EzxLOFDr\$giVx3bGhVm4lDUAw6srGX1');"' is not qualified and no path was specified. Please qualify the command or specify a path.

I used Debian 8 in this case (so /usr/bin/ in front of mysql worked pretty good)

Greetings

[dev.icinga.com #12142] Why does initialize.pp require /root/.my.cnf on RedHat/CentOS, not Debian/Ubuntu?

This issue has been migrated from Redmine: https://dev.icinga.com/issues/12142

Created by westbywest on 2016-07-12 17:46:51 +00:00

Assignee: (none)
Status: New
Target Version: (none)
Last Update: 2016-07-12 17:46:51 +00:00 (in Redmine)


I noticed these recent commits altering initialize.pp to support a remote MySQL host under Debian/Ubuntu:
475e0c9
41c46bd

However, the clause for RedHat/CentOS still references the file /root/.my.cnf, meaning a remote MySQL host would only be possible by inserting references to it into /root/.my.cnf prior to invoking icingaweb2 module.

Is there a reason for this difference between RedHat and Debian?

Remove deprecated parameters

Following parameters are deprecated and can be removed:

  • pkg_repo_version
  • pkg_repo_release_key
  • pkg_repo_release_url
  • pkg_repo_snapshot_key
  • pkg_repo_snapshot_url

Please remove also other deprecated parameters that you may find.

[dev.icinga.com #9243] add ldaps to resource_ldap.pp

This issue has been migrated from Redmine: https://dev.icinga.com/issues/9243

Created by crpeck on 2015-05-07 16:16:19 +00:00

Assignee: (none)
Status: New
Target Version: (none)
Last Update: 2015-05-07 16:16:19 +00:00 (in Redmine)


Could the file manifests/config/resource_ldap.pp please be extended to include these 2 options:
encryption => ldaps or ldap (default is ldap)
reqcert => true or false (default is true) as to if it checks for a valid cert on ldap bind

[dev.icinga.com #11507] installing icinga web2

This issue has been migrated from Redmine: https://dev.icinga.com/issues/11507

Created by kyle_zeng on 2016-04-01 20:33:05 +00:00

Assignee: (none)
Status: New
Target Version: (none)
Last Update: 2016-04-01 20:33:05 +00:00 (in Redmine)


Hi, I have encountered following problem when I`m trying to install Icinga web2:

 install icinga2 and mySQL
 install epel
 install icinagweb2 and icinga-cli, at this step, when running :yum install icingaweb2 icingacli

it pops out this error:

>Error: Package: php-pecl-imagick-2.2.2-5.el6.x86_64 (epel)
> Requires: libMagickWand.so.5()(64bit)
>Error: Package: php-pecl-imagick-2.2.2-5.el6.x86_64 (epel)
> Requires: libMagickCore.so.5()(64bit)

and I have tried to install php-imagick but did not solve the problem, and my system is :RHEL6

Could you help me?

Add defined type that handles Ini configurations

This type should be capable of generally creating ini configuration files based on a configurable target. It should be able to add and remove ini configuration sections and associated settings. External configuration changes should not be touched, so the user is able to still create configs via the Icinga Web 2 interface.

Documentation updates

  • More examples
  • Requirements
    • CentOS 6/7 needs EPEL
  • Testing
  • Contributing
  • Limitations
    • Support OS

Update general documentation

  • Add section “Overview”
  • Add section “Module Description”
  • Add section “What the Icinga Web 2 Puppet module supports”
  • Add section “Dependencies”
  • Add section “Limitations”
  • Update section “Usage”

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.