aboutsummaryrefslogtreecommitdiff
path: root/manifests/role/dev/drupal8.pp
blob: 74e056c749e795c3d9fa04133141819f858d80b5 (plain)
1
2
3
4
5
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
#
# 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] ],
    }
  }
}