jolokia

Install jolokia agents, and configure

Vox Pupuli

puppet

12,937 downloads

2,961 latest version

5.0 quality score

Version information

  • 2.0.0 (latest)
  • 1.1.1
  • 1.1.0
  • 1.0.1
released May 2nd 2019
This version is compatible with:
  • Puppet Enterprise 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
  • Puppet >= 5.5.8 < 7.0.0
  • RedHat

Start using this module

Documentation

puppet/jolokia — version 2.0.0 May 2nd 2019

Table of Contents

  1. Overview
  2. Setup Requirements
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Overview

This Puppet 5.+ module installs and helps configure jolokia (jvm) agents.

Setup Requirements

Currently, this module expects you to provide a package for your platform which it then installs. We generally highly recommend this approach, because it makes life easier.

Usage

include ::jolokia

After this statement you should be able to extend your JVMs' JAVA_OPTS with

-javaagent:/usr/lib/java/jolokia-jvm-agent.jar=host=0.0.0.0

More more complex configurations can be put into a properties file. We provide a wrapper for that:

$props = {
  'host' => '*',
  'policyLocation' => 'file:///etc/jolokia/lolsecurity.xml',
}

jolokia::config { 'puppetserver':
  properties => $props + { 'port' => '7887' }
}
jolokia::config { 'puppetdb':
  properties => $props + { 'port' => '7889' }
}

We also provide a wrapper for creating policy files. However, currently it's restricted host-based authorization only:

jolokia::policy { 'lolsecurity':
  allowed_hosts => [ '1.1.1.1', '::1' ]
}

Reference

jolokia

This class is the main driver for the installation.

  String $jvm_agent_ensure = 'present',
  String $jvm_agent_name   = 'jolokia-jvm-agent',
  String $config_dir       = '/etc/jolokia',

jolokia::config

This define allows creating arbitrary properties files for each application.

  String                 $app        = $title,
  Enum['file', 'absent'] $ensure     = 'file',
  Hash                   $properties = {},

jolokia::policy

This define allows policy files for host-based authorization Usually one per host should suffice, unless you require distinct authentication.

  String                 $app           = $title,
  Enum['file', 'absent'] $ensure        = 'file',
  Array[String]          $allowed_hosts = ['127.0.0.1', '::1'],

Limitations

  • currently we expect you to provide your own package(s)
  • policy configuration only creates host-based authorization
  • our documentation is sad

##Development

Running tests

This project contains tests for rspec-puppet.

Quickstart:

gem install bundler
bundle install --path .vendor/
bundle exec rake test