Puppet Class: graphdb::install
- Defined in:
- manifests/install.pp
Overview
Class: graphdb::install
Perform the actual download of distribution archive and installations. Not meant to be used directly.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'manifests/install.pp', line 6
class graphdb::install {
require graphdb
Exec {
path => ['/bin', '/usr/bin', '/usr/local/bin'],
cwd => '/',
user => $graphdb::graphdb_user,
}
$dist_installation_dir = "${graphdb::install_dir}/dist"
$instances_installation_dir = "${graphdb::install_dir}/instances"
$import_installation_dir = $graphdb::import_dir
if $graphdb::ensure == 'present' {
File {
owner => $graphdb::graphdb_user,
group => $graphdb::graphdb_group,
}
ensure_packages(['unzip', 'curl'])
if $graphdb::manage_graphdb_user {
user { $graphdb::graphdb_user:
ensure => 'present',
comment => 'graphdb service user',
}
}
file { [$graphdb::install_dir, $graphdb::tmp_dir, $graphdb::data_dir, $graphdb::log_dir,
$graphdb::pid_dir, $instances_installation_dir, $import_installation_dir]:
ensure => 'directory',
}
if versioncmp($graphdb::version, '10') < 0 {
# URL example graphdb 9.10.1 : http://maven.ontotext.com/content/groups/all-onto/com/ontotext/graphdb/graphdb-ee/9.10.1/graphdb-ee-9.10.1-dist.zip
$archive_destination = "${graphdb::tmp_dir}/graphdb-${graphdb::edition}-${graphdb::version}.zip"
$_package_url_path="${graphdb::graphdb_download_url}/graphdb-${graphdb::edition}/${graphdb::version}"
$_package_url_file="graphdb-${graphdb::edition}-${graphdb::version}-dist.zip"
$package_url = "${_package_url_path}/${_package_url_file}"
$unpacked_directory = "${dist_installation_dir}/graphdb-${graphdb::edition}-${graphdb::version}"
} else {
# URL example graphdb 10.0.0 : https://maven.ontotext.com/repository/owlim-releases/com/ontotext/graphdb/graphdb/10.0.0/graphdb-10.0.0-dist.zip
$archive_destination = "${graphdb::tmp_dir}/graphdb-${graphdb::version}.zip"
$_package_url_path="${graphdb::graphdb_download_url}/graphdb/${graphdb::version}"
$_package_url_file="graphdb-${graphdb::version}-dist.zip"
$package_url = "${_package_url_path}/${_package_url_file}"
$unpacked_directory = "${dist_installation_dir}/graphdb-${graphdb::version}"
}
if $graphdb::graphdb_download_user {
$basic_auth_option = "-u ${graphdb::graphdb_download_user}:${graphdb::graphdb_download_password}"
} else {
$basic_auth_option = ''
}
$_download_cmd_rm="rm -f ${graphdb::tmp_dir}/*.zip"
$_download_cmd_curl="curl --insecure ${basic_auth_option} -o ${archive_destination} ${package_url} 2> /dev/null"
$_unpack_cmd_1="rm -rf ${dist_installation_dir}"
$_unpack_cmd_2="unzip ${archive_destination} -d ${dist_installation_dir}"
$_unpack_cmd_3="mv ${unpacked_directory}/* ${dist_installation_dir}"
$_unpack_cmd_4="rm -r ${unpacked_directory}"
exec { "download ${_package_url_file}":
command => "${_download_cmd_rm} && ${_download_cmd_curl}",
creates => $archive_destination,
timeout => $graphdb::archive_dl_timeout,
require => [File[$graphdb::tmp_dir], Package['curl']],
}
~> exec { 'unpack-graphdb-archive':
command => "${_unpack_cmd_1} && ${_unpack_cmd_2} && ${_unpack_cmd_3} && ${_unpack_cmd_4}",
refreshonly => true,
require => [File[$graphdb::install_dir], Package['unzip']],
}
} else {
$purge_list = [$graphdb::install_dir, $graphdb::tmp_dir, $graphdb::log_dir, $graphdb::pid_dir, $graphdb::import_dir]
if $graphdb::purge_data_dir {
join($purge_list, $graphdb::data_dir)
}
if $graphdb::manage_graphdb_user {
user { $graphdb::graphdb_user:
ensure => 'absent',
}
}
file { $purge_list:
ensure => 'absent',
force => true,
backup => false,
recurse => true,
}
}
}
|