Skip to content

Commit

Permalink
Bug fixes pr devel 1.x (#568)
Browse files Browse the repository at this point in the history
* Defer nightly backups, disable ASG processes during syncs and run syncs with backup (#94)

* Change location of nightly backup script and delegate the cron that runs it to the deploy server, if required (for ASGs).

* Set up nightly backup crons in separate files in /etc/cron.d

* Can't put site cron files in /etc/cron.d because the deploy user doesn't have perms.

* Try and add the ability to sync a site using a nightly backup instead of a fresh DB dump.

* Use Ansible modules to look up RDS host and to copy the nightly backup into place.

* Delegate PATH setup in db backup cron to localhost.

* Shell bad. Command good. But makes it convoluted. Oh well.

* Used wrong database name in source database copy.

* Try and disable the ReplaceUnhealthy auto scale process during syncs.

* Fix Drupal cron roles when deferring to deploy server.

* Added deploy.yml examples for Drupal 9 and Localgov. Updated tests (#97)

* Adding a new SimpleSAMLphp meta role. (#100)

* Allowing users to set cachetool version properly. (#102)

* Deploy ami pr 1.x (#106)

* Including an ami.yml for packing AMIs on build finale.

* New api_call role, focused on GitLab for now.

* Optionally trigger an infra build with an API call.

* Making the MySQL dump command for routine back-ups less aggressive. (#104)

* Making the MySQL dump command for routine back-ups less aggressive.

* Making max_allowed_packets a variable we can set.

* Adding dump command to a re-usable central var.

* Renaming _init var so it's easier to distinguish in the code.

* Fix database backups pr 1.x (#109)

* Making the MySQL dump command for routine back-ups less aggressive.

* Making max_allowed_packets a variable we can set.

* Adding dump command to a re-usable central var.

* Renaming _init var so it's easier to distinguish in the code.

* Defaults file must be the first param for mysqldump.

* Fix MySQL backup deferral. (#110)

* Files recurse fix pr 1.x (#112)

* Don't recurse through site directory when setting permissions during config_generate step.

* Update drupal7 config_generate perms update task and use true/false instead of yes/no.

* Improve multisite support (#115)

* Pass -l option in drush commands to specify site name, which should match the site folder name.

* Move -l option in drush commands to the first option instead of the last.

* Static credentials handling fix pr 1.x (#119)

* Attempt to fix static credentials handling when deploying to an ASG.

* Include build_type in static password file location.

* Move to using new location for static credentials handling, but try to catch any legacy stuff too, for now.

* Add a couple of comments to legacy handling of static credentials.

* Making contents of deploy tar 'ownerless'. (#117)

* Implement file syncing (#124)

* Add a files_sync role.

* Clear up some comments, add temp_dir variable and use rsync with command module instead of synchronize module, in files_sync role.

* Need trailing slash on src when syncing files to destination server so the contents get synced and not the parent directory itself.

* Use rsync instead of copy when syncing files to target server as copy is so slow.

* Ensure file sync tasks are run only once.

* Create Drupal-specific sync roles (#128)

* Add a drupal_sync_tasks role to run Drupal specific tasks during syncs.

* Move sync database_apply files into tasks subdirectory.

* Woops, used bad role names in sync database update roles.

* Remove feature reverting from drupal7 database_apply sync role.

* Fixing GRANT query for MySQL > 8.0. (#131)

* Fixing GRANT query for MySQL > 8.0.

* Create what though?

* Use IF NOT EXISTS when creating database user as that command fails if static database users are being used. (#133)

* Attempt to fix syncs whenever the 'dump' type is used for source or target. (#149)

* Squashfs pr 1.x (#150)

* Adding SquashFS option to syncing.

* Make 'tarball' the default mount type so nothing existing breaks.

* Altering deploy_path so we can build in another location for SquashFS builds.

* Ensuring the build dir exists if doing a SquashFS build.

* Force symlink creation as the deploy dir may not exist yet.

* Running mount commands with sudo.

* Tweaking link command and destination for live links.

* Slight bug in link path handling for SquashFS.

* Checking for existing mount and using remount operation.

* Stop ce-deploy trying to delete from read-only SquashFS mount.

* Formatting error, these special jinja2 things are not filters - no spaces.

* Reloading services to make sure mounting doesn't fail.

* Picking more sensible loop var name.

* Moving to shell for mount check and fixing jinja2 filter names.

* Trying with the posix mount module instead of command.

* Working through user/sudo issues.

* Altering symlink handling slightly so we have the deploy directory always set.

* Simplifying 'when' checks.

* Check deploy_code.mount_type is defined when setting facts in init role. (#155)

* Make config imports during syncs optional (#157)

* Use a different variable for config imports during a sync so they can be optional.

* Actually, no. Use a variable to determine if config should be imported during a sync.

* Fix some logic with config import during syncs and add a comment to explain when the task runs.

* Squashfs pr 1.x (#153)

* Adding SquashFS option to syncing.

* Make 'tarball' the default mount type so nothing existing breaks.

* Altering deploy_path so we can build in another location for SquashFS builds.

* Ensuring the build dir exists if doing a SquashFS build.

* Force symlink creation as the deploy dir may not exist yet.

* Running mount commands with sudo.

* Tweaking link command and destination for live links.

* Slight bug in link path handling for SquashFS.

* Checking for existing mount and using remount operation.

* Stop ce-deploy trying to delete from read-only SquashFS mount.

* Formatting error, these special jinja2 things are not filters - no spaces.

* Reloading services to make sure mounting doesn't fail.

* Picking more sensible loop var name.

* Moving to shell for mount check and fixing jinja2 filter names.

* Trying with the posix mount module instead of command.

* Working through user/sudo issues.

* Altering symlink handling slightly so we have the deploy directory always set.

* Simplifying 'when' checks.

* Adding a revert behaviour for SquashFS.

* Making some wording a little less ambiguous.

* Fixing bad image path and adding clauses to stat check.

* Trying to make remounting SquashFS images a bit safer.

* Adding when clauses to SquashFS image path check.

* Removing revert code, as it cannot work.

* Add cache clears to Drupal deployments, before DB updates and stuff (#159)

* Add cache clears to Drupal deployments, before database updates and config import are run.

* Move cache clears out of meta roles and only run in database_apply role on non-initial builds.

* Add cache clear stuff to drupal7 database_apply role.

* Avoid leaving exponentially growing sqsh files in build locations! (#164)

* Avoid leaving exponentially growing sqsh files in build locations!

* Use mount point instead of /tmp for stowing previous sqsh file.

* Exclude sqsh file pr 1.x (#167)

* Avoid leaving exponentially growing sqsh files in build locations!

* Use mount point instead of /tmp for stowing previous sqsh file.

* Making sure image/tarball filenames are build specific in /tmp.

* Removing unnecessary lines in Drupal config generation. (#169)

* Removing unnecessary lines in Drupal config generation.

* Drupal 7 lacked the install_command var.

* Ensuring dump directory exists on backup step. (#172)

* Ensuring dump directory exists on backup step.

* Acts on shared storage, so can run once.

* Allowing Drupal 7 jobs to disable cron. (#174)

* Suppress db revert pr 1.x (#177)

* Supporting option to suppress reverting backups.

* Fixing namespacing in database_backup role.

* Fixing bad assumption that databases will have TCP connections. (#179)

* Handling the 'drush deploy' command more elegantly for Drupal 8+. (#180)

* Handling the 'drush deploy' command more elegantly for Drupal 8+.

* Changing logic to AND for cache rebuild.

* Attempt to clear the opcache during Drupal deployments. (#182)

Co-authored-by: Emlyn Kinzett <[email protected]>

* Better drush deploy support pr 1.x (#185)

* Handling the 'drush deploy' command more elegantly for Drupal 8+.

* Changing logic to AND for cache rebuild.

* Em's clear cache code needs to run for each 'site' too.

* Cron job schedule params pr 1.x (#190)

* cron job schedule params, namespaces

* drupal7-cron-params

* cron-job-schedule-params-fix-defaults

* Adding option to stop services that might interfere with a squashfs mount. (#193)

* Drush refactor pr 1.x (#197)

* Updating docs.

* Consistent drush handling in cron.

* Linting cruft and removing unimplemented drush.yml handling from D7.

* Refactor drush role to support new GitHub release format.

* Updating drush README.

* Casting the first part of the drush version string as an integer.

* Refactoring integer handling.

* Major version string will always be a string, assuming below 8 will never exist.

* Downloaded drush archive is remote, not local.

* Refactoring handling of .bin directory.

* Supporting drush-launcher.

* Removing drush installation support for Drupal 8 and above.

* Bad variable name in Drupal cron jobs.

* Fixing maintenance mode command linting and consistency.

* Moving chdir to args to see if it helps.

* Trying an actual 'cd' command inline.

* Cannot '&&' in a cmd.

* Trying drush's --root flag to set Drupal path.

* With --root we do not need chdir for drush.

* Revert "With --root we do not need chdir for drush."

This reverts commit d07aaf798a8f5699ed669f9411db2810e2bcd9d8.

* Better deploy_code role docs. (#213)

* Better deploy_code role docs.

* roles path error in docs.

* roles path error in docs.

* Adding a note about deploy_previous handling for squashfs.

* Cachetool settings and drupal7 tasks fix pr 1.x (#211)

* cachetool_settings_and_drupal7_tasks_fix

* cachetool_settings_and_drupal7_tasks_fix

* cachetool_settings_and_drupal7_tasks_fix

* cachetool settings fixing condition and namespace

* fixing cachetool adapter options

* fixed var

* fixed var

* fixed var

* previous_cachetool_remove_before_install_new (#224)

* previous_cachetool_remove_before_install_new

* namespace fix

* Fix cachetool removal pr 1.x (#227)

* fix_cachetool_removal_step

* fix task name

* Fix cachetool removal pr 1.x (#229)

* fix_cachetool_removal_step

* fix task name

* fix_cachetool_removal_task

* fix_cachetool_removal_task

* Documentation enhancements pr 1.x (#218)

* Better deploy_code role docs.

* roles path error in docs.

* roles path error in docs.

* Adding a note about deploy_previous handling for squashfs.

* Reference incorrect role for deploy user sudo perms.

* Minor edits to frontpage README.

* Rebuilt docs.

* Accidentally overwrote docs change.

* Drush refactor pr 1.x (#231)

* Fixing sync jobs.

* Fixing bad task title.

* Drush refactor pr 1.x (#234)

* Fixing sync jobs.

* Fixing bad task title.

* Trying to fix D7 drush issues with chdir.

* Drush refactor pr 1.x (#236)

* Fixing sync jobs.

* Fixing bad task title.

* Trying to fix D7 drush issues with chdir.

* Moving D7 drush commands back to 'shell'.

* Change php detection for fastcgi and cachetool pr 1.x (#238)

* change_php_detection_for_fastcgi_and_cachetool

* fix_typo

* change_php_detection_for_fastcgi_and_cachetool_no_sudo

* Cachetool bin per site pr 1.x (#243)

* cachetool_bin_per_project

* cachetool_bin_per_site_fix

* cachetool_bin_per_site_fix2

* apcu no longer has an 'all' option. (#245)

* Refactoring cachetool path setting to match other squashfs vars. (#247)

* Cachetool pr 1.x (#249)

* Refactoring cachetool path setting to match other squashfs vars.

* Refactoring cachetool_bin handling.

* Ensuring we can prevent features and ctools deployments in Drupal 7. (#240)

* Cachetool pr 1.x (#251)

* Refactoring cachetool path setting to match other squashfs vars.

* Refactoring cachetool_bin handling.

* Forgot to remove the default() filter from squashfs var setting.

* Refactoring clauses slightly to simplify.

* improving_old_builds_cleanup (#254)

* improving_old_builds_cleanup

* improving_old_builds_cleanup_fix

* Adding escaped backticks to db names to be safe. (#256)

* Mysql db name pr 1.x (#258)

* Adding escaped backticks to db names to be safe.

* Looks like Ansible auto-escapes backticks.

* Mysql db name pr 1.x (#260)

* Adding escaped backticks to db names to be safe.

* Looks like Ansible auto-escapes backticks.

* Adding backticks to database names for creating MySQL users too.

* Mysql db name pr 1.x (#262)

* Adding escaped backticks to db names to be safe.

* Looks like Ansible auto-escapes backticks.

* Adding backticks to database names for creating MySQL users too.

* Adding extra mysqldump flags to stop restores failing on RDS.

* Mysql db name pr 1.x (#264)

* Adding escaped backticks to db names to be safe.

* Looks like Ansible auto-escapes backticks.

* Adding backticks to database names for creating MySQL users too.

* Adding extra mysqldump flags to stop restores failing on RDS.

* Removing ignore_errors.

* Updating mysqldump query.

* Bug fixes pr 1.x (#266)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Bug fixes pr 1.x (#268)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Making sync paths build unique.

* Adding --host parameter to build.sh for pre-deploy host checking with Ansible. (#271)

* Making syncs safer and more efficient. (#273)

* Bug fixes pr 1.x (#278)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Bug fixes pr 1.x (#282)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Bug fixes pr 1.x (#284)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Bug fixes pr 1.x (#287)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Adding verbose output for drush. (#289)

* Adding container push and build code. (#300)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Ecs deployments pr 1.x (#314)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* db_import_speed_up (#291)

* db_import_speed_up

* db_import_speed_up_fixed

* db_import_speed_up_fix2

* db_import_speed_up_fix3

* db_import_speed_up_fix4

* db_import_speed_up_fix5_and_gzip

* db_import_speed_up_fix6

* db_import_speed_up_fix7

* db_import_speed_up_fix_typo

* db_import_speed_up_fix8

* db_import_speed_up_fix9

* db_import_speed_up_refactoring

* Ecs deployments pr 1.x (#317)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* Force building and tagging of containers as an option.

* fix_typo (#320)

* fix_typo

* fix_typo

* Ecs deployments pr 1.x (#322)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* Force building and tagging of containers as an option.

* Improving docs for deploy_container role.

* Ecs deployments pr 1.x (#325)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* Force building and tagging of containers as an option.

* Improving docs for deploy_container role.

* Providing container description example for ECS.

* Adding 'force' option to docker builds.

* Revert "Adding 'force' option to docker builds."

This reverts commit 5574faa182f023c20ec34ae6dc7125c92b4c7dcb.

* Adding options to force ECS component refreshes.

* Ecs deployments pr 1.x (#329)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* Force building and tagging of containers as an option.

* Improving docs for deploy_container role.

* Providing container description example for ECS.

* Adding 'force' option to docker builds.

* Revert "Adding 'force' option to docker builds."

This reverts commit 5574faa182f023c20ec34ae6dc7125c92b4c7dcb.

* Adding options to force ECS component refreshes.

* Allowing users to toggle public IP and execute command mode.

* Ecs deployments pr 1.x (#331)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* Force building and tagging of containers as an option.

* Improving docs for deploy_container role.

* Providing container description example for ECS.

* Adding 'force' option to docker builds.

* Revert "Adding 'force' option to docker builds."

This reverts commit 5574faa182f023c20ec34ae6dc7125c92b4c7dcb.

* Adding options to force ECS component refreshes.

* Allowing users to toggle public IP and execute command mode.

* The ALB needs to be on public subnets, not the same private ones as the cluster.

* Updating documentation.

* Updating ECS docs.

* Bug fixes pr 1.x (#334)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Bug fixes pr 1.x (#336)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* default_to_gzip (#338)

* update_for_database_names_handling (#340)

* update_for_database_names_handling_fix (#342)

* Adding syncing for feature branches. (#346)

* Feature branching pr 1.x (#348)

* Adding syncing for feature branches.

* Cannot loop over import_role, changing for include_role.

* Feature branching pr 1.x (#350)

* Adding syncing for feature branches.

* Cannot loop over import_role, changing for include_role.

* Adding ability to specify an exact filename for a settings template for Drupal 8 and above.

* Improving db handling and fixing adding databases later. (#358)

* Improving db handling and fixing adding databases later.

* Bad spacing caught by linter.

* Making an explicit debug entry if we skip database population.

* Allowing override of 'handling' on a database-by-database basis.

* Tab spacing errors caught by linter.

* Syntax error in my debug.

* Being more verbose in task naming.

* Enforcing bash as the interpretor for shell.

* Adding new database handling to dump and none types.

* Accidentally doubled the args key on a task.

* Variable naming error.

* Add -w flag to grep to match only the whole database name when checking for db existence.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Bug fixes pr 1.x (#366)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Bug fixes pr 1.x (#368)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Bug fixes pr 1.x (#372)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Bug fixes pr 1.x (#374)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Bug fixes pr 1.x (#375)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* r66858-adding-variable-to-skip-long-running-tasks (#352)

Co-authored-by: Matej Stajduhar <[email protected]>

* Fixing documentation for opcache role. (#354)

* r67016-changing-path-for-database_backup-task (#356)

* r67016-changing-path-for-database_backup-task

* Slight refactor to use a directory we can safelist with rkhunter.

* Docs update.

* Removing rogue extra line.

---------

Co-authored-by: Matej Stajduhar <[email protected]>
Co-authored-by: gregharvey <[email protected]>

* 67412 callback plugin fail no hosts pr 1.x (#377)

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Removing obsolete SOPS plugin and adding new callback to fail when no hosts match.

* Forgot the constants import in plugin.

* Bug fixes pr 1.x (#379)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Bug fixes pr 1.x (#381)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* Bug fixes pr 1.x (#383)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Bug fixes pr 1.x (#386)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Bug fixes pr 1.x (#388)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Using the drush_live_bin var in sync jobs for Drupal 8+.

* Bug fixes pr 1.x (#391)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Using the drush_live_bin var in sync jobs for Drupal 8+.

* Fixing database dump revert.

* Fixing gunzip command.

* Having to do a double step to unpack SQL file in /tmp.

* Bug fixes pr 1.x (#393)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Using the drush_live_bin var in sync jobs for Drupal 8+.

* Fixing database dump revert.

* Fixing gunzip command.

* Having to do a double step to unpack SQL file in /tmp.

* Ecs deployments pr 1.x (#397)

* Adding container push and build code.

* Fixing some minor issues.

* Docs updates and template flexibility improvement.

* Creating separate registry name for handling docker push.

* Trying to get the registry name right.

* Adding AWS stack components to ECS builds.

* Force a docker logout.

* Need to delegate docker commands to the controller.

* Trying deleting the credentials file instead.

* Fixing var name in subnet.yml.

* Missing some ACM variables.

* Allowing us to set wait timeout for TG creation.

* Uncommenting cpu and memory vars for ECS with Fargate.

* Missed a variable in ELB creation.

* Couple of linting fixes.

* Force building and tagging of containers as an option.

* Improving docs for deploy_container role.

* Providing container description example for ECS.

* Adding 'force' option to docker builds.

* Revert "Adding 'force' option to docker builds."

This reverts commit 5574faa182f023c20ec34ae6dc7125c92b4c7dcb.

* Adding options to force ECS component refreshes.

* Allowing users to toggle public IP and execute command mode.

* The ALB needs to be on public subnets, not the same private ones as the cluster.

* Updating documentation.

* Updating ECS docs.

* New deploy_container destroy action.

* Documentation update.

* Adding a note to docs about the container destroy action.

* Load bash profiles before executing a build.

* Fixing linting error, use -n instead of ! -z.

* Bug fixes pr 1.x (#400)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Using the drush_live_bin var in sync jobs for Drupal 8+.

* Fixing database dump revert.

* Fixing gunzip command.

* Having to do a double step to unpack SQL file in /tmp.

* Load bash profiles before executing a build.

* Fixing linting error, use -n instead of ! -z.

* Adding support for specifying path to Ansible and path to Python interpreter.

* Bug fixes pr 1.x (#402)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Using the drush_live_bin var in sync jobs for Drupal 8+.

* Fixing database dump revert.

* Fixing gunzip command.

* Having to do a double step to unpack SQL file in /tmp.

* Load bash profiles before executing a build.

* Fixing linting error, use -n instead of ! -z.

* Adding support for specifying path to Ansible and path to Python interpreter.

* r67637-terminate-sessions-keeping-loop-device-busy (#405)

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* r67637-terminate-sessions-keeping-loop-device-busy

* Avoiding-cache-clear-warning-for-site-variable (#415)

Co-authored-by: Matej Stajduhar <[email protected]>

* additional check and debug task (#417)

* additional check and debug task

* additional check and debug task

* additional check and debug task

* additional_checks_and_moving_debug_task_to_simplify_diagnostics

* r65896-cache-clear-path (#422)

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* grouping squashfs tasks

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-clear-dir

* r65896-cache-container-table-truncate (#434)

* r65896-cache-container-table-truncate

* r65896-cache-container-table-truncate

* r65896-cache-container-table-truncate

* roles/_init/defaults/main.yml

* r65896-cache-container-table-truncate-change-tasks-order (#439)

* Moving installation of cachetool to application includes, where they are PHP apps.

* Bug fixes pr 1.x (#441)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and removing LGD because it's broken.

* Adding extra plugin LGD needs.

* Clearing stat and apcu cache for PHP by default.

* Adding some perms handling for Drupal 8+ config sync where deploy and web user are different.

* Rolling back APCu cache by default as the package must be installed.

* Making the remount squashfs code more defensive by using a block.

* Trying with 'throttle' keyword to restrict to one machine at a time.

* Sadly 'throttle' seems to work on a task level only, not a block level.

* Adding hash salt generation for Drupal 8+.

* Trying a different syntax for passing params to the password plugin.

* Forgot the constants import in plugin.

* Reinstating the SOPS plugin - we *do* need it.

* Making online/offline tasks use current live code/database.

* We need build paths to bring the site back online if it's a squashfs build.

* Ensuring _common.sh includes /etc/profile.d for Python venv path.

* Making linter happy.

* Using the drush_live_bin var in sync jobs for Drupal 8+.

* Fixing database dump revert.

* Fixing gunzip command.

* Having to do a double step to unpack SQL file in /tmp.

* Load bash profiles before executing a build.

* Fixing linting error, use -n instead of ! -z.

* Adding support for specifying path to Ansible and path to Python interpreter.

* Moving installation of cachetool to application includes, where they are PHP apps.

* Adding a pause if a replica is declared, so the replica can catch up with the writer. (#443)

* Db replica support pr 1.x (#445)

* Adding a pause if a replica is declared, so the replica can catch up with the writer.

* Making read replica support more robust.

* Db replica support pr 1.x (#447)

* Adding a pause if a replica is declared, so the replica can catch up with the writer.

* Making read replica support more robust.

* Ensuring mysql backup takes no action on replicas.

* Suppressing backup jobs for replica databases.

* Minor docs update.

* 448: Drupal 10 default.settings.php for multi-site MR 1.x (#449)

* 448: Added setup for the Drupal default.settings.php file, when used in a multi-site context.

* 448: Corrected linting issue.

* 448: Corrected code style issue.

* 448: Added a Drupal default.settings.php file to the templates directory, for use with multi-site Drupal setups.

* 448: Added a .j2 to the end of the default.settings.php template reference.

---------

Co-authored-by: Philip Norton <[email protected]>

* New StatusCake check handling role. (#454)

* New StatusCake check handling role.

* Updating maintenance mode defaults and options.

* Following StatusCake task naming conventions.

* Statuscake maintenance role pr 1.x (#456)

* New StatusCake check handling role.

* Updating maintenance mode defaults and options.

* Following StatusCake task naming conventions.

* Missed the body_format param in StatusCake URI call.

* Statuscake maintenance role pr 1.x (#458)

* New StatusCake check handling role.

* Updating maintenance mode defaults and options.

* Following StatusCake task naming conventions.

* Missed the body_format param in StatusCake URI call.

* Ensuring we pass the test ID as a string to the StatusCake URI call.

* Fixing namespaces.

* Stashing the original deploy_path in initial_deploy_path for squashfs builds.

* Adding a double online step for Drupal builds using SquashFS so both the new site and the currently live site come out of maintenance mode.

* We need the path to the previous build for maintenance mode online.

* Changing order of tasks so previous_build_number is set earlier.

* We also need a previous_drush_bin.

* Adding extra healthcheck options for ECS services. (#463)

* Adding behaviour to suspend autoscaling on deploy. (#465)

* Ecs healthcheck vars pr 1.x (#467)

* Adding extra healthcheck options for ECS services.

* Renaming scale up/down to in/out to avoid confusion.

* Spotted annoying typo.

* Fixing MySQL servers with unix socket.

* Bad var name.

* Extending MySQL Unix socket support.

* Fixing minor typo.

* Bug fixes pr 1.x (#469)

* Fixing linting so CI can work.

* More linting fixes.

* Downgrading Ubuntu due to Docker issues with ce-dev and latest.

* Making pipefail shell commands use /bin/bash.

* Adding pipefail code to cachetool installer block.

* Adding executable for drush install checker.

* Fixing D7 ctools behaviour to match features handling.

* Jinja2 template looking for settings.php using wrong path.

* Fixing config_generate for Drupal.

* Making host checking more robust.

* Removing variable declaration that will break host check.

* Allow us to use deploy_code with a completely custom build and do nothing.

* Make PHP cachetool install optional.

* Fixing bug introduced by failed_when - need to check for return code on mount points.

* Moving where opcache clears get called so they can be excluded if necessary.

* Fixing linting errors around white space.

* The unarchive module requires 'dest' to be a directory.

* Fixing Drupal example templates.

* Logically splitting tests and remov…
  • Loading branch information
13 people authored Jan 21, 2025
1 parent 2f57760 commit 1fd1332
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 55 deletions.
61 changes: 36 additions & 25 deletions .github/workflows/ce-deploy-test-drupal8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,38 +7,49 @@ jobs:
# Set the job key. The key is displayed as the job name
# when a job name is not provided
run-tests:
if: ${{ github.event.pull_request.head.ref != 'documentation' }}
# Name the Job
name: Run Drupal 8 test build
# Set the type of machine to run on
runs-on: ubuntu-20.04
runs-on: ubuntu-latest

# Use our ce-dev Debian base container
container:
image: codeenigma/ce-dev:2.x
volumes:
- ${{ github.workspace }}:/home/controller

steps:
# Checks out a copy of your repository on the ubuntu-latest machine
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

# Installs the ce-dev stack
- name: Install ce-dev
# Configure environment
- name: Prepare Git and installed CE tools
run: |
cd /tmp
wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
git clone https://github.com/FiloSottile/mkcert && cd mkcert
go build -ldflags "-X main.Version=$(git describe --tags)"
sudo mv ./mkcert /usr/local/bin && cd ../
sudo chmod +x /usr/local/bin/mkcert
rm -Rf mkcert
curl -sL https://raw.githubusercontent.com/codeenigma/ce-dev/2.x/install.sh | /bin/sh -s -- --platform linux
# Uses the ce-dev stack to run a test Drupal deploy
- name: Run a test ce-dev deploy with Drupal 8
/usr/bin/git config --global user.email "[email protected]"
/usr/bin/git config --global user.name "Code Enigma CI"
/usr/bin/git config --global pull.rebase false
/usr/bin/git config --global --add safe.directory /__w/ce-provision/ce-provision
/usr/bin/su - ce-dev -c "cd /home/ce-dev/ce-provision && /usr/bin/git pull origin 2.x"
/usr/bin/su - ce-dev -c "cd /home/ce-dev/ce-deploy && /usr/bin/git checkout origin ${{ github.event.pull_request.base.ref }}"
/usr/bin/su - ce-dev -c "cd /home/ce-dev/ce-deploy && /usr/bin/git pull origin ${{ github.event.pull_request.base.ref }}"
- name: Set up Ansible and SSH
run: |
ce-dev create -p test -t drupal8 -d ~/test
cd ~/test
ce-dev init
ce-dev start
ce-dev provision
ce-dev deploy
curl https://www.test.local
shell: bash
mkdir -p /home/ce-dev/ansible/bin/hosts
echo "deploy-web ansible_host=127.0.0.1" > /home/ce-dev/ansible/bin/hosts/hosts
echo "StrictHostKeyChecking=no" > /home/ce-dev/.ssh/config
cat /home/ce-dev/.ssh/id_rsa.pub > /home/ce-dev/.ssh/authorized_keys
chown ce-dev:ce-dev /home/ce-dev/.ssh/config
chmod 700 /home/ce-dev/.ssh/config
chown ce-dev:ce-dev /home/ce-dev/.ssh/authorized_keys
chmod 700 /home/ce-dev/.ssh/authorized_keys
/usr/sbin/sshd&
# @TODO install required packages for a basic web server - MySQL server and client, PHP, composer, etc.

# Run a test Drupal deploy
#- name: Run a test ce-dev deploy with Drupal 8
# run: |
# @TODO
58 changes: 28 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,34 @@ It allows the deploy steps for a given app to be easily customisable and to be s
When triggered from a deployment tool, the stack will clone the codebase and "play" a given deploy playbook from there.

<!--TOC-->
## [Install](install/README.md)
The stack only gets tested on Debian Buster, but should run on any Linux distribution, as long as Ansible >=2.9 is present.
## Install
The stack only gets tested on Debian Linux, but should run on any Linux distribution, as long as Ansible >=2.9 is present.
You can install either:
- through [ce-provision](https://github.com/codeenigma/ce-provision)
- manually by running a local playbook
- with Docker (soon)

### [Install with ce-provision](install/README.md#install-with-ce-provision)
### [Install manually](install/README.md#install-manually)
### [Install with Docker](install/README.md#install-with-docker)
### [Configuration](install/README.md#configuration)
## [Usage](scripts/README.md)

* [With ce-provision](install/README.md#install-with-ce-provision)
* [Manually by running a local playbook](install/README.md#install-manually)
* [With Docker (coming soon)](install/README.md#install-with-docker)

[More installation instructions can be found here.](install/README.md)

[Configuration options here.](install/README.md#configuration)

## Usage
While you can re-use/fork roles or call playbooks directly from your deployment tool, it is recommended to use the provided wrapper scripts, as they will take care of setting up the needed environments.
### [Deploy with the "build" script](scripts/README.md#deploy-with-the-build-script)
### [Deploy with individual steps](scripts/README.md#deploy-with-individual-steps)
## [Roles](roles/README.md)
Ansible roles and group of roles that constitute the deploy stack.
### [Sync roles](roles/sync/README.md)
Roles that sync data/assets between environments.
### ["Meta"](roles/_meta/README.md)
Roles that bundles other individual roles together for tackling common use cases.
### [Data backups](roles/database_backup/README.md)
Generate backups for each build.
### [Cron](roles/cron/README.md)
Roles to generate cron entries.
### [Code deployment](roles/code/README.md)
Roles managing the codebase: deployment, symlinks, composer steps, ...
### [CLI Tools](roles/cli/README.md)
Roles to install app-specific cli tool and utilities (Drush, ...)
## [Contribute](contribute/README.md)

### [Documentation](contribute/README.md#documentation)

* [Deploy with the "build" script](scripts/README.md#deploy-with-the-build-script)
* [Deploy with individual steps](scripts/README.md#deploy-with-individual-steps)

## Roles
[Ansible roles and group of roles that constitute the deploy stack.](roles/README.md)

* [Sync roles](roles/sync/README.md) - roles that sync data/assets between environments.
* ["Meta"](roles/_meta/README.md) - roles that bundles other individual roles together for tackling common use cases.
* [Data backups](roles/database_backup/README.md) - generate backups for each build.
* [Cron](roles/cron/README.md) - roles to generate cron entries.
* [Code deployment](roles/code/README.md) - roles managing the codebase: deployment, symlinks, composer steps, ...
* [CLI Tools](roles/cli/README.md) - roles to install app-specific cli tool and utilities (Drush, cachetool, ...)

## Contribute
[Find out more about conrtibuting here.](contribute/README.md)
<!--ENDTOC-->

0 comments on commit 1fd1332

Please sign in to comment.