]> gitweb.fluxo.info Git - puppet-nodo.git/commitdiff
Adds nodo::role::dev::drupal8::composer
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 12 Sep 2019 19:49:54 +0000 (16:49 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 12 Sep 2019 19:49:54 +0000 (16:49 -0300)
manifests/role/dev/drupal8.pp
manifests/role/dev/drupal8/base.pp [new file with mode: 0644]
manifests/role/dev/drupal8/composer.pp [new file with mode: 0644]

index 9f559c0a7fe0c40e58d052faf83e2920d93c5be1..9beee2ed0e561825b3b58e4d6d01f417402676ce 100644 (file)
@@ -1,79 +1,13 @@
 #
 # Class for a Drupal 8 development website
 #
-class nodo::role::dev::drupal8(
+class nodo::role::dev::drupal8 inherits nodo::role::dev::drupal8::base (
   $project        = 'drupal',
   $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx'
   $project_user   = 'user',        # 'vagrant'
   $db_name        = 'drupal',
   $db_password    = 'hackme',
 ) {
-  include nodo::role::dev::virtual
-  include apache
-  include nodo::utils::development::web
-  include nodo::utils::development::php
-
-  class { 'php':
-    series         => [ '7' ],
-    manage_mod_php => '7',
-  }
-
-  $php_version = $::php::params::version7
-
-  include database
-  include drupal
-  include php::composer
-
-  # In case you want to use sqlite3 db
-  package { 'sqlite3':
-    ensure => installed,
-  }
-
-  # In case you use makefiles
-  package { 'make':
-    ensure => present,
-  }
-
-  # 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':
-  #file { '/etc/php/7.0/apache2/conf.d/20-xdebug-levels.ini':
-  file { "/etc/php/${php_version}/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['php'],
-    notify  => Service['apache2'],
-  }
-
-  # Fix previous typo error
-  file { [ '/etc/php/7.2/mods-available/20-xdebug-levels.ini' ]:
-    ensure => absent,
-  }
-
-  #file { "/etc/php/${php_version}/apache2/conf.d/20-max-execution-time.ini":
-  #  ensure  => present,
-  #  owner   => 'root',
-  #  group   => 'root',
-  #  mode    => '0644',
-  #  content => "max_execution_time=120\n",
-  #  require => Package['php'],
-  #  notify  => Service['apache2'],
-  #}
-
-  #file { "/etc/php/${php_version}/apache2/conf.d/20-memory-limit.ini":
-  #  ensure  => present,
-  #  owner   => 'root',
-  #  group   => 'root',
-  #  mode    => '0644',
-  #  content => "memory_limit=512M\n",
-  #  require => Package['php'],
-  #  notify  => Service['apache2'],
-  #}
-
   # Do not use this password on production machines
   database::instance { $db_name:
     password => $db_password,
@@ -192,11 +126,6 @@ class nodo::role::dev::drupal8(
     require => File["${project_folder}/vendor"],
   }
 
-  #apache::site { [ "localhost", "default", "000-default" ]:
-  apache::site { "localhost":
-    ensure => absent,
-  }
-
   apache::site { "${project}":
     ensure         => present,
     docroot        => "${::apache::www_folder}/drupal-8",
diff --git a/manifests/role/dev/drupal8/base.pp b/manifests/role/dev/drupal8/base.pp
new file mode 100644 (file)
index 0000000..1c82387
--- /dev/null
@@ -0,0 +1,75 @@
+#
+# Base Class for a Drupal 8 development website
+#
+class nodo::role::dev::drupal8::base {
+  include nodo::role::dev::virtual
+  include apache
+  include nodo::utils::development::web
+  include nodo::utils::development::php
+
+  class { 'php':
+    series         => [ '7' ],
+    manage_mod_php => '7',
+  }
+
+  $php_version = $::php::params::version7
+
+  include database
+  include drupal
+  include php::composer
+
+  # In case you want to use sqlite3 db
+  package { 'sqlite3':
+    ensure => installed,
+  }
+
+  # In case you use makefiles
+  package { 'make':
+    ensure => present,
+  }
+
+  # 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':
+  #file { '/etc/php/7.0/apache2/conf.d/20-xdebug-levels.ini':
+  file { "/etc/php/${php_version}/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['php'],
+    notify  => Service['apache2'],
+  }
+
+  # Fix previous typo error
+  file { [ '/etc/php/7.2/mods-available/20-xdebug-levels.ini' ]:
+    ensure => absent,
+  }
+
+  #file { "/etc/php/${php_version}/apache2/conf.d/20-max-execution-time.ini":
+  #  ensure  => present,
+  #  owner   => 'root',
+  #  group   => 'root',
+  #  mode    => '0644',
+  #  content => "max_execution_time=120\n",
+  #  require => Package['php'],
+  #  notify  => Service['apache2'],
+  #}
+
+  #file { "/etc/php/${php_version}/apache2/conf.d/20-memory-limit.ini":
+  #  ensure  => present,
+  #  owner   => 'root',
+  #  group   => 'root',
+  #  mode    => '0644',
+  #  content => "memory_limit=512M\n",
+  #  require => Package['php'],
+  #  notify  => Service['apache2'],
+  #}
+
+  #apache::site { [ "localhost", "default", "000-default" ]:
+  apache::site { "localhost":
+    ensure => absent,
+  }
+}
diff --git a/manifests/role/dev/drupal8/composer.pp b/manifests/role/dev/drupal8/composer.pp
new file mode 100644 (file)
index 0000000..b27e980
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# Class for a Drupal 8 development website using drupal-composer
+#
+class nodo::role::dev::drupal8::composer inherits nodo::role::dev::drupal8::base (
+  $project        = 'drupal',
+  $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx'
+  $project_user   = 'user',        # 'vagrant'
+  $db_name        = 'drupal',
+  $db_password    = 'hackme',
+) {
+  # Do not use this password on production machines
+  database::instance { $db_name:
+    password => $db_password,
+  }
+
+  apache::site { "${project}":
+    ensure            => present,
+    docroot           => "${project_folder}/web"
+    server_alias      => "localhost ${project} ${project}.localhost ${project}.local",
+    mpm_user          => $project_user,
+    mpm_group         => $project_user,
+    manage_user       => false,
+    manage_docroot    => false,
+    custom_directives => "
+      <Directory ${project_folder}/web>
+        Options Indexes Includes FollowSymLinks MultiViews
+        AllowOverride All
+        Require all granted
+      </Directory>",
+  }
+}