From d4f4c68ae93af68b802c0e7d0f9c1749a6ae8646 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 28 Jul 2020 15:19:10 -0300 Subject: Replace drupal8::composer and drupal9::composer by a single drupal::composer --- manifests/role/dev/drupal/composer.pp | 49 ++++++++++ manifests/role/dev/drupal/composer/base.pp | 75 +++++++++++++++ manifests/role/dev/drupal8/composer.pp | 49 ---------- manifests/role/dev/drupal9.pp | 142 ----------------------------- manifests/role/dev/drupal9/base.pp | 75 --------------- manifests/role/dev/drupal9/composer.pp | 49 ---------- 6 files changed, 124 insertions(+), 315 deletions(-) create mode 100644 manifests/role/dev/drupal/composer.pp create mode 100644 manifests/role/dev/drupal/composer/base.pp delete mode 100644 manifests/role/dev/drupal8/composer.pp delete mode 100644 manifests/role/dev/drupal9.pp delete mode 100644 manifests/role/dev/drupal9/base.pp delete mode 100644 manifests/role/dev/drupal9/composer.pp diff --git a/manifests/role/dev/drupal/composer.pp b/manifests/role/dev/drupal/composer.pp new file mode 100644 index 0000000..cb81380 --- /dev/null +++ b/manifests/role/dev/drupal/composer.pp @@ -0,0 +1,49 @@ +# +# Class for a Drupal development website using drupal-composer +# +class nodo::role::dev::drupal::composer( + $project = 'drupal', + $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' + $project_user = 'user', # 'vagrant' + $db_name = 'drupal', + $db_password = 'hackme', +) { + include nodo::role::dev::drupal::composer::base + + # 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 => " + + Options Indexes Includes FollowSymLinks MultiViews + AllowOverride All + Require all granted + ", + } + + file { [ "${project_folder}/web/sites", "${project_folder}/web/sites/default" ]: + ensure => directory, + owner => root, + group => root, + mode => '0755', + force => true, + } + + #file { "${project_folder}/web/sites/default/settings.local.php": + # ensure => present, + # owner => root, + # group => root, + # force => true, + # require => File["${project_folder}/web/sites/default"], + #} +} diff --git a/manifests/role/dev/drupal/composer/base.pp b/manifests/role/dev/drupal/composer/base.pp new file mode 100644 index 0000000..986ed17 --- /dev/null +++ b/manifests/role/dev/drupal/composer/base.pp @@ -0,0 +1,75 @@ +# +# Base Class for a Drupal development website using Composer +# +class nodo::role::dev::drupal::composer::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 deleted file mode 100644 index cd25066..0000000 --- a/manifests/role/dev/drupal8/composer.pp +++ /dev/null @@ -1,49 +0,0 @@ -# -# Class for a Drupal 8 development website using drupal-composer -# -class nodo::role::dev::drupal8::composer( - $project = 'drupal', - $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' - $project_user = 'user', # 'vagrant' - $db_name = 'drupal', - $db_password = 'hackme', -) { - include nodo::role::dev::drupal8::base - - # 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 => " - - Options Indexes Includes FollowSymLinks MultiViews - AllowOverride All - Require all granted - ", - } - - file { [ "${project_folder}/web/sites", "${project_folder}/web/sites/default" ]: - ensure => directory, - owner => root, - group => root, - mode => '0755', - force => true, - } - - #file { "${project_folder}/web/sites/default/settings.local.php": - # ensure => present, - # owner => root, - # group => root, - # force => true, - # require => File["${project_folder}/web/sites/default"], - #} -} diff --git a/manifests/role/dev/drupal9.pp b/manifests/role/dev/drupal9.pp deleted file mode 100644 index ca26101..0000000 --- a/manifests/role/dev/drupal9.pp +++ /dev/null @@ -1,142 +0,0 @@ -# -# Class for a Drupal 9 development website -# -class nodo::role::dev::drupal9( - $project = 'drupal', - $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' - $project_user = 'user', # 'vagrant' - $db_name = 'drupal', - $db_password = 'hackme', -) { - include nodo::role::dev::drupal9::base - - # Do not use this password on production machines - database::instance { $db_name: - password => $db_password, - } - - # We could simply using one symlink, but it might incur in - # performance penalties by drush recursivelly searching for - # plugins in the whole project tree. - #file { "${::apache::www_folder}/drupal-9/sites/default": - # ensure => $project_folder, - # force => true, - #} - - #file { "${::apache::www_folder}/drupal-9/sites/${project}": - # ensure => $project_folder, - # force => true, - #} - - file { "${::apache::www_folder}/drupal-9/sites/default": - ensure => directory, - owner => root, - group => root, - mode => '0755', - require => Exec['drupal-download-9.x'], - force => true, - } - - file { "${::apache::www_folder}/drupal-9/sites/${project}": - ensure => "${::apache::www_folder}/drupal-9/sites/default", - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/settings.php": - ensure => "${project_folder}/settings.php", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/settings.local.php": - ensure => "${project_folder}/settings.local.php", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/services.yml": - ensure => "${project_folder}/services.yml", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/files": - ensure => "${project_folder}/files", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/config": - ensure => "${project_folder}/config", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/themes": - ensure => "${project_folder}/themes", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/modules": - ensure => "${project_folder}/modules", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${::apache::www_folder}/drupal-9/sites/default/libraries": - ensure => "${project_folder}/libraries", - owner => root, - group => root, - force => true, - require => File["${::apache::www_folder}/drupal-9/sites/default"], - } - - file { "${project_folder}": - ensure => directory, - owner => $project_user, - group => $project_user, - mode => '0755', - } - - file { "${project_folder}/vendor": - ensure => directory, - owner => $project_user, - group => $project_user, - mode => '0755', - require => File["${project_folder}"], - } - - # Symlink to aid development - file { "${project_folder}/vendor/drupal-9": - ensure => "${::apache::www_folder}/drupal-9", - require => File["${project_folder}/vendor"], - } - - apache::site { "${project}": - ensure => present, - docroot => "${::apache::www_folder}/drupal-9", - server_alias => "localhost ${project} ${project}.localhost ${project}.local", - mpm_user => $project_user, - mpm_group => $project_user, - manage_user => false, - manage_docroot => false, - use => [ 'Drupal 9' ], - require => Exec['drupal-download-9.x'], - } -} diff --git a/manifests/role/dev/drupal9/base.pp b/manifests/role/dev/drupal9/base.pp deleted file mode 100644 index 74d1775..0000000 --- a/manifests/role/dev/drupal9/base.pp +++ /dev/null @@ -1,75 +0,0 @@ -# -# Base Class for a Drupal 9 development website -# -class nodo::role::dev::drupal9::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/drupal9/composer.pp b/manifests/role/dev/drupal9/composer.pp deleted file mode 100644 index c705f6b..0000000 --- a/manifests/role/dev/drupal9/composer.pp +++ /dev/null @@ -1,49 +0,0 @@ -# -# Class for a Drupal 9 development website using drupal-composer -# -class nodo::role::dev::drupal9::composer( - $project = 'drupal', - $project_folder = '/srv/shared', # '/vagrant', '/srv/kvmx' - $project_user = 'user', # 'vagrant' - $db_name = 'drupal', - $db_password = 'hackme', -) { - include nodo::role::dev::drupal9::base - - # 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 => " - - Options Indexes Includes FollowSymLinks MultiViews - AllowOverride All - Require all granted - ", - } - - file { [ "${project_folder}/web/sites", "${project_folder}/web/sites/default" ]: - ensure => directory, - owner => root, - group => root, - mode => '0755', - force => true, - } - - #file { "${project_folder}/web/sites/default/settings.local.php": - # ensure => present, - # owner => root, - # group => root, - # force => true, - # require => File["${project_folder}/web/sites/default"], - #} -} -- cgit v1.2.3