Information for: DEVELOPERS   PARTNERS

Cloud IDE FAQ

How can I manage Cloud IDE?

To create, delete, list or open Cloud IDE, you can either use the Cloud Platform interface or install Acquia CLI.

How can I manage permissions for Cloud IDE?

When managing your Cloud Platform organization’s roles, you can configure two permissions:

  • Create and manage own Cloud IDE: to create, access, and remove personal Cloud IDE within an application.
  • Manage any Cloud IDE: to list and remove any Cloud IDE within an application. This permission doesn’t grant the user access to the contents of the Cloud IDE.

Are there browser requirements for Cloud IDE?

Cloud IDE is powered by the Open Source project Theia. While the community tries its best to ensure compatibility with most modern browsers, it is recommended to use browsers based on Chromium for the best user experience.

Can I use Cloud IDE with an external Git repository?

Yes, you can use any Git repository such as GitHub, Bitbucket, or GitLab. You must install an SSH key in the Acquia Cloud IDE that has permissions to access the external repository.

Can I share my Cloud IDE?

Cloud IDE hosts your personal SSH and API keys so that you can seamlessly integrate with the Cloud Platform applications and services. When you create an IDE, it’s yours and can’t be shared for security reasons. However, you can share the preview site with your customers or QA team. To achieve this, use the acli ide:share command to obtain the share URL.

Can I run a multisite application on Cloud IDE?

Cloud IDE supports Drupal multisite applications, whether they’re hosted on Acquia Cloud Platform or Site Factory. When running the acli pull command, you can select any arbitrary database or files directory to pull from.

However, you must know the following limitations:

  • Cloud IDE has only one preview URL, so you can only run one application at a time.
  • Cloud IDE only recognizes the /sites/default folder. For more information, see the KB article.

How can I tell whether my IDE is running on the latest version?

At any point in time, all IDEs run on the same version of the software. However, Acquia cannot carry through a few updates to existing IDEs. For example, Acquia might not be able to properly apply the updates to .bashrc if you have have customized it greatly.

Therefore, Acquia continues to recommend customers to view Cloud IDE as a disposable resource that can be destroyed and recreated at will. To leverage the latest and greatest IDE software, ensure that you periodically recreate your IDE. Acquia recommends you to recreate your IDE once per quarter.

Which Cloud Platform products is Cloud IDE compatible with?

Acquia Cloud IDE is compatible with all Cloud Platform products and Site Factory.

Note

For Site Factory customers, Acquia recommends you to use Acquia BLT because it helps you to automatically connect to the Cloud IDE database.

Why am I getting an Access Denied error when trying to log in to my website?

When pulling your application in Cloud IDE, Acquia automatically sanitizes your database for security purposes. In other words, Acquia obfuscates sensitive user data such as (but not limited to) email addresses and passwords.

This means you will get an Access Denied error (403) when trying to log in to your website at /user/login. Instead, run the following Drush command from your /home/ide/project directory to obtain a one-time login URL.

drush uli
https://<UUID>.web.ahdev.cloud/en/user/reset/1/1649572871/<TOKEN>/login

To override the default behavior, run the following command:

acli pull --no-scripts

Where can I find MySQL databases in my Cloud IDE?

MySQL data is available under /home/ide/mysql-data.

Where can I find the Drupal watchdog log in Cloud IDE?

The Drupal watchdog log is available under /var/log/drupal/drupal-watchdog.log. Read our documentation about it for more information.

How can I access Acquia Search from Cloud IDE?

Cloud IDE does not include a dedicated Acquia Search index (core). To allow the Cloud IDE preview site to write to an Acquia Search index, you must implement a code override for the environment. For more information, see Overriding Solr index connection switching.

How does Cloud IDE integrate with Cloud Platform pipelines?

If you configure the Cloud Platform pipelines feature to work with your Git repository, all Git pushes to the repository, or pull requests (PRs) opened from your external provider, will trigger a pipelines job.

Is Cloud IDE compatible with my custom VCL file?

Yes. If you have a custom Varnish Configuration Language (VCL) file, you can opt-in for Cloud IDE ACLs (Access Control List), which seamlessly pulls your application in Cloud IDE while ensuring the security of your application.

To opt-in for Cloud IDE ACLs, add the following line to your customizable ACL section:

std.ip(req.http.client-ip, "127.0.0.2") !~ acquia_acls_cloudides

Is Cloud IDE compatible with Acquia Shield?

Yes. However, you must explicitly add Cloud IDE NAT gateways to the allowlist to synchronize your application. Contact Acquia Support for assistance.

Why can’t I save changes made to settings.php?

After Drupal is installed, the settings.php file gets write-protected. On the Acquia Cloud Platform, this is not an issue as the filesystem is read-only. However, in Acquia Cloud IDE, as you can edit files, you might run into this issue.

To make Drupal’s settings.php writable, run the following command from within the project directory:

ide:~/project $ chmod 644 docroot/sites/[yoursite]/settings.php

Once your changes are made, run the following command to make the file write-protected again:

ide:~/project $ chmod 444 docroot/sites/[yoursite]/settings.php

Why can’t I delete certain files or directories in the Drupal docroot?

While trying to delete files or directories in the Drupal docroot, you might get the following Permission denied messages:

ide:~$ rm -Rf project
rm: cannot remove 'project/docroot/sites/default/files': Permission denied
rm: cannot remove 'project/docroot/sites/default/default.settings.php': Permission denied
rm: cannot remove 'project/docroot/sites/default/settings.php': Permission denied
rm: cannot remove 'project/docroot/sites/default/default.services.yml': Permission denied

The above issue is related to Drupal permissions. Before you can delete those files or directories, you must change permissions.

To do so, run the following command:

chmod -R u+w /home/ide/project/docroot/sites/default

You can now delete those files and directories.

Why can’t I import a large database or a large number of files?

Cloud IDE comes with a 60GB disk. Your code, database, and files co-reside on the same disk, and you need to factor this when importing your application. Also, when you pull your database to the IDE, the database is stored on the disk as a flat file until it is fully imported in the MySQL engine, thus temporary doubling the size on disk.

For example, if you have a 20GB Drupal files directory and you’re trying to import a 20GB database, consider the total disk space used on the disk is temporarily 40GB, and will cause the import to fail because you will max out the total disk allocation.

Why am I getting a redirect loop when visiting the IDE web preview URL?

You might have a contributed or custom module that causes a redirect loop. Here’s a list of contributed modules that can cause this issue:

Your .htaccess file might be configured in a way that is incompatible with Cloud IDE. See Excluding Acquia domains and non-production environments and redirecting visitor requests with the .htaccess file.

Why isn’t Varnish available in Cloud IDE?

One of the first things new Acquia customers ask our Support team is how to disable Varnish in non-production Cloud Platform environments, so that they can view their changes immediately. Taking this feedback into account, we’ve decided not to include Varnish in Acquia Cloud IDE so it’s easier to develop Drupal without any external caching in the way.

How can I audit the Cloud IDE lifecycle?

It is useful to understand who created or deleted an IDE. To achieve this, use Acquia CLI, as Acquia CLI lets you filter out your Cloud Platform notifications easisly. Ensure that you adjust the --limit parameter to make it relevant. The rule of thumb is: the more you have Cloud Platform notifications, the more you’ll have to increase the limit.

$ acli api:applications:notification-list myapplication --limit=100 | grep -B2 -A1 IDE
        "uuid": "2b328ed0-74be-413d-a3f9-d19c74a96239",
        "event": "RemoteIdeCreatedEvent",
        "label": "IDE created",
        "description": "IDE \"Mary\" created for \"My Application\".",
        "created_at": "2021-03-15T13:35:21+00:00",
--
        "uuid": "p14300b9-cf78-46b6-bh3a-005d73bc6836",
        "event": "RemoteIdeDeletedEvent",
        "label": "IDE removed",
        "description": "IDE removed from \"My Application\".",
        "created_at": "2021-03-12T20:58:32+00:00",

How can I find all active IDEs for a subscription with multiple applications?

The Cloud Platform UI has the concept of application relationships. This means multiple applications can be logically tied together to a parent subscription. Therefore, it might be complicated to determine the application(s) containing those IDEs.

Querying the Cloud Platform API can help with getting this information. Run the following command after replacing <SubscriptionUUID> with your subscription UUID:

$ acli api:subscriptions:ide-list <SubscriptionUUID> | jq -r '.[] | "Label: " + .label + "\nOwner: " + ._embedded.owner.email +  "\nSubscription: " + ._links.application.href + "\n"'
Label: myfirstide
Owner: [email protected]
Subscription: https://cloud.acquia.com/api/applications/<applicationUUID1>

Label: mysecondide
Owner: [email protected]
Subscription: https://cloud.acquia.com/api/applications/<applicationUUID2>

Label: mythirdide
Owner: [email protected]
Subscription: https://cloud.acquia.com/api/applications/<applicationUUID3>

To view all applications related to your subscription UUID, visit the following URL: https://cloud.acquia.com/a/subscriptions/<SubscriptionUUID>/views

Can I serve pages on custom ports?

No. Cloud IDE is restricted to serving pages over port 80 only. Acquia might support custom ports in the future, such as port 8080, so you can run alternate development servers.

How can I create a Chrome application from an IDE browser tab?

Follow the procedure to Add a shortcut to a website as an app. When prompted to create the shortcut, make sure to check the Open as window check box. To locate your application, visit chrome://apps/ in your browser.