Forge Home

graphdb

Module for managing and configuring GraphDB instances

2,452 downloads

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.

Download

Documentation

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

Setup

The module manages the following

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

Requirements

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',
}

Usage

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

Removal/Decommissioning

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,
}

Instances

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 graphdb.properties file
  external_url       => undef, # graphDB external URL if GraphDB instance is accessed via proxy, e.g. https://ontotext.com/graphdb
  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

Limitations

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

The module has been tested on:

  • Debian 11 only

Development

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

License

Please see the LICENSE