Can you explain how the Acquia 'vcs' configuration directory type differs from the regular Drupal 8 'sync' directory?
By default, Drupal 8 uses the sync configuration directory type for Configuration Management. This type defines the configuration directory located under the path/to/docroot/sites/sitename/files/config_HASH path. Acquia Cloud introduces an additional configuration directory type named vcs to allow you to track Configuration Management changes under version control.
$config_directories['vcs']Technically, both sync and vcs are array keys referencing a configuration directory type. For convenience we will sometimes refer to them as 'configuration directories'. Let's explore their differences.
config_HASH directory for each site. On Acquia Cloud, though, there is one config_HASH directory per environment, as if your Dev, Stage and Production environments were different sites. This is to improve security but we understand this can also be a little confusing. For example:
drwxr-s--- 4 testsite testsite 33 Mar 20 2017 config_847d661c3a69a99fad20815f14136a4795f
drwxr-s--- 4 testsite testsite 33 May 14 2017 config_89b38cf7d3340f31c128e9187fd43d536c7
drwxr-s--- 4 testsite testsite 33 Apr 25 2017 config_a1d04c1c71ec0d30747c758b482b3ecab1eTo find the correct hash for an environment, use:
$ drush @sitename.env status | grep Sync | awk '{print $NF}'The Acquia-declared vcs configuration directory type follows Drupal 8's best practices by allowing you to both track Configuration Management changes under version control and relocate the Configuration Management directory outside of the Drupal docroot. It is expected to be located at the same level as your Acquia Cloud docroot.
lrwxrwxrwx 1 root testsite 19 Jun 29 06:56 acquia-files -> /mnt/gfs/testsite
-r--r----- 1 www-data testsite 1685 Jun 29 06:56 composer.json
-r--r----- 1 www-data testsite 188977 Jun 29 06:56 composer.lock
dr-xr-s--- 6 www-data testsite 4096 Jun 29 06:56 config
dr-xr-s--- 7 www-data testsite 4096 Jun 29 06:56 docroot
dr-xr-s--- 33 www-data testsite 4096 Jun 29 06:56 vendorAdditionally, it should follow the convention /config/sitename where 'sitename' is the site name you have declared under sites. For example, create /config/default if you have /sites/default/ or /config/mysite.com if you have sites/mysite.com. See Configuration management for Drupal 8 for additional information.
config/sitename configuration directory to exist. It will return warnings on your Drupal status page if it cannot find it. Additionally, it will prevent you from running update.php from within the user interface./config/sitename configuration directory is read-only, so all changes need to be performed within the normal code deployment workflow.Because there are two different locations defined for Configuration Management on Acquia Cloud, when you run Drush config-export or config-import commands, you may see an additional prompt asking you to define whether you are using vcs or sync:
$ drush config-import
Choose a source.
[0] : Cancel
[1] : sync
[2] : vcsYou can also pass the source/destination configuration directory type directly in the Drush command. For example:
$ drush config-import vcsAdditional notes:
vcs configuration directory type can be added to settings.php on Acquia Cloud Site Factory, with a post-settings-php hook. See Hooks in Acquia Cloud Site Factory.If this content did not answer your questions, try searching or contacting our support team for further assistance.
Wed Oct 22 2025 08:59:29 GMT+0000 (Coordinated Universal Time)