cookbook 'icingaweb2', '~> 1.0.0'
icingaweb2 (1) Versions 1.0.0 Follow1
Installs/Configures IcingaWeb2
cookbook 'icingaweb2', '~> 1.0.0', :supermarket
knife supermarket install icingaweb2
knife supermarket download icingaweb2
icingaweb2 Cookbook
This is a Chef cookbook to manage Icingaweb2.
For Production environment, always prefer the most recent release.
Icingaweb2 Setup
Currently, icingaweb2
can only be configured by accessing /icingaweb2/setup
.
Automated configuration is not fully tested. Check out Github open Issues for more information.
Most Recent Release
cookbook 'icingaweb2', '~> 1.0.0'
From Git
cookbook 'icingaweb2', github: 'Icinga/chef-icingaweb2', tag: 'v1.0.0'
Repository
https://github.com/Icinga/chef-icingaweb2
Supported OS
- Amazon Linux
- CentOS
- Ubuntu
Supported Chef
- Chef 12
- Chef 13
Cookbook Dependency
- icinga2repo
- icinga2
Recipes
icingaweb2::attributes
- icingaweb2 evaluated attributesicingaweb2::install
- install icingaweb2 packagesicingaweb2::config
- icingaweb2 configuration filesicingaweb2::ido
- configure icinga2 ido packages and load db schemaicingaweb2::packages
- install icingaweb2 package dependenciesicingaweb2::apache
- configure apache web servericingaweb2::default
- run_list recipe
Prepare Database
This cookbook requires a running database server. Database setup is not part of this cookbook and must be setup separately.
MySQL
When using MySQL Database, a database and database user must be created with proper privileges for icinga2 ido
and icingaweb2
.
e.g. icinga2 ido database database name : icinga database user: icinga databasepassword: icinga mysql> CREATE DATABASE icinga; mysql> GRANT ALL PRIVILEGES ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; mysql> FLUSH PRIVILEGES;
e.g. icingaweb2 database database name : icingaweb2 database user: icingaweb2 databasepassword: icnigaweb2 mysql> CREATE DATABASE icingaweb2; mysql> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'icingaweb2'; mysql> FLUSH PRIVILEGES;
PgSQL
TODO
How to Load Database Schema
Set below attributes to true
to load db schema using cookbook.
- default['icingaweb2']['ido_db']['load_schema']
- default['icingaweb2']['web2_db']['load_schema']
Cookbook Attributes
default['icingaweb2']['setup_epel']
(default:true
): if set includes recipeyum-epel
default['icingaweb2']['setup_config']
(default:false
): [Experimental] if set creates ini configuration files and also enable modulesdefault['icingaweb2']['modules']
(default:%w[doc monitoring translation]
): enable icingaweb2 modulesdefault['icingaweb2']['install_method']
(default:package
): icingaweb2 install method, options: package, sourcedefault['icingaweb2']['source_url']
(default:git://git.icinga.org/icingaweb2.git
):default['icingaweb2']['ignore_version']
(default:false
): ignore icingaweb2 package versiondefault['icingaweb2']['web_engine']
(default:apache
): icingaweb2 web serverdefault['icingaweb2']['version']['icingaweb2']
(default:2.4.2-1
): icingaweb2 package versiondefault['icingaweb2']['version']['icingacli']
(default:2.4.2-1
): icingacli package versiondefault['icingaweb2']['version']['icinga-ido']
(default:2.8.0-1
): icinga-ido package versiondefault['icingaweb2']['user']
(default:calculated
): icingaweb2 userdefault['icingaweb2']['group']
(default:calculated
): icingaweb2 user groupdefault['icingaweb2']['web_root']
(default:/usr/share/icingaweb2
): icingaweb2 web root locationdefault['icingaweb2']['web_uri']
(default:/icingaweb2
): icingweb2 web uridefault['icingaweb2']['conf_dir']
(default:/etc/icingaweb2
): icingaweb2 config directorydefault['icingaweb2']['log_dir']
(default:/var/log/icingaweb2
): icingaweb2 log directorydefault['icingawe2']['apache_modules']
(default:calculated
): apache2 modulesdefault['icingawe2']['apache_web2_template']
(default:apache.vhost.icinga2_web2.erb
): apache2 vhost config template filedefault['icingawe2']['apache_conf_cookbook']
(default:icingaweb2
): resource cookbook namedefault['icingawe2']['version_suffix']
(default:calculated
): icingaweb2 package version suffixdefault['icingaweb2']['mysql_home']
(default:/etc/mysql
): sets value for environment variableMYSQL_HOME
for schema loaddefault['icingaweb2']['mysql_version']
(default:5.7
): if set true, install mysql clientdefault['icingaweb2']['install_mysql_client']
(default:false
): install mysql client using mysql official repositorydefault['icingaweb2']['db_type']
(default:mysql
): icinga2 database type for ido and web2, options:mysql pgsql
Icinga2 IDO Database Attributes
default['icingaweb2']['ido_db']['load_schema']
(default:false
): if set true, loads icinga2 ido db schema (mysql.sql
)default['icingaweb2']['ido_db']['db_host']
(default:localhost
): icinga2 ido db hostdefault['icingaweb2']['ido_db']['db_port']
(default:3306
): icinga2 ido db portdefault['icingaweb2']['ido_db']['db_name']
(default:icinga
): icinga2 ido db namedefault['icingaweb2']['ido_db']['db_user']
(default:icinga
): icinga2 ido db userdefault['icingaweb2']['ido_db']['db_password']
(default:icinga
): icinga2 ido db password
Icingaweb2 Database Attributes
default['icingaweb2']['web2_db']['load_schema']
(default:false
): if set true, loads icingaweb2 db schema (mysql.schema.sql
)default['icingaweb2']['web2_db']['db_host']
(default:localhost
): icingaweb2 db hostdefault['icingaweb2']['web2_db']['db_port']
(default:3306
): icingaweb2 db portdefault['icingaweb2']['web2_db']['db_name']
(default:icingaweb2
): icingaweb2 db namedefault['icingaweb2']['web2_db']['db_user']
(default:icingaweb2
): icingaweb2 db userdefault['icingaweb2']['web2_db']['db_password']
(default:icingaweb2
): icingaweb2 db password
Mysql Repository attributes
default['icingaweb2']['mysql_repo']['yum']['description']
(default:MySQL Community
): yum repo resource attributedefault['icingaweb2']['mysql_repo']['yum']['gpgcheck']
(default:true
): yum repo resource attributedefault['icingaweb2']['mysql_repo']['yum']['enabled']
(default:true
): yum repo resource attributedefault['icingaweb2']['mysql_repo']['yum']['gpgkey']
(default:https://raw.githubusercontent.com/Icinga/chef-icinga2/master/files/default/mysql_pubkey.asc
): yum repo resource attributedefault['icingaweb2']['mysql_repo']['yum']['action']
(default::create
): yum repo resource attributedefault['icingaweb2']['mysql_repo']['yum']['baseurl']
(default:calculated
): yum repo resource attributedefault['icingaweb2']['mysql_repo']['apt']['repo']
(default:MySQL Community
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['keyserver']
(default:keyserver.ubuntu.com
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['components']
(default:calculated
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['deb_src']
(default:false
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['action']
(default::add
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['uri']
(default:http://repo.mysql.com/apt/#{node['platform']}/
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['distribution']
(default:node['lsb']['codename']
): apt repository resource attributedefault['icingaweb2']['mysql_repo']['apt']['key']
(default:5072E1F5
): apt repository resource attribute
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests (
rake & rake knife
), ensuring they all pass - Write new resource/attribute description to
README.md
- Write description about changes to PR
- Submit a Pull Request using Github
Copyright & License
Authors:: Virender Khatri and Contributors
<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>
Dependent cookbooks
apache2 ~> 3.3.0 |
yum-epel >= 2.1.1 |
apt >= 5.0.1 |
icinga2repo >= 1.0.0 |
icinga2 >= 4.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
icingaweb2 CHANGELOG
1.0.0
- Virender Khatri - first commit
Collaborator Number Metric
1.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
1.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
1.0.0 passed this metric
No Binaries Metric
1.0.0 passed this metric
Testing File Metric
1.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
1.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
1.0.0 failed this metric
1.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
1.0.0 passed this metric
No Binaries Metric
1.0.0 passed this metric
Testing File Metric
1.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
1.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
1.0.0 passed this metric
1.0.0 passed this metric
Testing File Metric
1.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
1.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
1.0.0 failed this metric
1.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