Module to install and configure OpenGrok

Jordan Conway



5,732 latest version

4.6 quality score

Version information

  • 0.2.0 (latest)
  • 0.1.5
  • 0.1.4
  • 0.1.3
  • 0.1.2
  • 0.1.1
  • 0.1.0
released Mar 28th 2017
This version is compatible with:
  • RedHat

Start using this module


jconway/opengrok — version 0.2.0 Mar 28th 2017

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with opengrok
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


This module installs and configures a basic OpenGrok instance. Currently it is only tested with Puppet > 4.2 and CentOS 7.x but with a little work it should be easily extendable to other systems. (Pull requests welcome!)

Module Description

The basic class ::opengrok will install and configure OpenGrok at http://${::fqdn}:8080/source it is reccomended to use a profile/role to put a reverse proxy infront of this.

You can add source repos to browse with OpenGrok by defining them with the opengrok::projects parameter hash or adding them with the opengrok::project defined type.


What opengrok affects

  • A list of files, packages, services, or operations that the module will alter, impact, or execute on the system it's installed on.
  • Created Files/Directories:
    • /var/opengrok
    • /opt/opengrok
  • Default installed packages:
    • ctags (CentOS)
  • Other modules included with default options:

Setup Requirements

You should have pluginsync enabled in your Puppet environment.

Beginning with opengrok

All you need to do to get a running OpenGrok instance is

include ::opengrok

and to define at least one source either with the ::opengrok::projects parameter hash or with the opengrok::project defined type

Parameter Hash Examples

Puppet DSL
opengrok::projects {
  puppet-opengrok => {
    source        => '',
    ensure        => 'latest',
  opengrok        => {
    source        => '',
    ensure        => 'latest',


    source: ''
    ensure: 'latest'
    source: ''
    ensure: 'latest'

Defined type Examples

  opengrok::project{ 'puppet-opengrok':
    source => '',
    ensure => 'latest',


Pretty straight forward and explained in the above section.


This module is documented with puppet-strings you can build the documentation yourself with puppet-strings or see it on my github pages


Currently only tested and expected to work with Puppet > 4.2 and CentOS 7.x


Pull request welcome at (DCO commits are appreciated)