Drupal is a registered trademark of Dries Buytaert

The HTTP Drush Wrapper module allows for Drush commands to be executed via an HTTP endpoint.

On Acquia Cloud Next (ACN), there is a known issue where Watchdog logs are not recorded when Drupal requests are executed via SSH, Cloud Hooks, or Scheduled Jobs. When initiating requests via HTTP, Watchdog logs are recorded as expected. (This behavior is a regression and does not affect Acquia Cloud Classic (ACC).) While there may be other uses cases, this module was designed to allow ACN customers to maintain FedRAMP compliance.

Commands are executed with the Symfony Process component.

Post-Installation

Grant the administer http drush wrapper permission to users as necessary. Grant this permission to trusted roles only. This permission has security implications.

Navigate to /admin/config/services/http-drush-wrapper to configure the module.

For security reasons, commands cannot be executed directly via HTTP. Instead, define an alias-command mapping for each command. The alias will be called via HTTP request.

The php:eval command is disallowed to prevent remote execution of PHP code.

Usage

To execute a Drush command via HTTP, ensure the configuration step is completed and the endpoint is enabled. Send a POST request to /http-drush with a JSON payload, which contains two properties:

  • access_key: The value of the selected Access Key
  • command_alias: The alias of the command to be run

E.g. Instead of executing drush cron in a Scheduled Job, execute the following via cURL instead:

curl -X POST -H "Content-Type: application/json" -d '{"command_alias": "cron", "access_key": "abc123"}' https://mysite.com/http-drush

Additional Requirements

This module has the following dependencies:

Activity

Total releases
1
First release
Feb 2026
Latest release
1 month ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.0-beta1 Pre-release Feb 3, 2026