if $sqlite_values == undef { $sqlite_values = hiera_hash('sqlite', false) } if $php_values == undef { $php_values = hiera_hash('php', false) } if $apache_values == undef { $apache_values = hiera_hash('apache', false) } if $nginx_values == undef { $nginx_values = hiera_hash('nginx', false) } if $mailcatcher_values == undef { $mailcatcher_values = hiera_hash('mailcatcher', false) } include puphpet::params if hash_key_equals($sqlite_values, 'install', 1) { if hash_key_equals($php_values, 'install', 1) { $sqlite_php_installed = true $sqlite_php_package = 'php' } elsif hash_key_equals($hhvm_values, 'install', 1) { $sqlite_php_installed = true $sqlite_php_package = 'hhvm' } else { $sqlite_php_installed = false } # puppet manifests for mailcatcher and sqlite are not compatible. if hash_key_equals($mailcatcher_values, 'install', 0) { class { 'sqlite': } } if is_hash($sqlite_values['databases']) and count($sqlite_values['databases']) > 0 { create_resources(sqlite_db, $sqlite_values['databases']) } if $sqlite_php_installed and $sqlite_php_package == 'php' and ! defined(Puphpet::Php::Pecl['sqlite']) { puphpet::php::pecl { 'sqlite': service_autorestart => true, } } if hash_key_equals($sqlite_values, 'adminer', 1) and $sqlite_php_installed { if hash_key_equals($apache_values, 'install', 1) { $sqlite_adminer_webroot_location = $puphpet::params::apache_webroot_location } elsif hash_key_equals($nginx_values, 'install', 1) { $sqlite_adminer_webroot_location = $puphpet::params::nginx_webroot_location } else { $sqlite_adminer_webroot_location = $puphpet::params::apache_webroot_location } class { 'puphpet::adminer': location => "${sqlite_adminer_webroot_location}/adminer", owner => 'www-data', php_package => $sqlite_php_package } } } define sqlite_db ( $name, $owner, $group = 0, $mode = 0775, $sql_file = false ) { if $name == '' or $owner == '' or $mode == '' { fail( 'SQLite requires that name, owner, group, and mode be set. Please check your settings!' ) } file { '/var/lib/sqlite': ensure => directory, owner => $owner, group => $group, mode => 0775, require => User[$owner] } -> sqlite::db { $name: owner => $owner, group => $group, mode => $mode } if $sql_file { exec{ "${name}-import": command => "cat ${sql_file} | sudo sqlite3 /var/lib/sqlite/${name}.db", logoutput => true, refreshonly => $refresh, require => Sqlite::Db[$name], onlyif => "test -f ${sql_file}" } } }