aboutsummaryrefslogtreecommitdiff
path: root/manifests/role/dev
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2019-09-12 16:49:54 -0300
committerSilvio Rhatto <rhatto@riseup.net>2019-09-12 16:49:54 -0300
commitf317d0858b95bd15ccbf5d8d7b3b1ea9a4717b03 (patch)
tree3c9c7c740ec63a99a3825392041c9590a764d599 /manifests/role/dev
parentc2bb5bb5fc13124e15ed435e8fd4f4780cb8c49a (diff)
downloadpuppet-nodo-f317d0858b95bd15ccbf5d8d7b3b1ea9a4717b03.tar.gz
puppet-nodo-f317d0858b95bd15ccbf5d8d7b3b1ea9a4717b03.tar.bz2
Adds nodo::role::dev::drupal8::composer
Diffstat (limited to 'manifests/role/dev')
-rw-r--r--manifests/role/dev/drupal8.pp73
-rw-r--r--manifests/role/dev/drupal8/base.pp75
-rw-r--r--manifests/role/dev/drupal8/composer.pp31
3 files changed, 107 insertions, 72 deletions
diff --git a/manifests/role/dev/drupal8.pp b/manifests/role/dev/drupal8.pp
index 9f559c0..9beee2e 100644
--- a/manifests/role/dev/drupal8.pp
+++ b/manifests/role/dev/drupal8.pp
@@ -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
index 0000000..1c82387
--- /dev/null
+++ b/manifests/role/dev/drupal8/base.pp
@@ -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
index 0000000..b27e980
--- /dev/null
+++ b/manifests/role/dev/drupal8/composer.pp
@@ -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>",
+ }
+}