Deploying a Secure Cluster with Puppet

GraphDB can also be deployed with Puppet, allowing you to automate the deployment process and ensuring a stable and easy to monitor environment.

Instructions on Puppet deployment are available in GraphDB’s public GitHub repository. You can set the security details via the extra_properties parameter, for example:

extra_properties  =>
        { 'graphdb.auth.module' => 'ldap',
        'graphdb.auth.ldap.url' => 'ldap://localhost:10389/dc=example,dc=org',
        'graphdb.auth.ldap.user.search.base' => 'ou=people',
        'graphdb.auth.ldap.user.search.filter' => '(cn={0})',
        'graphdb.auth.ldap.role.search.base' => 'ou=groups',
        'graphdb.auth.ldap.role.search.filter' => '(member={1})',
        'graphdb.auth.ldap.role.map.administrator' => 'Administration' },

Security needs to be enabled via an API call. Here is how to do it via Puppet:

exec { 'enable-security':
                path => [ '/bin', '/usr/bin', '/usr/local/bin' ],
                command => "curl -X POST --header 'Content-Type: application/json' --header 'Accept: */*' -d 'true' 'http://localhost:8080/rest/security'",
                cwd  => '/',
                user => $graphdb::graphdb_user}