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

RSS

opennms_helm (2) Versions 1.0.0

Installs/Configures OpenNMS Helm

Berkshelf
Policyfile
Knife
cookbook 'opennms_helm', '~> 1.0.0'
cookbook 'opennms_helm', '~> 1.0.0', :supermarket
knife supermarket install opennms_helm
knife supermarket download opennms_helm
README
Dependencies
Quality 63%

opennms-helm

This cookbook allows you to manage the installation and configuration of Grafana + OpenNMS Helm with Chef.

Requirements

  • CentOS 6 or 7
  • An OpenNMS system, ideally managed with the OpenNMS Chef cookbook, potentially on the same Chef node.
  • Chef >= 12.14

Usage

Quick Start

The easiest way to deploy is to add this cookbook's default recipe to a Chef node that can search for a node (potentially itself) that is running OpenNMS already and is managed by Chef.

Package and Version Options

By default the public grafana cookbook is used to install Grafana. Refer to that cookbook's documentation for options to control Grafana including selecting a specific version, changing values in the ini file, using LDAP for authentication, etc. The attributes specified in this cookbook select a version of Grafana that is known to work with the version of the OpenNMS Helm plugin at the time of release, but newer releases may exist. To change the Grafana version, set this node attribute: node['grafana']['package']['version']. To change the Helm version, set this node attribute: node['helm']['version'].

If for some strange reason you'd rather manage the grafana installation and configuration yourself, simply change node['helm']['manage_grafana'] to false. This cookbook will still install the helm package and attempt to set up datasources for your OpenNMS instance(s).

OpenNMS Datasources

Helm needs some OpenNMS fault, performance and flow datasources to operate. The default method by which OpenNMS instances are found to create these datasources is through a Chef search query for nodes that have the opennms default recipe in its recipes list. You can modify that behavior with the node attribute node['helm']['instance_search'].

By default performance, fault and flow datasources are created for each OpenNMS instance found or specified. You can modify that with the node attribute node['helm']['datasource_types'].

Manually Specify OpenNMS Instances

You can manually specify the OpenNMS instance(s) you want to use as your datasources rather than using the default Chef search query method. To do so, populate the node attribute node['opennms']['instances'] similarly to:

default['opennms']['instances']['localhost']['port'] = 8980
default['opennms']['instances']['localhost']['username'] = 'admin'
default['opennms']['instances']['localhost']['password'] = 'admin'

Manage Organizations

If you'd like to manage Grafana organiztions you can do so by adding node attributes under node['helm']['organizations']. For example, the default attributes include the 'Main Org.' organization (which is included with Grafana OOTB):

default['helm']['organizations']['Main Org.']['name'] = 'Main Org.'

A future version of this cookbook may allow you to manage users as well, but for now management of organizations is probably only useful when using LDAP for authentication.

Dashboards

This cookbook does not attempt to manage dashboards at this time. At the time of writing, Helm ships with an example dashboard called 'Flow Deep Dive'. You can use the grafana_dashboard resource in your own wrapper to deploy additional dashboards.

License

Apache 2.0

Author

David Schlenk (dschlenk@convergeone.com)

Development

This cookbook uses common ChefDK tools for testing like test kitchen, inspec, ChefSpec, foodcritic, and cookstyle.

The default rake task will run the style, lint and unit tests.

Use rake integration:vagrant to run the integration tests.

Pull requests welcome!

Dependent cookbooks

grafana ~> 3.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Collaborator Number Metric
            

1.0.0 failed this metric

Failure: Cookbook has 0 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

Publish Metric
            

1.0.0 passed this metric

Supported Platforms 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 passed this metric