Version information
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
Add this module to your Puppetfile:
mod 'phaedriel-graphdb', '1.0.0'
Learn more about managing modules with a PuppetfileDocumentation
GraphDB Puppet module
Initial project
- The initiale project is here : Ontotext-AD/puppet-graphdb
- The fork link was suppressed because :
- Lot of divergences with initial project
- Initial project is "frozen" (at 02/08/2024 the last commit was "Nov 26, 2020")
Table of Contents
- Module description - What the module does and why it is useful
- Module documentation - generated documenation
- Setup - The basics of getting started with GraphDB
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
- 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
Module reference
Please see the REFERENCE.md file ("puppet strings" generated documentation).
Setup
The module manages the following
- GraphDB repository files.
- GraphDB distribution.
- GraphDB configuration file.
- GraphDB service.
- GraphDB plugins.
Requirements
- The stdlib Puppet library.
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
}
Limitations
This module has been built on and tested against Puppet 7 and higher.
The module has been tested on:
- Debian 11
Development
Please see the CONTRIBUTING.md file for instructions regarding development environments and testing.
License
Please see the LICENSE
Reference
Table of Contents
Classes
graphdb
: # This class is able to install or remove graphdb distribution on a node. It manages the status of the related service.graphdb::install
: Perform the actual download of distribution archive and installations. Not meant to be used directly.graphdb::tool_links
: Adds GraphDB tool to system path. Not meant to be used directly.
Defined types
graphdb::data
: This define allows you to import data from given source(incl. zip archive)graphdb::ee::master::repository
: This define is able to manage GraphDB repositorygraphdb::ee::worker::repository
: This define is able to manage GraphDB repositorygraphdb::instance
: This define allows you to create or remove an graphdb instancegraphdb::plugin
: This define allows you to install GraphDB plugin from given sourcegraphdb::se::repository
: This define is able to manage GraphDB repositorygraphdb::service
: Based on parameters passed defines systemd service
Resource types
graphdb_data
: Loads data into GraphDBgraphdb_link
: Creates link between master and workergraphdb_repository
: Creates GraphDB repositorygraphdb_update
: Executes update query GraphDBgraphdb_validator
: Checks whether GraphDB instance is running
Data types
Graphdb::Ensure
: Validate the value of the ensure parameter for a installGraphdb::Status
: Validate the value of the status parameter for a install
Classes
graphdb
This class is able to install or remove graphdb distribution on a node. It manages the status of the related service.
Parameters
The following parameters are available in the graphdb
class:
archive_dl_timeout
data_dir
edition
ensure
graphdb_download_password
graphdb_download_user
graphdb_download_url
graphdb_group
graphdb_user
import_dir
install_dir
java_home
log_dir
manage_graphdb_user
pid_dir
purge_data_dir
restart_on_change
status
tmp_dir
version
archive_dl_timeout
Data type: Integer
For http downloads you can set how long the exec resource may take. default: 600 seconds
Default value: 600
data_dir
Data type: Stdlib::Absolutepath
String. GraphDB data directory
Default value: '/var/lib/graphdb'
edition
Data type: Optional[String]
String. GraphDB edition to install
Default value: undef
ensure
Data type: Graphdb::Ensure
String. Controls if the managed resources shall be present or absent. If set to absent:
- The managed distribution is being uninstalled.
- Any traces of installation will be purged as good as possible. This may
include existing configuration files. The exact behavior is provider
dependent. Q.v.:
- Puppet type reference: {package, "purgeable"}[http://j.mp/xbxmNP]
- {Puppet's package provider source code}[http://j.mp/wtVCaL]
- System modifications (if any) will be reverted as good as possible (e.g. removal of created users, services, changed log settings, ...).
- This is thus destructive and should be used with care. Defaults to present.
Default value: 'present'
graphdb_download_password
Data type: Optional[String]
For http downloads you can set password(basic auth credentials)
Default value: undef
graphdb_download_user
Data type: Optional[String]
For http downloads you can set user(basic auth credentials)
Default value: undef
graphdb_download_url
Data type: String
Url to the archive to download. This can be a http or https resource for remote packages puppet:// resource or file:/ for local packages
Default value: 'http://maven.ontotext.com/content/groups/all-onto/com/ontotext/graphdb'
graphdb_group
Data type: String[1,32]
String. The group GraphDB should run as. This also sets the file rights
Default value: 'graphdb'
graphdb_user
Data type: String[1,32]
String. The group GraphDB should run as. This also sets the file rights
Default value: 'graphdb'
import_dir
Data type: Stdlib::Absolutepath
String. GraphDB import location
Default value: "${install_dir}/import"
install_dir
Data type: Stdlib::Absolutepath
String. GraphDB distribution location
Default value: '/opt/graphdb'
java_home
Data type: Optional[Stdlib::Absolutepath]
String. The location of java installation
Default value: undef
log_dir
Data type: Stdlib::Absolutepath
String. GraphDB log directory
Default value: '/var/log/graphdb'
manage_graphdb_user
Data type: Boolean
Boolean. Whether this module manages GraphDB user
Default value: true
pid_dir
Data type: Stdlib::Absolutepath
String. GraphDB pid directory
Default value: '/var/run/graphdb'
purge_data_dir
Data type: Boolean
Boolean. Purge data directory on removal
Default value: false
restart_on_change
Data type: Boolean
Boolean that determines if the application should be automatically restarted whenever the configuration change. Enabling this setting will cause GraphDB to restart whenever there is cause to re-read configuration files, load new plugins, or start the service using an updated/changed executable. This may be undesireable in highly available environments.
Default value: true
status
Data type: Graphdb::Status
String to define the status of the service. Possible values:
- enabled: Service is running and will be started at boot time.
- disabled: Service is stopped and will not be started at boot time.
- running: Service is running but will not be started at boot time. You can use this to start a service on the first Puppet run instead of the system startup.
- unmanaged: Service will not be started at boot time and Puppet does not care whether the service is running or not. For example, this may be useful if a cluster management software is used to decide when to start the service plus assuring it is running on the desired node. Defaults to enabled. The singular form ("service") is used for the sake of convenience. Of course, the defined status affects all services if more than one is managed (see service.pp to check if this is the case).
Default value: 'enabled'
tmp_dir
Data type: Stdlib::Absolutepath
String. The location of temporary files that this module will use
Default value: '/var/tmp/graphdb'
version
Data type: String
String. GraphDB version to install
Default value: undef
graphdb::install
Perform the actual download of distribution archive and installations. Not meant to be used directly.
graphdb::tool_links
Adds GraphDB tool to system path. Not meant to be used directly.
Defined types
graphdb::data
default: null
Parameters
The following parameters are available in the graphdb::data
defined type:
archive
context
data
data_format
endpoint
exists_expected_response
exists_query
overwrite
repository
source
timeout
archive
Data type: Optional[String]
Local zip archive that you want to load into GraphDB repository.
Default value: undef
context
Data type: String
The context you want to load your data into.
Default value: 'null'
data
Data type: Optional[String]
The data you want to load into GraphDB repository. Supported formats: String: 'data' Array: ['data#1','data#2'] Array of Hashes: [{'content' => 'data#1', 'context' => 'context_of_data#1', 'format' => 'format_of_data1'}, {'content' => 'data#2', 'context' => 'context_of_data#2', 'format' => 'format_of_data2'}] Mixed Array: [{'content' => 'data#1', 'context' => 'context_of_data#1', 'format' => 'format_of_data1'}, 'data#2'] note#1: if context for data not provided data_context is used note#2: if format for data not provided data_format is used
Default value: undef
data_format
Data type: Optional[String]
The data format. example: turtle
Default value: undef
endpoint
Data type: Stdlib::HTTPUrl
GraphDB endpoint. example: http://localhost:8080
exists_expected_response
Data type: Boolean
The expected response from exists_query default: true
Default value: true
exists_query
Data type: String
The ask query to check whether data is already loaded. You can use the following syntax: ask {?s ?p ?o}
overwrite
Data type: Boolean
Wheather to overwrite any existing data. default: false
Default value: false
repository
Data type: String
GraphDB repository.
source
Data type: Optional[String]
The source of data you want to load into GraphDB repository. Supported formats: String: 'path_to_file' String: 'path_to_directory' Array: ['path_to_file#1','path_to_file#2'] Array of Hashes: [{'source' => 'path_to_file#1', 'context' => 'context_of_file#1', 'format' => 'format_of_file#1'}, {'source' => 'path_to_file#2', 'context' => 'context_of_file#2', 'format' => 'format_of_file#2'}] Mixed Array: [{'source' => 'path_to_file#1', 'context' => 'context_of_file#1', 'format' => 'format_of_file#1'}, 'path_to_file#2'] note#1: if context for file not provided data_context is used note#2: if format for file not provided trying to resolve format from file if fails data_format is used
Default value: undef
timeout
Data type: Integer
The max number of seconds that the loading process should wait before giving up. default: 200
Default value: 200
graphdb::ee::master::repository
For other properties, please, check: {GraphDB documentation}[http://graphdb.ontotext.com/documentation/enterprise/configuring-a-repository.html?highlight=repository#configuration-parameters]
Parameters
The following parameters are available in the graphdb::ee::master::repository
defined type:
endpoint
ensure
node_id
replication_port
repository_context
repository_id
repository_label
repository_template
timeout
endpoint
Data type: Stdlib::HTTPUrl
GraphDB endpoint. example: http://localhost:8080
ensure
Data type: Graphdb::Ensure
Whether the service should exist. Possible values are present and absent.
Default value: $graphdb::ensure
node_id
Data type: Stdlib::HTTPUrl
Node id of master instance default: endpoint, same as the master instance endpoint
Default value: "${endpoint}/repositories/${repository_id}"
replication_port
Data type: Integer
Master replication port used for backups default: 0, random port used
Default value: 0
repository_context
Data type: String
The context of the repository. example: http://ontotext.com
repository_id
Data type: String
Repository ID
Default value: $title
repository_label
Data type: String
Repository title
Default value: 'GraphDB EE master repository'
repository_template
Data type: String
The template to use for repository creation example: http://ontotext.com
Default value: "${module_name}/repository/master.ttl.epp"
timeout
Data type: Integer
The max number of seconds that the repository create/delete/check process should wait before giving up. default: 60
Default value: 60
graphdb::ee::worker::repository
For other properties, please, check: {GraphDB documentation}[http://graphdb.ontotext.com/documentation/enterprise/configuring-a-repository.html?highlight=repository#configuration-parameters]
Parameters
The following parameters are available in the graphdb::ee::worker::repository
defined type:
check_for_inconsistencies
default_ns
disable_same_as
endpoint
enable_context_index
enable_literal_index
enable_predicate_list
ensure
entity_id_size
entity_index_size
in_memory_literal_properties
imports
query_limit_results
query_timeout
non_interpretable_predicates
read_only
repository_context
repository_id
repository_label
repository_template
ruleset
storage_folder
timeout
throw_query_evaluation_exception_on_timeout
transaction_isolation
transaction_mode
check_for_inconsistencies
Data type: Boolean
Check for inconsistencies
Default value: false
default_ns
Data type: String
Default namespaces for imports(';' delimited)
Default value: ''
disable_same_as
Data type: Boolean
Disable OWL sameAs optimisation
Default value: false
endpoint
Data type: Stdlib::HTTPUrl
GraphDB endpoint. example: http://localhost:8080
enable_context_index
Data type: Boolean
Use context index
Default value: false
enable_literal_index
Data type: Boolean
Enable literal index
Default value: true
enable_predicate_list
Data type: Boolean
Use predicate indices
Default value: false
ensure
Data type: Graphdb::Ensure
Whether the service should exist. Possible values are present and absent.
Default value: $graphdb::ensure
entity_id_size
Data type: String
Entity ID bit-size
Default value: '32'
entity_index_size
Data type: String
Entity index size
Default value: '200000'
in_memory_literal_properties
Data type: Boolean
Cache literal language tags
Default value: false
imports
Data type: String
Imported RDF files(';' delimited)
Default value: ''
query_limit_results
Data type: String
Limit query results
Default value: '0'
query_timeout
Data type: String
Query time-out (seconds)
Default value: '0'
non_interpretable_predicates
Data type: String
Non-interpretable predicates
Default value: 'http://www.w3.org/2000/01/rdf-schema#label;http://www.w3.org/1999/02/22-rdf-syntax-ns#type;http://www.ontotext.com/owlim/ces#gazetteerConfig;http://www.ontotext.com/owlim/ces#metadataConfig'
read_only
Data type: Boolean
Read-only
Default value: false
repository_context
Data type: String
The context of the repository. example: http://ontotext.com
repository_id
Data type: String
Repository ID
Default value: $title
repository_label
Data type: String
Repository title
Default value: 'GraphDB EE worker repository'
repository_template
Data type: String
The template to use for repository creation example: http://ontotext.com
Default value: "${module_name}/repository/worker.ttl.epp"
ruleset
Data type: String
Rule-set
Default value: 'owl-horst-optimized'
storage_folder
Data type: String
Storage folder
Default value: 'storage'
timeout
Data type: Integer
The max number of seconds that the repository create/delete/check process should wait before giving up. default: 60
Default value: 60
throw_query_evaluation_exception_on_timeout
Data type: Boolean
Throw exception on query time-out
Default value: false
transaction_isolation
Data type: Boolean
Transaction isolation
Default value: true
transaction_mode
Data type: String
Transaction mode
Default value: 'safe'
graphdb::instance
This define allows you to create or remove an graphdb instance
Parameters
The following parameters are available in the graphdb::instance
defined type:
ensure
external_url
extra_properties
heap_size
http_port
java_opts
jolokia_access_link
kill_timeout
license
logback_config
protocol
status
validator_test_enabled
validator_timeout
ensure
Data type: Graphdb::Ensure
String. Controls if the managed resources shall be present or absent. If set to absent:
- The managed instance is being uninstalled.
- Any traces of installation will be purged as good as possible. This may
include existing configuration files. The exact behavior is provider
dependent. Q.v.:
- Puppet type reference: {package, "purgeable"}[http://j.mp/xbxmNP]
- {Puppet's package provider source code}[http://j.mp/wtVCaL]
- System modifications (if any) will be reverted as good as possible (e.g. removal of created users, services, changed log settings, ...).
- This is thus destructive and should be used with care. Defaults to present.
Default value: $graphdb::ensure
external_url
Data type: Optional[String]
GraphDB external URL if GraphDB instance is accessed via proxy
Default value: undef
extra_properties
Data type: Hash
Hash of properties to include in graphdb.properties file example: {'graphdb.some.property' => 'some.property.value'}
Default value: {}
heap_size
Data type: Optional[String]
GraphDB java heap size given by -Xmx parameter. Note heap_size parameter will also set xms=xmx
Default value: undef
http_port
Data type: Integer
The http port at which GraphDB will run.
Default value: 8080
java_opts
Data type: Array
Array of java options to give to GraphDB java process example: ['-Xmx1g', '-Xms1g']
Default value: []
jolokia_access_link
Data type: Boolean
Add jolokia-access.xml link
Default value: versioncmp($graphdb::ensure, '9.10.0') > -1
kill_timeout
Data type: Integer
Time before force kill of GraphDB process. Instances with big repositories may time to flush on shutdown. default: 180
Default value: 180
license
Data type: Optional[String]
GraphDB license file.
Default value: undef
logback_config
Data type: Optional[String]
GraphDB logback log configuration
Default value: undef
protocol
Data type: String
A string, either 'http' or 'https defining under what protocol to connect to GraphDB'
Default value: 'http'
status
Data type: Graphdb::Status
String to define the status of the service. Possible values:
- enabled: Service is running and will be started at boot time.
- disabled: Service is stopped and will not be started at boot time.
- running: Service is running but will not be started at boot time. You can use this to start a service on the first Puppet run instead of the system startup.
- unmanaged: Service will not be started at boot time and Puppet does not care whether the service is running or not. For example, this may be useful if a cluster management software is used to decide when to start the service plus assuring it is running on the desired node. Defaults to enabled. The singular form ("service") is used for the sake of convenience. Of course, the defined status affects all services if more than one is managed (see service.pp to check if this is the case).
Default value: $graphdb::status
validator_test_enabled
Data type: Boolean
GraphDB validator
Default value: true
validator_timeout
Data type: Integer
Time before GraphDB validator decides that the GraphDB instance is not running
Default value: 60
graphdb::plugin
This define allows you to install GraphDB plugin from given source
Parameters
The following parameters are available in the graphdb::plugin
defined type:
ensure
Data type: Graphdb::Ensure
String. Controls if the managed resources shall be present or absent. If set to absent:
- The managed plugin is being uninstalled.
- Any traces of installation will be purged as good as possible. This may
include existing configuration files. The exact behavior is provider
dependent. Q.v.:
- Puppet type reference: {package, "purgeable"}[http://j.mp/xbxmNP]
- {Puppet's package provider source code}[http://j.mp/wtVCaL]
- System modifications (if any) will be reverted as good as possible (e.g. removal of created users, services, changed log settings, ...).
- This is thus destructive and should be used with care. Defaults to present.
Default value: $graphdb::ensure
instance
Data type: String
GraphDB instance to install plugin on.
source
Data type: Optional[String]
The source of GraphDB plugin.
Default value: undef
graphdb::se::repository
For other properties, please, check: {GraphDB documentation}[http://graphdb.ontotext.com/documentation/standard/configuring-a-repository.html?highlight=repository#configuration-parameters]
Parameters
The following parameters are available in the graphdb::se::repository
defined type:
check_for_inconsistencies
default_ns
disable_same_as
endpoint
enable_context_index
enable_literal_index
enable_predicate_list
ensure
entity_id_size
entity_index_size
in_memory_literal_properties
imports
query_limit_results
query_timeout
read_only
repository_context
repository_id
repository_label
repository_template
ruleset
storage_folder
timeout
throw_query_evaluation_exception_on_timeout
transaction_isolation
transaction_mode
check_for_inconsistencies
Data type: Boolean
Check for inconsistencies
Default value: false
default_ns
Data type: String
Default namespaces for imports(';' delimited)
Default value: ''
disable_same_as
Data type: Boolean
Disable OWL sameAs optimisation
Default value: false
endpoint
Data type: Stdlib::HTTPUrl
GraphDB endpoint. example: http://localhost:8080
enable_context_index
Data type: Boolean
Use context index
Default value: false
enable_literal_index
Data type: Boolean
Enable literal index
Default value: true
enable_predicate_list
Data type: Boolean
Use predicate indices
Default value: false
ensure
Data type: Graphdb::Ensure
Whether the service should exist. Possible values are present and absent.
Default value: $graphdb::ensure
entity_id_size
Data type: String
Entity ID bit-size
Default value: '32'
entity_index_size
Data type: String
Entity index size
Default value: '200000'
in_memory_literal_properties
Data type: Boolean
Cache literal language tags
Default value: false
imports
Data type: String
Imported RDF files(';' delimited)
Default value: ''
query_limit_results
Data type: String
Limit query results
Default value: '0'
query_timeout
Data type: String
Query time-out (seconds)
Default value: '0'
read_only
Data type: Boolean
Read-only
Default value: false
repository_context
Data type: String
The context of the repository. example: http://ontotext.com
repository_id
Data type: String
Repository ID
Default value: $title
repository_label
Data type: String
Repository title
Default value: 'GraphdDB SE repository'
repository_template
Data type: String
The template to use for repository creation example: http://ontotext.com
Default value: "${module_name}/repository/se.ttl.epp"
ruleset
Data type: String
Rule-set
Default value: 'owl-horst-optimized'
storage_folder
Data type: String
Storage folder
Default value: 'storage'
timeout
Data type: Integer
The max number of seconds that the repository create/delete/check process should wait before giving up. default: 60
Default value: 60
throw_query_evaluation_exception_on_timeout
Data type: Boolean
Throw exception on query time-out
Default value: false
transaction_isolation
Data type: Boolean
Transaction isolation
Default value: true
transaction_mode
Data type: String
Transaction mode
Default value: 'safe'
graphdb::service
Based on parameters passed defines systemd service
Parameters
The following parameters are available in the graphdb::service
defined type:
ensure
Data type: Graphdb::Ensure
Whether the service should exist. Possible values are present and absent.
status
Data type: Graphdb::Status
What the state of the service must be. Possible values are enabled, disabled, running and unmanaged.
java_opts
Data type: Array
Array of java options to give to GraphDB java process example: ['-Xmx1g', '-Xms1g']
Default value: []
kill_timeout
Data type: Integer
Time before force kill of GraphDB process. Instances with big repositories may time to flush on shutdown. default: 180
Default value: 180
Resource types
graphdb_data
Loads data into GraphDB
Properties
The following properties are available in the graphdb_data
type.
ensure
Valid values: present
, absent
Ensure value.
Default value: present
Parameters
The following parameters are available in the graphdb_data
type.
data
data_context
data_format
data_overwrite
data_source
endpoint
exists_expected_response
exists_query
name
provider
repository_id
timeout
data
The data you want to load into repository Supported formats: String: 'data' Array: ['data#1','data#2'] Array of Hashes: [{'content' => 'data#1', 'context' => 'context_of_data#1', 'format' => 'format_of_data1'}, {'content' => 'data#2', 'context' => 'context_of_data#2', 'format' => 'format_of_data2'}] Mixed Array: [{'content' => 'data#1', 'context' => 'context_of_data#1', 'format' => 'format_of_data1'}, 'data#2'] note#1: if context for data not provided data_context is used note#2: if format for data not provided data_format is used
data_context
The context you want to load your data into; default: null
Default value: null
data_format
Valid values: Puppet::Util::DataTypeExtensions.values
The format of the data. e.g.: turtle
data_overwrite
Wheather to overwrite any existing data; default: false
Default value: false
data_source
The source of data you want to load into repository Supported formats: String: 'path_to_file' String: 'path_to_directory' Array: ['path_to_file#1','path_to_file#2'] Array of Hashes: [{'source' => 'path_to_file#1', 'context' => 'context_of_file#1', 'format' => 'format_of_file#1'}, {'source' => 'path_to_file#2', 'context' => 'context_of_file#2', 'format' => 'format_of_file#2'}] Mixed Array: [{'source' => 'path_to_file#1', 'context' => 'context_of_file#1', 'format' => 'format_of_file#1'}, 'path_to_file#2'] note#1: if context for file not provided data_context is used note#2: if format for file not provided trying to resolve format from file if fails data_format is used
endpoint
Sesame endpoint of GraphDB instance
exists_expected_response
The expected response from exists_query
Default value: true
exists_query
The ask query to check whether data is already loaded. You can use the following syntax: ask {?s ?p ?o}
name
namevar
An arbitrary name used as the identity of the resource.
provider
The specific backend to use for this graphdb_data
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
repository_id
The id of the created repository
timeout
The max number of seconds that the loading process should wait before giving up; default: 60 seconds
Default value: 60
graphdb_link
Creates link between master and worker
Properties
The following properties are available in the graphdb_link
type.
ensure
Valid values: present
, absent
Ensure value.
Default value: present
Parameters
The following parameters are available in the graphdb_link
type.
master_endpoint
master_repository_id
name
peer_master_endpoint
peer_master_node_id
peer_master_repository_id
provider
replication_port
worker_endpoint
worker_repository_id
master_endpoint
Sesame endpoint of GraphDB master instance
master_repository_id
The id of the master repository
name
namevar
An arbitrary name used as the identity of the resource.
peer_master_endpoint
Sesame endpoint of GraphDB peer master instance
peer_master_node_id
The node id of peer master instance
peer_master_repository_id
The id of the peer master repository
provider
The specific backend to use for this graphdb_link
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
replication_port
The port for replications that master and worker will use; default: 0
Default value: 0
worker_endpoint
Sesame endpoint of GraphDB worker instance
worker_repository_id
The id of the worker repository
graphdb_repository
Creates GraphDB repository
Properties
The following properties are available in the graphdb_repository
type.
ensure
Valid values: present
, absent
Ensure value.
Default value: present
Parameters
The following parameters are available in the graphdb_repository
type.
endpoint
name
node_id
provider
replication_port
repository_context
repository_id
repository_template
timeout
endpoint
Sesame endpoint of GraphDB instance
name
namevar
An arbitrary name used as the identity of the resource.
node_id
The node id of master instance
provider
The specific backend to use for this graphdb_repository
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
replication_port
The replication port used for backups
repository_context
The context of the created repository
repository_id
The id of the created repository
repository_template
The template of the created repository
timeout
The max number of seconds that graphdb create/delete/check process should wait before giving up and deciding that the GraphDB is not running; default: 60 seconds.
Default value: 60
graphdb_update
Executes update query GraphDB
Properties
The following properties are available in the graphdb_update
type.
ensure
Valid values: present
, absent
Ensure value.
Default value: present
Parameters
The following parameters are available in the graphdb_update
type.
endpoint
Sesame endpoint of GraphDB instance
exists_expected_response
The expected response from exists_query
Default value: true
exists_query
The ask query to check whether update has been applied. You can use the following syntax: ask {?s ?p ?o}
name
namevar
An arbitrary name used as the identity of the resource.
provider
The specific backend to use for this graphdb_update
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
repository_id
The id of the created repository
timeout
The max number of seconds that the update process should wait before giving up; default: 60 seconds.
Default value: 60
update_query
The update query you want to execute repository
graphdb_validator
Checks whether GraphDB instance is running
Properties
The following properties are available in the graphdb_validator
type.
ensure
Valid values: present
, absent
Ensure value.
Default value: present
Parameters
The following parameters are available in the graphdb_validator
type.
endpoint
Sesame endpoint of GraphDB instance
name
namevar
An arbitrary name used as the identity of the resource.
provider
The specific backend to use for this graphdb_validator
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
timeout
The max number of seconds that the validator should wait before giving up and deciding that the GraphDB is not running; default: 60 seconds.
Default value: 60
Data types
Graphdb::Ensure
Validate the value of the ensure parameter for a install
Alias of Enum['present', 'absent']
Graphdb::Status
Validate the value of the status parameter for a install
Alias of Enum['enabled', 'disabled', 'running', 'unmanaged']
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v1.0.0
- Add comments (lib)
- Add RedHat 9, CentOS 9, Ubuntu 22.04, Debian 12 Support
- Replace legacy_facts (+ modify fact in spec)
- Add tests kernel and os (init.pp)
- Replace notation %w(...) by %w[...]
- Add workflow file
- Add fact graphdb_version
- Change templates ERB in EPP format
- Change type params endpoint String to Stdlib::HTTPUrl
- Remove function generate_java_opts_string (use join)
- Add some rubocop rules and corrections in lib files
v0.10.0
- Remove templates init.d and upstart
- Add types : Graphdb::Ensure, Graphdb::Status
- Replace all type parameters ensure by Graphdb::Ensure
- Remove manifest systemd.pp
v0.9.0
- Keep debian 11 only (metadata.json)
- Replace validate_xxx
- Change type parameter ensure : now Enum['present', 'absent']
- Remove init and upstart files
v0.8.2
- Drop debian 10 (metadata.json)
- Use Sensitive for graphdb.properties
v0.8.1
- Rubocop corrections
- Add parameter $validator_test_enabled in instance.pp to disable this test (enabled by default)
v0.8.0
- Installation graphdb v10 (remove edition in url and directory)
- Add debian 11 (metadata.json)
v0.7.3
v0.7.2
- Correction "Unable to load default_facts.yml: wrong number of arguments ..." during bundle exec rake spec
- "Rollback" Gemfile
- Add Dockerfile
v0.7.1
- Correction WARN Missing jolokia-access.xml in graphdb.home.conf
[WARN ] 2022-01-28 14:25:40,918 [main | c.o.f.j.JolokiaAgentServlet] Missing jolokia-access.xml in graphdb.home.conf location /opt/graphdb/instances/instance/conf for servlet, switching to default policy
https://graphdb.ontotext.com/documentation/free/configuring-graphdb.html#what-s-in-this-document (Jolokia security policy)
v0.7.0
- pdk convert and adaptation (Gemfile, ...)
- add parameters type + comments
- change data.pp ensure => 'present' to ensure => file, (and modify data_spec.rb)
- Add facter graphdb_java_home (used code : https://github.com/puppetlabs/puppetlabs-java/blob/main/lib/facter/java_default_home.rb)
- Remove facts.d JAVA_HOME.sh
- Add jolokia.xml link in instance.pp (version >= 9.10.0)
- Move params.pp in service::params.pp
- ...
v0.6.0 (22 Jan 2022)
UPGRADE
- Ruby minimum 2.0.0
CHANGE
- Remove graphdb::ee::backup_cron (and his spec)
- Modify command unpack-graphdb-plugin (rm path and add chown)
- Remove useless condition in params.pp
- Remove oldest versions in metadata.json
- Add debian 10 version in metadata.json
- Many rubocop corrections : frozen_string_literal ... etc
- Remove some file in spec/acceptance/nodesets (add debian 10)
- Modify errors on master_master_link_manager_spec.rb and master_worker_link_manager_spec.rb
v0.5.2 (30 Nov 2020)
Dependencies
- puppetlabs/stdlib (>= 8.0.0 < 10.0.0)
Copyright 2016 Ontotext AD Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.