Git Product home page Git Product logo

ddev-platformsh's Introduction

tests project is maintained

What is ddev-platformsh?

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

Using with a Platform.sh project

Dependencies

Make sure you have DDEV v1.22.1+ installed

Install

  1. Clone your project repository (e.g. platform get <projectid>)
  2. cd into your project directory
  3. Run ddev config and answer the questions as appropriate
  4. Run ddev get ddev/ddev-platformsh and answer the questions as appropriate
  5. Run ddev start
  6. (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

Upgrade

To upgrade your version of ddev-platformsh, repeat the ddev get ddev/ddev-platformsh to get the latest release. To see the installed version, ddev get --installed.

Run it again if you change your Platform.sh configuration

If you change your .platform.app.yaml or something in your .platform directory, repeat the ddev get ddev/ddev-platformsh so that the generated configuration for DDEV will be updated.

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?

  • Works with many projects of type php, for example, php:8.1 or php:8.2. It does not work with non-php projects.
  • 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, $PLATFORM_ROUTES)
  • Supports the following services:
    • Databases
      • MariaDB
      • Oracle MySQL
      • Postgresql
    • Redis
    • Redis-persistent
    • Memcached
    • ElasticSearch
  • Provides the following Platform.sh-provided environmental variables:
    • PLATFORM_APP_DIR
    • PLATFORM_APPLICATION_NAME
    • PLATFORM_CACHE_DIR
    • PLATFORM_ENVIRONMENT
    • PLATFORM_PROJECT
    • PLATFORM_PROJECT_ENTROPY
    • PLATFORM_RELATIONSHIPS
    • PLATFORM_ROUTES
    • PLATFORM_TREE_ID
    • PLATFORM_VARIABLES

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!

(Each of the above but magento2ce has automated tests.)

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

ddev-platformsh's People

Contributors

rfay avatar lolautruche avatar hanoii avatar gilzow avatar chadwcarlson avatar ibexa-yuna avatar stasadev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.