# # Class for a Drupal 8 development website # class nodo::role::dev::drupal8( $project_folder = '/srv/kvmx', # '/vagrant' $project_user = 'user', # 'vagrant' $run_makefile = false, ) { include nodo::role::dev::virtual class { 'apache': default_folder => "${project_folder}/vendor/drupal-8", default_user => $project_user, default_group => $project_user, } include nodo::utils::development::web include nodo::utils::development::php include php include database include drupal # Xdebug config # https://www.drupal.org/node/2488300 #file { '/etc/php5/apache2/conf.d/20-xdebug-levels.ini': file { '/etc/php/5.6/apache2/conf.d/20-xdebug-levels.ini': ensure => present, owner => 'root', group => 'root', mode => '0644', content => "[xdebug]\nxdebug.max_nesting_level=256\n", require => Package['php5'], notify => Service['apache2'], } $default_db = hiera('websites::default_db', 'default') $default_db_password = hiera('websites::default_db::password', 'hackme') # Do not use this password on production machines database::instance { $default_db: password => $default_db_password, } # Install the development website if $run_makefile != false { package { 'make': ensure => present, } exec { 'make-platform': command => '/usr/bin/make platform', user => $project_user, cwd => "${project_folder}", creates => "${project_folder}/vendor/drupal-8/sites/default/settings.php", timeout => 0, require => [ Package['make'], Database::Instance[$default_db] ], } } }