/ddev-platformsh

Add integration with Platform.sh hosting service

Primary LanguageShellApache License 2.0Apache-2.0

tests project is maintained

What is ddev-platformsh?

This repository is used with ddev get platformsh/ddev-platformsh to get a rich integration between your checked-out Platform.sh project and DDEV.

Using with a Platform.sh project

  1. Make sure you have DDEV v1.21.1+ installed
  2. Clone your project repository (e.g. platform get <projectid>)
  3. cd into your project directory
  4. Run ddev config and answer the questions as appropriate
  5. Run ddev get platformsh/ddev-platformsh and answer the questions as appropriate
  6. Run ddev start
  7. (Optional) Run ddev pull platform to retrieve a copy of the database and contents from the project's file mounts from the environment you entered in step #5
    1. If you only want to retrieve the database (skipping the file mounts), add the --skip-files flag to the ddev pull platform command

Notes

  • If your local project has a different database type than the upstream (Platform.sh) database, it will conflict, so please back up your database with ddev export-db and ddev delete -y before starting the project with new config based on upstream.
  • Your experience is super-important: Please let us know about how it went for you in any of the DDEV support venues

What does it do right now?

  • Takes your checked-out Platform.sh project and configures DDEV based on that information.
    • PHP and Database version
    • hooks are converted to DDEV post-start hooks
    • A working ddev pull platform integration with all mounts is created.
    • Exposes specific $PLATFORM_ variables (e.g., $PLATFORM_RELATIONSHIPS)
  • Supports the following services:
    • Databases
      • MariaDB
      • Oracle MySQL
      • Postgresql
    • Redis
    • Memcached
    • ElasticSearch

What has been tested

These Platform.sh templates are included in the automated tests that run nightly. They will be growing in maturity with your feedback!

What will it do in the future

  • Populate important PLATFORMSH environment variables that would be found upstream
  • Populate PHP and other dependencies configured upstream
  • Automatically figure out the name and other information of the upstream project
  • Automatically configure the .ddev/providers/platform so you can immediately do a ddev pull platform with no configuration effort.
  • Let us know what's important to you!

Contributed and maintained by @rfay and @lolautruche