From 5bee26cff56092ed22928ecf8bb590a692f95010 Mon Sep 17 00:00:00 2001 From: nfawbert <62660788+nfawbert@users.noreply.github.com> Date: Fri, 28 Jan 2022 15:49:52 +0000 Subject: [PATCH 01/14] Fix docker-compose v2 issue and re-release to include clamav role (#68) --- RELEASE | 4 ++-- package.json | 2 +- src/controller-manager.ts | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/RELEASE b/RELEASE index b1aff8c..0534519 100644 --- a/RELEASE +++ b/RELEASE @@ -1,2 +1,2 @@ -1.1.17 -Release to repackage ce-dev to force d8 compatible drush version. +1.1.18 +Release to repackage ce-dev to fix docker-compose v2 volumes issue and install clamav role. diff --git a/package.json b/package.json index 0546524..8b5cbc4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ce-dev", "description": "Local Stack wrapper tool", - "version": "1.1.17", + "version": "1.1.18", "author": " @pm98zz-c", "bin": { "ce-dev": "./bin/run" diff --git a/src/controller-manager.ts b/src/controller-manager.ts index 974bd4a..9d51cc5 100644 --- a/src/controller-manager.ts +++ b/src/controller-manager.ts @@ -245,6 +245,9 @@ export default class ControllerManager { volumes: [ 'ce_dev_ssh:/home/ce-dev/.ssh', 'ce_dev_mkcert:/home/ce-dev/.local/share/mkcert', + 'ce_dev_apt_cache:/var/cache/apt/archives', + 'ce_dev_composer_cache:/home/ce-dev/.composer/cache', + 'ce_dev_nvm_node:/home/ce-dev/.nvm/versions/node', '/sys/fs/cgroup:/sys/fs/cgroup:ro', this.config.cacheDir + ':/home/ce-dev/.ce-dev-cache', ], From e42ebd1b8c42d38053661d21ca6631f5ece79ddd Mon Sep 17 00:00:00 2001 From: nfawbert <62660788+nfawbert@users.noreply.github.com> Date: Wed, 2 Feb 2022 11:36:00 +0000 Subject: [PATCH 02/14] Killing old ce-dev container when updating (#70) --- install.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 0f1a5ba..8f04ac2 100644 --- a/install.sh +++ b/install.sh @@ -46,5 +46,15 @@ if [ -f /usr/local/bin/ce-dev ]; then fi sudo ln -s /opt/ce-dev/bin/ce-dev /usr/local/bin/ce-dev echo "done." + +echo "Killing deprecated running ce_dev_controller container..." +if [ "$(docker ps -q -f name=ce_dev_controller)" ]; then + if [ "$(docker ps -aq -f status=running -f name=ce_dev_controller)" ]; then + # cleanup + docker kill ce_dev_controller + fi +fi +echo "done." + echo -echo "All done." \ No newline at end of file +echo "All done." From b0dc9d925e34a44a88fa6610322b149606d8a4b0 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Wed, 9 Mar 2022 16:46:31 +0100 Subject: [PATCH 03/14] Added Drupal9 and Localgov templates (#73) --- src/commands/create.ts | 2 + templates/drupal9/.gitignore | 2 + templates/drupal9/ce-dev/.gitignore | 2 + .../drupal9/ce-dev/ansible/deploy.yml.j2 | 57 +++++++++++++++++ .../drupal9/ce-dev/ansible/provision.yml.j2 | 64 +++++++++++++++++++ .../web/sites/default/ce-dev.drush.yml.j2 | 4 ++ .../web/sites/default/ce-dev.settings.php.j2 | 29 +++++++++ .../ce-dev/ce-dev.compose.prebuilt.yml.j2 | 39 +++++++++++ .../drupal9/ce-dev/ce-dev.compose.yml.j2 | 39 +++++++++++ templates/localgov/.gitignore | 2 + templates/localgov/ce-dev/.gitignore | 2 + .../localgov/ce-dev/ansible/deploy.yml.j2 | 61 ++++++++++++++++++ .../localgov/ce-dev/ansible/provision.yml.j2 | 64 +++++++++++++++++++ .../web/sites/default/ce-dev.drush.yml.j2 | 4 ++ .../web/sites/default/ce-dev.settings.php.j2 | 29 +++++++++ .../ce-dev/ce-dev.compose.prebuilt.yml.j2 | 39 +++++++++++ .../localgov/ce-dev/ce-dev.compose.yml.j2 | 39 +++++++++++ 17 files changed, 478 insertions(+) create mode 100644 templates/drupal9/.gitignore create mode 100644 templates/drupal9/ce-dev/.gitignore create mode 100644 templates/drupal9/ce-dev/ansible/deploy.yml.j2 create mode 100644 templates/drupal9/ce-dev/ansible/provision.yml.j2 create mode 100644 templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 create mode 100644 templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 create mode 100644 templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 create mode 100644 templates/drupal9/ce-dev/ce-dev.compose.yml.j2 create mode 100644 templates/localgov/.gitignore create mode 100644 templates/localgov/ce-dev/.gitignore create mode 100644 templates/localgov/ce-dev/ansible/deploy.yml.j2 create mode 100644 templates/localgov/ce-dev/ansible/provision.yml.j2 create mode 100644 templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 create mode 100644 templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 create mode 100644 templates/localgov/ce-dev/ce-dev.compose.prebuilt.yml.j2 create mode 100644 templates/localgov/ce-dev/ce-dev.compose.yml.j2 diff --git a/src/commands/create.ts b/src/commands/create.ts index 450b207..ba09a04 100644 --- a/src/commands/create.ts +++ b/src/commands/create.ts @@ -79,6 +79,8 @@ export default class CreateCmd extends BaseCmd { type: 'list', choices: [ 'drupal8', + 'drupal9', + 'localgov', 'blank', ], }]) diff --git a/templates/drupal9/.gitignore b/templates/drupal9/.gitignore new file mode 100644 index 0000000..5ec454f --- /dev/null +++ b/templates/drupal9/.gitignore @@ -0,0 +1,2 @@ +vendor +node_modules \ No newline at end of file diff --git a/templates/drupal9/ce-dev/.gitignore b/templates/drupal9/ce-dev/.gitignore new file mode 100644 index 0000000..1c1a5e7 --- /dev/null +++ b/templates/drupal9/ce-dev/.gitignore @@ -0,0 +1,2 @@ +*.retry +docker-compose.yml \ No newline at end of file diff --git a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 new file mode 100644 index 0000000..29aaef8 --- /dev/null +++ b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 @@ -0,0 +1,57 @@ +--- +# Template playbook for a local Drupal9 codebase. +- hosts: {{ project_name }}-web + vars: + - project_name: {{ project_name }} + - project_type: drupal8 + - webroot: web + - build_type: local + - _env_type: dev +{% raw %} + - _domain_name: www.{{ project_name }}.local + # Path to your project root. This must match the "volume" set in the docker-compose template. + - deploy_path: /home/ce-dev/deploy/live.local + # This actually does not take any backup, but is needed to populate settings.php. + - mysql_backup: + handling: none + credentials_handling: static + # A list of Drupal sites (for multisites). + - drupal: + sites: + - folder: "default" + public_files: "sites/default/files" + install_command: "-y si" + # Toggle config import on/off. Disabled for initial passes. + config_import_command: "" + # config_import_command: "cim" + config_sync_directory: "config/sync" + sanitize_command: "sql-sanitize" + # Remove after initial pass, to avoid reinstalling Drupal. + force_install: true + base_url: "https://{{ _domain_name }}" + # Composer command to run. + - composer: + command: install + no_dev: false + working_dir: "{{ deploy_path }}" + apcu_autoloader: false + pre_tasks: + # You can safely remove these steps once you have a working composer.json. + - name: Download composer file. + get_url: + url: https://raw.githubusercontent.com/drupal/recommended-project/9.3.x/composer.json + dest: "{{ deploy_path }}/composer.json" + force: false + - name: Install drush. + command: + cmd: composer require drush/drush:11.* + chdir: "{{ deploy_path }}" + roles: + - _init # Sets some variables the deploy scripts rely on. + - composer # Composer install step. + - database_backup # This is still needed to generate credentials. + - config_generate # Generates settings.php +# - sync/database_sync # Grab database from a remote server. + - database_apply # Run drush updb and config import. + - _exit # Some common housekeeping. +{% endraw %} diff --git a/templates/drupal9/ce-dev/ansible/provision.yml.j2 b/templates/drupal9/ce-dev/ansible/provision.yml.j2 new file mode 100644 index 0000000..2f75b3f --- /dev/null +++ b/templates/drupal9/ce-dev/ansible/provision.yml.j2 @@ -0,0 +1,64 @@ +- hosts: {{ project_name }}-web + become: true + vars: + - _domain_name: www.{{ project_name }}.local + - _env_type: dev + - project_name: {{ project_name }} + - mysql_client: + host: {{ project_name }}-db + user: root + password: ce-dev + {% raw %} + - nginx: + domains: + - server_name: "{{ _domain_name }}" + access_log: "/var/log/nginx-access.log" + error_log: "/var/log/nginx-error.log" + error_log_level: "notice" + webroot: "/home/ce-dev/deploy/live.local/web" + project_type: "drupal8" + ssl: + domain: "{{ _domain_name }}" + cert: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}.pem" + key: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}-key.pem" + handling: "unmanaged" + ratelimitingcrawlers: false + is_default: true + servers: + - port: 80 + ssl: false + https_redirect: true + - port: 443 + ssl: true + https_redirect: false + upstreams: [] + - php: + version: + - 7.4 + cli: + memory_limit: -1 + _env_type: dev + fpm: + _env_type: dev + - xdebug: + cli: true + - lhci: + enable_vnc: true +{% endraw %} + tasks: + - apt: + update_cache: true + - import_role: + name: _meta/common_base + - import_role: + name: mysql_client + - import_role: + name: php-cli + - import_role: + name: php-fpm + - import_role: + name: nginx + - import_role: + name: lhci + - import_role: + name: frontail diff --git a/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 b/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 new file mode 100644 index 0000000..b88bf28 --- /dev/null +++ b/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 @@ -0,0 +1,4 @@ +# @see https://github.com/drush-ops/drush/blob/master/examples/example.drush.yml + +options: + uri: '{{ site.base_url }}' \ No newline at end of file diff --git a/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 b/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 new file mode 100644 index 0000000..d5eb492 --- /dev/null +++ b/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 @@ -0,0 +1,29 @@ + '{{ build_databases[0].name }}', + 'username' => '{{ build_databases[0].user }}', + 'password' => '{{ build_databases[0].password }}', + 'prefix' => '', + 'host' => '{{ build_databases[0].host }}', + 'port' => '3306', + 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', + 'driver' => 'mysql', +); + +$settings['file_private_path'] = '{{ build_private_file_path }}'; +$settings['file_public_path'] = '{{ build_public_file_path }}'; + +// Drupal < 8.8 +$config_directories['sync'] = '{{ build_config_sync_directory }}'; +// Drupal 8.8 +$settings['config_sync_directory'] = '{{ build_config_sync_directory }}'; diff --git a/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 b/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 new file mode 100644 index 0000000..9902799 --- /dev/null +++ b/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 @@ -0,0 +1,39 @@ +version: '3.7' +x-ce_dev: + version: 1.x + registry: 'localhost:5000' + project_name: {{ project_name }} + provision: + - ce-dev/ansible/provision.yml + deploy: + - ce-dev/ansible/deploy.yml + urls: + - 'https://www.{{ project_name }}.local' +services: + web: + image: 'codeenigma/drupal8-web:latest' + expose: + - 443 + - 80 + x-ce_dev: + host_aliases: + - www.{{ project_name }}.local + # Uncomment and comment the "volumes" below to use Unison file sync. + # unison: + # - src: ../ + # dest: /home/ce-dev/deploy/live.local + # target_platforms: + # - darwin + # - linux + # ignore: + # - Name vendor + # - Name node_modules + # - Path */sites/*/files + volumes: + - ../:/home/ce-dev/deploy/live.local:delegated + cap_add: + - NET_ADMIN + db: + image: 'codeenigma/drupal8-db:latest' + environment: + MYSQL_ROOT_PASSWORD: ce-dev diff --git a/templates/drupal9/ce-dev/ce-dev.compose.yml.j2 b/templates/drupal9/ce-dev/ce-dev.compose.yml.j2 new file mode 100644 index 0000000..61cd6f7 --- /dev/null +++ b/templates/drupal9/ce-dev/ce-dev.compose.yml.j2 @@ -0,0 +1,39 @@ +version: "3.7" +x-ce_dev: + version: 1.x + registry: localhost:5000 + project_name: {{ project_name }} + provision: + - ce-dev/ansible/provision.yml + deploy: + - ce-dev/ansible/deploy.yml + urls: + - https://www.{{ project_name }}.local +services: + web: + image: codeenigma/ce-dev-1.x:latest + expose: + - 443 + - 80 + x-ce_dev: + host_aliases: + - www.{{ project_name }}.local + # Uncomment and comment the "volumes" below to use Unison file sync. + # unison: + # - src: ../ + # dest: /home/ce-dev/deploy/live.local + # target_platforms: + # - darwin + # - linux + # ignore: + # - Name vendor + # - Name node_modules + # - Path */sites/*/files + volumes: + - ../:/home/ce-dev/deploy/live.local:delegated + cap_add: + - NET_ADMIN + db: + image: mariadb + environment: + MYSQL_ROOT_PASSWORD: ce-dev diff --git a/templates/localgov/.gitignore b/templates/localgov/.gitignore new file mode 100644 index 0000000..5ec454f --- /dev/null +++ b/templates/localgov/.gitignore @@ -0,0 +1,2 @@ +vendor +node_modules \ No newline at end of file diff --git a/templates/localgov/ce-dev/.gitignore b/templates/localgov/ce-dev/.gitignore new file mode 100644 index 0000000..1c1a5e7 --- /dev/null +++ b/templates/localgov/ce-dev/.gitignore @@ -0,0 +1,2 @@ +*.retry +docker-compose.yml \ No newline at end of file diff --git a/templates/localgov/ce-dev/ansible/deploy.yml.j2 b/templates/localgov/ce-dev/ansible/deploy.yml.j2 new file mode 100644 index 0000000..96dea95 --- /dev/null +++ b/templates/localgov/ce-dev/ansible/deploy.yml.j2 @@ -0,0 +1,61 @@ +--- +# Template playbook for a local Drupal9 codebase. +- hosts: {{ project_name }}-web + vars: + - project_name: {{ project_name }} + - project_type: drupal8 + - webroot: web + - build_type: local + - _env_type: dev +{% raw %} + - _domain_name: www.{{ project_name }}.local + # Path to your project root. This must match the "volume" set in the docker-compose template. + - deploy_path: /home/ce-dev/deploy/live.local + # This actually does not take any backup, but is needed to populate settings.php. + - mysql_backup: + handling: none + credentials_handling: static + # A list of Drupal sites (for multisites). + - drupal: + sites: + - folder: "default" + public_files: "sites/default/files" + install_command: "-y si localgov" + # Toggle config import on/off. Disabled for initial passes. + config_import_command: "" + # config_import_command: "cim" + config_sync_directory: "config/sync" + sanitize_command: "sql-sanitize" + # Remove after initial pass, to avoid reinstalling Drupal. + force_install: true + base_url: "https://{{ _domain_name }}" + # Composer command to run. + - composer: + command: install + no_dev: false + working_dir: "{{ deploy_path }}" + apcu_autoloader: false + pre_tasks: + # You can safely remove these steps once you have a working composer.json. + - name: Download composer file. + get_url: + url: https://raw.githubusercontent.com/drupal/recommended-project/9.3.x/composer.json + dest: "{{ deploy_path }}/composer.json" + force: false + - name: Install drush. + command: + cmd: composer require drush/drush:11.* + chdir: "{{ deploy_path }}" + - name: Install localgov. + command: + cmd: composer require localgovdrupal/localgov + chdir: "{{ deploy_path }}" + roles: + - _init # Sets some variables the deploy scripts rely on. + - composer # Composer install step. + - database_backup # This is still needed to generate credentials. + - config_generate # Generates settings.php +# - sync/database_sync # Grab database from a remote server. + - database_apply # Run drush updb and config import. + - _exit # Some common housekeeping. +{% endraw %} diff --git a/templates/localgov/ce-dev/ansible/provision.yml.j2 b/templates/localgov/ce-dev/ansible/provision.yml.j2 new file mode 100644 index 0000000..2f75b3f --- /dev/null +++ b/templates/localgov/ce-dev/ansible/provision.yml.j2 @@ -0,0 +1,64 @@ +- hosts: {{ project_name }}-web + become: true + vars: + - _domain_name: www.{{ project_name }}.local + - _env_type: dev + - project_name: {{ project_name }} + - mysql_client: + host: {{ project_name }}-db + user: root + password: ce-dev + {% raw %} + - nginx: + domains: + - server_name: "{{ _domain_name }}" + access_log: "/var/log/nginx-access.log" + error_log: "/var/log/nginx-error.log" + error_log_level: "notice" + webroot: "/home/ce-dev/deploy/live.local/web" + project_type: "drupal8" + ssl: + domain: "{{ _domain_name }}" + cert: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}.pem" + key: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}-key.pem" + handling: "unmanaged" + ratelimitingcrawlers: false + is_default: true + servers: + - port: 80 + ssl: false + https_redirect: true + - port: 443 + ssl: true + https_redirect: false + upstreams: [] + - php: + version: + - 7.4 + cli: + memory_limit: -1 + _env_type: dev + fpm: + _env_type: dev + - xdebug: + cli: true + - lhci: + enable_vnc: true +{% endraw %} + tasks: + - apt: + update_cache: true + - import_role: + name: _meta/common_base + - import_role: + name: mysql_client + - import_role: + name: php-cli + - import_role: + name: php-fpm + - import_role: + name: nginx + - import_role: + name: lhci + - import_role: + name: frontail diff --git a/templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 b/templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 new file mode 100644 index 0000000..b88bf28 --- /dev/null +++ b/templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 @@ -0,0 +1,4 @@ +# @see https://github.com/drush-ops/drush/blob/master/examples/example.drush.yml + +options: + uri: '{{ site.base_url }}' \ No newline at end of file diff --git a/templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 b/templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 new file mode 100644 index 0000000..d5eb492 --- /dev/null +++ b/templates/localgov/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 @@ -0,0 +1,29 @@ + '{{ build_databases[0].name }}', + 'username' => '{{ build_databases[0].user }}', + 'password' => '{{ build_databases[0].password }}', + 'prefix' => '', + 'host' => '{{ build_databases[0].host }}', + 'port' => '3306', + 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', + 'driver' => 'mysql', +); + +$settings['file_private_path'] = '{{ build_private_file_path }}'; +$settings['file_public_path'] = '{{ build_public_file_path }}'; + +// Drupal < 8.8 +$config_directories['sync'] = '{{ build_config_sync_directory }}'; +// Drupal 8.8 +$settings['config_sync_directory'] = '{{ build_config_sync_directory }}'; diff --git a/templates/localgov/ce-dev/ce-dev.compose.prebuilt.yml.j2 b/templates/localgov/ce-dev/ce-dev.compose.prebuilt.yml.j2 new file mode 100644 index 0000000..9902799 --- /dev/null +++ b/templates/localgov/ce-dev/ce-dev.compose.prebuilt.yml.j2 @@ -0,0 +1,39 @@ +version: '3.7' +x-ce_dev: + version: 1.x + registry: 'localhost:5000' + project_name: {{ project_name }} + provision: + - ce-dev/ansible/provision.yml + deploy: + - ce-dev/ansible/deploy.yml + urls: + - 'https://www.{{ project_name }}.local' +services: + web: + image: 'codeenigma/drupal8-web:latest' + expose: + - 443 + - 80 + x-ce_dev: + host_aliases: + - www.{{ project_name }}.local + # Uncomment and comment the "volumes" below to use Unison file sync. + # unison: + # - src: ../ + # dest: /home/ce-dev/deploy/live.local + # target_platforms: + # - darwin + # - linux + # ignore: + # - Name vendor + # - Name node_modules + # - Path */sites/*/files + volumes: + - ../:/home/ce-dev/deploy/live.local:delegated + cap_add: + - NET_ADMIN + db: + image: 'codeenigma/drupal8-db:latest' + environment: + MYSQL_ROOT_PASSWORD: ce-dev diff --git a/templates/localgov/ce-dev/ce-dev.compose.yml.j2 b/templates/localgov/ce-dev/ce-dev.compose.yml.j2 new file mode 100644 index 0000000..61cd6f7 --- /dev/null +++ b/templates/localgov/ce-dev/ce-dev.compose.yml.j2 @@ -0,0 +1,39 @@ +version: "3.7" +x-ce_dev: + version: 1.x + registry: localhost:5000 + project_name: {{ project_name }} + provision: + - ce-dev/ansible/provision.yml + deploy: + - ce-dev/ansible/deploy.yml + urls: + - https://www.{{ project_name }}.local +services: + web: + image: codeenigma/ce-dev-1.x:latest + expose: + - 443 + - 80 + x-ce_dev: + host_aliases: + - www.{{ project_name }}.local + # Uncomment and comment the "volumes" below to use Unison file sync. + # unison: + # - src: ../ + # dest: /home/ce-dev/deploy/live.local + # target_platforms: + # - darwin + # - linux + # ignore: + # - Name vendor + # - Name node_modules + # - Path */sites/*/files + volumes: + - ../:/home/ce-dev/deploy/live.local:delegated + cap_add: + - NET_ADMIN + db: + image: mariadb + environment: + MYSQL_ROOT_PASSWORD: ce-dev From 34ce84ccd26d51fbd9f33221fdc6cc3ba3e41126 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Thu, 10 Mar 2022 11:52:53 +0100 Subject: [PATCH 04/14] New release 1.1.19 (#75) --- RELEASE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE b/RELEASE index 0534519..0fc372a 100644 --- a/RELEASE +++ b/RELEASE @@ -1,2 +1,2 @@ -1.1.18 -Release to repackage ce-dev to fix docker-compose v2 volumes issue and install clamav role. +1.1.19 +Release to add the templates: Drupal 9 and Localgov From cae50ba48d66e4a97cd54f940d407add1b20fe13 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Thu, 10 Mar 2022 12:02:07 +0100 Subject: [PATCH 05/14] Updated package.json version: 1.1.19 (#77) * Updated package.json version: 1.1.19 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8b5cbc4..24a84ae 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ce-dev", "description": "Local Stack wrapper tool", - "version": "1.1.18", + "version": "1.1.19", "author": " @pm98zz-c", "bin": { "ce-dev": "./bin/run" From 79372e7e2a030bf61c726d2a36c3aad0c67ef8e1 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Fri, 1 Jul 2022 16:56:08 +0200 Subject: [PATCH 06/14] New tag to fix repo key for Chrome (#83) --- RELEASE | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/RELEASE b/RELEASE index 0fc372a..00e1e1e 100644 --- a/RELEASE +++ b/RELEASE @@ -1,2 +1,2 @@ -1.1.19 -Release to add the templates: Drupal 9 and Localgov +1.1.20 +No changes. A new tag to re-build the container image and fix the repo key for Chrome diff --git a/package.json b/package.json index 24a84ae..380d93a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ce-dev", "description": "Local Stack wrapper tool", - "version": "1.1.19", + "version": "1.1.20", "author": " @pm98zz-c", "bin": { "ce-dev": "./bin/run" From 4fa738cf21f2df858ab805a90e426d489caeedcb Mon Sep 17 00:00:00 2001 From: davids4 <35807961+davids4@users.noreply.github.com> Date: Thu, 8 Sep 2022 13:14:29 +0200 Subject: [PATCH 07/14] =?UTF-8?q?#CE-62820:=20Added=20support=20for=20comp?= =?UTF-8?q?oser=20'2.x'=20in=20Drupal=209=20provision=20tem=E2=80=A6=20(#8?= =?UTF-8?q?9)=20(#91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #CE-62820: Added support for composer '2.x' in Drupal 9 provision template. * #CE-62820: Attempt to fix pull request test cases by providing a default value for the 'new_user' in provision. * #CE-62820: Attempt to fix pull request test cases by providing a default value for the 'key_name' in provision. * #CE-62820: Attempt to fix pull request test cases by providing a default values for 'ce_deploy' in provision. Co-authored-by: David Suissa Co-authored-by: David Suissa --- docker-images/controller/provision.yml | 4 ++++ templates/drupal9/ce-dev/ansible/provision.yml.j2 | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docker-images/controller/provision.yml b/docker-images/controller/provision.yml index fbfde37..e26cd51 100644 --- a/docker-images/controller/provision.yml +++ b/docker-images/controller/provision.yml @@ -13,6 +13,8 @@ own_repository_branch: 1.x config_repository_branch: 1.x username: ce-dev + new_user: true + key_name: id_rsa.pub local_dir: /home/ce-dev/ce-deploy groups: [] - ce_provision: @@ -23,6 +25,8 @@ config_repository_branch: 1.x config_repository_skip_checkout: false username: ce-dev + new_user: true + key_name: id_rsa.pub local_dir: /home/ce-dev/ce-provision groups: [] galaxy_custom_requirements_file: "" diff --git a/templates/drupal9/ce-dev/ansible/provision.yml.j2 b/templates/drupal9/ce-dev/ansible/provision.yml.j2 index 2f75b3f..ec0363e 100644 --- a/templates/drupal9/ce-dev/ansible/provision.yml.j2 +++ b/templates/drupal9/ce-dev/ansible/provision.yml.j2 @@ -40,6 +40,10 @@ _env_type: dev fpm: _env_type: dev + - php_composer: + version: '' + version_branch: '--2' + keep_updated: true - xdebug: cli: true - lhci: From 70954a3d16e63606e41cc763d9e5ed8d01fcaafe Mon Sep 17 00:00:00 2001 From: Dionisio Date: Thu, 8 Sep 2022 13:19:17 +0200 Subject: [PATCH 08/14] REL 1.1.21: Using composer 2 with Drupal 9 by default (#92) --- RELEASE | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/RELEASE b/RELEASE index 00e1e1e..bd67827 100644 --- a/RELEASE +++ b/RELEASE @@ -1,2 +1,2 @@ -1.1.20 -No changes. A new tag to re-build the container image and fix the repo key for Chrome +1.1.21 +Drupal 9 template configured with composer 2 by default diff --git a/package.json b/package.json index 380d93a..8c10d24 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ce-dev", "description": "Local Stack wrapper tool", - "version": "1.1.20", + "version": "1.1.21", "author": " @pm98zz-c", "bin": { "ce-dev": "./bin/run" From 62e753ef439324cd4bfea536a93a163cba15c07d Mon Sep 17 00:00:00 2001 From: Greg Harvey Date: Fri, 9 Sep 2022 15:04:25 +0200 Subject: [PATCH 09/14] Drupal template fixes pr 1.x (#94) * Adding a Drupal 9 template to ce-dev. * Testing nodejs version change with blank template. * Incrementing version for release. * There's no drupal9 template for ce-deploy. --- RELEASE | 4 ++-- package.json | 2 +- templates/blank/ce-dev/ansible/provision.yml.j2 | 2 ++ templates/drupal9/ce-dev/ansible/deploy.yml.j2 | 2 +- templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 | 4 ++-- templates/prebuild.sh | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/RELEASE b/RELEASE index bd67827..ec9f751 100644 --- a/RELEASE +++ b/RELEASE @@ -1,2 +1,2 @@ -1.1.21 -Drupal 9 template configured with composer 2 by default +1.1.22 +Drupal 9 template building. diff --git a/package.json b/package.json index 8c10d24..02d87ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ce-dev", "description": "Local Stack wrapper tool", - "version": "1.1.21", + "version": "1.1.22", "author": " @pm98zz-c", "bin": { "ce-dev": "./bin/run" diff --git a/templates/blank/ce-dev/ansible/provision.yml.j2 b/templates/blank/ce-dev/ansible/provision.yml.j2 index 796799a..1f1194c 100644 --- a/templates/blank/ce-dev/ansible/provision.yml.j2 +++ b/templates/blank/ce-dev/ansible/provision.yml.j2 @@ -8,6 +8,8 @@ - _env_type: dev - lhci: enable_vnc: true + - nodejs: + version: 14.x tasks: - apt: update_cache: true diff --git a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 index 29aaef8..0826731 100644 --- a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 +++ b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 @@ -1,5 +1,5 @@ --- -# Template playbook for a local Drupal9 codebase. +# Template playbook for a local Drupal 9 codebase. - hosts: {{ project_name }}-web vars: - project_name: {{ project_name }} diff --git a/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 b/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 index 9902799..c1f83bb 100644 --- a/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 +++ b/templates/drupal9/ce-dev/ce-dev.compose.prebuilt.yml.j2 @@ -11,7 +11,7 @@ x-ce_dev: - 'https://www.{{ project_name }}.local' services: web: - image: 'codeenigma/drupal8-web:latest' + image: 'codeenigma/drupal9-web:latest' expose: - 443 - 80 @@ -34,6 +34,6 @@ services: cap_add: - NET_ADMIN db: - image: 'codeenigma/drupal8-db:latest' + image: 'codeenigma/drupal9-db:latest' environment: MYSQL_ROOT_PASSWORD: ce-dev diff --git a/templates/prebuild.sh b/templates/prebuild.sh index cb40a31..a812e09 100644 --- a/templates/prebuild.sh +++ b/templates/prebuild.sh @@ -1,7 +1,7 @@ #!/bin/sh # Test project creation and pre-build image. set -e -PROJECTS="blank drupal8" +PROJECTS="blank drupal8 drupal9" # Common processing. OWN_DIR=$(dirname "$0") From 42e3d36aa2bcc02508f53bea7ad7c7755f7e8ec9 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Tue, 13 Sep 2022 13:18:38 +0200 Subject: [PATCH 10/14] Renamed the settings and drush files for ce-dev --- .../web/sites/default/{ce-dev.drush.yml.j2 => local.drush.yml.j2} | 0 .../default/{ce-dev.settings.php.j2 => local.settings.php.j2} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename templates/drupal9/ce-dev/ansible/web/sites/default/{ce-dev.drush.yml.j2 => local.drush.yml.j2} (100%) rename templates/drupal9/ce-dev/ansible/web/sites/default/{ce-dev.settings.php.j2 => local.settings.php.j2} (100%) diff --git a/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 b/templates/drupal9/ce-dev/ansible/web/sites/default/local.drush.yml.j2 similarity index 100% rename from templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.drush.yml.j2 rename to templates/drupal9/ce-dev/ansible/web/sites/default/local.drush.yml.j2 diff --git a/templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 b/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 similarity index 100% rename from templates/drupal9/ce-dev/ansible/web/sites/default/ce-dev.settings.php.j2 rename to templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 From c7789aa88b73354676fea57825e84a1a5699a9c0 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Tue, 13 Sep 2022 13:20:06 +0200 Subject: [PATCH 11/14] Added nodejs 16.x as default version --- templates/drupal9/ce-dev/ansible/provision.yml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/drupal9/ce-dev/ansible/provision.yml.j2 b/templates/drupal9/ce-dev/ansible/provision.yml.j2 index ec0363e..59439d1 100644 --- a/templates/drupal9/ce-dev/ansible/provision.yml.j2 +++ b/templates/drupal9/ce-dev/ansible/provision.yml.j2 @@ -48,6 +48,8 @@ cli: true - lhci: enable_vnc: true + - nodejs: + version: 16.x {% endraw %} tasks: - apt: From b960e565985f799bdbd251b92afb2d3fcdd5f371 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Tue, 13 Sep 2022 13:20:44 +0200 Subject: [PATCH 12/14] Added lhci_run role by default --- templates/drupal9/ce-dev/ansible/deploy.yml.j2 | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 index 0826731..a0cbc9e 100644 --- a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 +++ b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 @@ -14,7 +14,7 @@ # This actually does not take any backup, but is needed to populate settings.php. - mysql_backup: handling: none - credentials_handling: static + credentials_handling: manual # A list of Drupal sites (for multisites). - drupal: sites: @@ -35,16 +35,24 @@ no_dev: false working_dir: "{{ deploy_path }}" apcu_autoloader: false + - drush: + use_vendor: true + - drush_bin: "{{ deploy_path }}/vendor/drush/drush/drush" + - lhci_run: + # Create a list of URLs to test with LHCI + test_urls: + - "https://{{ _domain_name }}" pre_tasks: # You can safely remove these steps once you have a working composer.json. - name: Download composer file. - get_url: + ansible.builtin.get_url: url: https://raw.githubusercontent.com/drupal/recommended-project/9.3.x/composer.json dest: "{{ deploy_path }}/composer.json" force: false - name: Install drush. - command: - cmd: composer require drush/drush:11.* + community.general.composer: + command: require + arguments: drush/drush:11.* chdir: "{{ deploy_path }}" roles: - _init # Sets some variables the deploy scripts rely on. @@ -54,4 +62,5 @@ # - sync/database_sync # Grab database from a remote server. - database_apply # Run drush updb and config import. - _exit # Some common housekeeping. + - lhci_run {% endraw %} From 1bc17ba8d0a84506a3bf1be7f1028fead2da72c6 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Tue, 13 Sep 2022 17:13:05 +0200 Subject: [PATCH 13/14] Some tweaks in the config --- templates/drupal9/ce-dev/ansible/deploy.yml.j2 | 2 +- .../ce-dev/ansible/web/sites/default/local.settings.php.j2 | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 index a0cbc9e..bf91f03 100644 --- a/templates/drupal9/ce-dev/ansible/deploy.yml.j2 +++ b/templates/drupal9/ce-dev/ansible/deploy.yml.j2 @@ -53,7 +53,7 @@ community.general.composer: command: require arguments: drush/drush:11.* - chdir: "{{ deploy_path }}" + working_dir: "{{ deploy_path }}" roles: - _init # Sets some variables the deploy scripts rely on. - composer # Composer install step. diff --git a/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 b/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 index d5eb492..a056c6d 100644 --- a/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 +++ b/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 @@ -7,7 +7,7 @@ require __DIR__ . '/default.settings.php'; /** * Include local dev settings. */ -require DRUPAL_ROOT . '/sites/example.settings.local.php' +require DRUPAL_ROOT . '/sites/example.settings.local.php'; $databases['default']['default'] = array ( 'database' => '{{ build_databases[0].name }}', @@ -22,8 +22,4 @@ $databases['default']['default'] = array ( $settings['file_private_path'] = '{{ build_private_file_path }}'; $settings['file_public_path'] = '{{ build_public_file_path }}'; - -// Drupal < 8.8 -$config_directories['sync'] = '{{ build_config_sync_directory }}'; -// Drupal 8.8 $settings['config_sync_directory'] = '{{ build_config_sync_directory }}'; From 665cca2a6d4a73091fa026e2d31a4b0dc19e75b2 Mon Sep 17 00:00:00 2001 From: Dionisio Date: Wed, 14 Sep 2022 11:51:37 +0200 Subject: [PATCH 14/14] Added the if statement to read info from an optional settings.local.php file --- .../ansible/web/sites/default/local.settings.php.j2 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 b/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 index a056c6d..82c8a8f 100644 --- a/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 +++ b/templates/drupal9/ce-dev/ansible/web/sites/default/local.settings.php.j2 @@ -4,8 +4,9 @@ * Include default settings. */ require __DIR__ . '/default.settings.php'; + /** - * Include local dev settings. + * Include default local dev settings. */ require DRUPAL_ROOT . '/sites/example.settings.local.php'; @@ -23,3 +24,10 @@ $databases['default']['default'] = array ( $settings['file_private_path'] = '{{ build_private_file_path }}'; $settings['file_public_path'] = '{{ build_public_file_path }}'; $settings['config_sync_directory'] = '{{ build_config_sync_directory }}'; + +/** + * Load local development override configuration, if available. + */ +if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { + include $app_root . '/' . $site_path . '/settings.local.php'; +}