existdb

A module to install the eXist database as a service

Jon Hallett

jonhallettuob

16,607 downloads

1,048 latest version

5.0 quality score

Version information

  • 0.4.0 (latest)
  • 0.3.6
  • 0.3.5
  • 0.3.4
  • 0.3.3
  • 0.3.2
  • 0.2.20
  • 0.2.19
  • 0.2.18
  • 0.2.17
  • 0.2.16
  • 0.2.15
  • 0.2.14
  • 0.2.13
  • 0.2.12
  • 0.2.10
  • 0.2.9
  • 0.2.8
  • 0.2.7
  • 0.2.6
  • 0.2.5
  • 0.2.4
  • 0.2.3
  • 0.2.2
  • 0.2.1
  • 0.2.0
  • 0.1.9
  • 0.1.8
  • 0.1.7
  • 0.1.6
  • 0.1.5
  • 0.1.4
  • 0.1.2
  • 0.1.1
  • 0.1.0
released Aug 20th 2020
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, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.7.0 < 7.0.0
  • CentOS

Start using this module

Documentation

jonhallettuob/existdb — version 0.4.0 Aug 20th 2020

eXistdb Puppet module

Table of Contents

  1. Description
  2. Setup - The basics of getting started with existdb
  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.

Description

This module installs the eXist database software and starts it as a service.

Setup

Beginning with existdb

To use this module, add these declarations to your Puppetfile:

mod 'puppetlabs-stdlib','4.25.1'
mod 'puppetlabs-java', '2.1.0'
mod 'puppet-archive', '3.0.0'
mod 'puppet-nginx','0.15.0'
mod 'jonhallettuob-existdb', '0.4.0'

To install eXistdb and start it as a service with default parameters:

class { 'java':
  package => 'java-1.8.0-openjdk-devel',
}
class { 'existdb': }

Or equivalently in Hiera:

---
classes:
  - java
  - existdb

java::package: 'java-1.8.0-openjdk-devel'

To configure a reverse proxy to make eXistdb appear on port 443, add mod 'puppet-nginx', '0.9.0' to your Puppetfile and then in Hiera:

classes:
  - existdb::reverseproxy

existdb::reverseproxy::servers:
  'server.example.com':
    server_cert_name: 'server.example.com'
    uri_path: '/exist/apps/example.com'

Usage

Set up eXistdb and its data in specific directories:

class existdb {
  exist_home => '/usr/local/exist',
  exist_data => '/var/lib/exist',
}

Reference

class existdb (
  $exist_home                  = '/usr/local/existdb',
  $exist_data                  = '/var/lib/existdb',
  $exist_cache_size            = '128M',
  $exist_collection_cache_size = '24M',
  $exist_revision              = 'eXist-5.2.0',
  $exist_version               = '5.2.0',
  $java_home                   = '/usr/lib/jvm/jre',
  $exist_user                  = 'existdb',
  $exist_group                 = 'existdb',
) {
 ...
}

class existdb::reverseproxy (
  $servers,
  $exist_home = '/usr/local/existdb',
) {
 ...
}

define existdb::reverseproxy::server {
  $server_name,
  $server_cert_name = $server_name,
  $ssl_cert_path = "/etc/pki/tls/certs/${server_cert_name}.crt",
  $ssl_cert = undef,
  $ssl_key_path = "/etc/pki/tls/private/${server_cert_name}.key",
  $ssl_key = undef,
  $uri_path = '',
  $proxy_redirect = 'default',
  $location_cfg_append = undef,
  $raw_append = undef,
  $format_log = 'combined',
) {
 ...
}

Limitations

The module was developed on CentOS 7 using Puppet 4 and hasn't been tested on any other systems.