Forge Home


Module for managing and configuring GraphDB instances


53 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.10.0 (latest)
  • 0.9.0
  • 0.8.2
  • 0.8.1
  • 0.8.0
  • 0.7.3
  • 0.7.2
  • 0.7.1
  • 0.7.1-alpha
  • 0.7.0-alpha
  • 0.6.0 (deleted)
  • 0.6.0-alpha
released May 23rd 2024
This version is compatible with:
  • Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 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, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.0.0 < 8.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'phaedriel-graphdb', '0.10.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add phaedriel-graphdb
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install phaedriel-graphdb --version 0.10.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



phaedriel/graphdb — version 0.10.0 May 23rd 2024

GraphDB Puppet module (fork)

Puppet Forge Version Puppet Forge Downloads

Table of Contents

  1. Module description - What the module does and why it is useful
  2. Setup - The basics of getting started with GraphDB
  1. Usage - Configuration options and additional functionality
  2. Advanced features - Extra information on advanced usage
  3. Limitations - OS compatibility, etc.
  4. Development - Guide for contributing to the module
  5. Support - When you need help with this module
  6. License

Module description

This module sets up GraphDB instances with additional resource for repository creation, data loading, updates, backups, and more.

This module has been tested on GraphDB 10.0.3, 10.5.x


The module manages the following

  • GraphDB repository files.
  • GraphDB distribution.
  • GraphDB configuration file.
  • GraphDB service.
  • GraphDB plugins.


Beginning with GraphDB

Version 10.0.0

Declare the top-level graphdb class and set up an instance:

# Since 10.0.0, "edition" paramater is useless.
class{ 'graphdb':
  version              => '10.0.0',

graphdb::instance { 'graphdb-instance':
   license           => '/home/graphdb/graphdb.license',

Version 9 and before

Declare the top-level graphdb class and set up an instance:

class{ 'graphdb':
  version              => '9.10.2',
  edition              => 'se',

graphdb::instance { 'graphdb-instance':
   license           => '/home/graphdb/graphdb.license',


Most top-level parameters in the graphdb class are set to reasonable defaults. The following are some parameters that may be useful to override:


class { 'graphdb':
  ensure => 'absent'

Install everything but disable service(s) afterwards

class { 'graphdb':
  version              => '9.10.2',
  edition              => 'se',
  status               => 'disabled'

Automatically restarting the service (default set to true)

By default, the module will restart GraphDB when the configuration file changed. This can be overridden globally with the following option:

class { 'graphdb':
  version              => '9.10.2',
  edition              => 'se',
  restart_on_change    => false,


This module works with the concept of instances. For service to start you need to specify at least one instance.

Quick setup

graphdb::instance { 'graphdb-instance': license => '/home/graphdb/graphdb.license' }

This will set up its own data directory and set the service name to: graphdb-instance

Advanced options

Instance specific options can be given:

graphdb::instance { 'graphdb-instance':
  http_port          => 8080, # http port that GraphDB will use
  kill_timeout       => 180, # time before force kill of GraphDB process
  validator_timeout  => 60, # GraphDB repository validator timeout
  logback_config     => undef, # custom GraphDB logback log configuration
  extra_properties   => { }, # extra properties for file
  external_url       => undef, # graphDB external URL if GraphDB instance is accessed via proxy, e.g.
  heap_size          => '2g', # GraphDB  java heap size given by -Xmx parameter. Note heap_size parameter will also set xms=xmx
  java_opts          => [], # extra java opts for java process
  protocol           => 'http', # https or http protocol, defaults to http
GraphDB Worker repository options can be given


This module has been built on and tested against Puppet 6 and higher.

The module has been tested on:

  • Debian 11 only


Please see the file for instructions regarding development environments and testing.


Please see the LICENSE