Warning: This add-on is experimental and under active development.
Upsun is a unified, secure, enterprise-grade platform for building, running and scaling web applications.
This repository provides experimental integration between your Upsun (Flex or Fixed/Platform.sh) project and DDEV. It tries to  configure your DDEV project to match your Upsun platform configuration by parsing your .upsun/config.yaml (or .platform.app.yaml) configuration file and generating equivalent DDEV settings for local development.
🚨 This add-on is experimental and under active development. Please report issues and provide feedback!
- Make sure you have DDEV v1.24.8+ installed.
 - Your project should have a valid 
.upsun/config.yamlor.platform.app.yamlfile. 
- Clone your project repository
 cdinto your project directory- Run 
ddev configand answer the questions as appropriate - Run 
ddev add-on get ddev/ddev-upsun - Run 
ddev start - Run 
ddev pull upsunto retrieve a copy of the database and file mounts from your Upsun environment. 
To upgrade your version of ddev-upsun, repeat the ddev add-on get ddev/ddev-upsun to get the latest release. To see the installed version, ddev add-on list --installed.
If you change your .upsun/config.yaml (or .platform.app.yaml/.platform), repeat the ddev add-on get ddev/ddev-upsun so that the generated DDEV configuration will be updated.
- Works with Upsun php-based projects, for example 
php:8.1,php:8.2,php:8.3, orphp:8.4. It has not been tested with non-PHP projects. - Takes your checked-out Upsun project and configures DDEV based on that information:
- PHP version mapping to DDEV equivalents
 - Database services (MySQL, MariaDB, PostgreSQL)
 - Basic environment variables and relationships
 - A working 
ddev pull upsunintegration 
 - Supports the following services:
- Databases
- MariaDB
 - MySQL
 - PostgreSQL
 
 - Cache/Memory
- Redis
 - Memcached
 
 - Search
- OpenSearch
 
 
 - Databases
 
These project types are included in the automated tests that run with every change:
- Drupal 11 - Extensive automated testing with three database types:
 
Each test configuration includes coverage for Redis, OpenSearch, and Memcache services.
- Multi-application Upsun projects
 - Frameworks other than Drupal (Laravel, Symfony, etc.)
 - Complex service relationships
 - Workers and cron jobs
 - Advanced Upsun features
 
- Single-app projects only - Multi-app configurations are not supported
 - Basic service relationships - Complex service relationships beyond single database are not translated
 - No worker/cron translation - Workers and cron jobs are not translated to DDEV equivalents
 - Limited environment variables - Only basic Upsun environment variables are mapped
 - PHP projects only - Non-PHP runtimes are not supported
 
Your experience is important: Please let us know about how it went for you here in the issue queue or in any of the DDEV support venues, especially Discord.
We're particularly interested in:
- Which project types and frameworks you'd like to see supported
 - What Upsun services and features are most important for your workflow
 - Any issues or edge cases you encounter
 - Success stories and improvements
 
- If your local project has a different database type than the upstream (Upsun) database, it will conflict, so please back up your database with 
ddev export-dbandddev deletebefore starting the project with new configuration based on upstream. - This add-on is based on lessons learned from ddev-platformsh but adapted for Upsun's configuration format, and using the new DDEV PHP-based actions add-on technique.
 - PRs are welcome! The code here is mostly in PHP and is easier to understand than the ddev-platformsh code.
 
- Basic PHP project support with database configuration
 - Drupal 11 testing
 -  Support Upsun-Fixed (Platform.sh-style) configuration, 
.platform.app.yamlfiles -  Additional Upsun service support (
elasticsearch-enterprise, etc.) -  Service version specification support (e.g., 
redis:8) passed to DDEV add-ons - Laravel project support and testing
 - Symfony project support and testing
 - WordPress project support and testing
 - Multi-app project support
 - Worker and cron job translation
 - Enhanced service relationship mapping
 
Let us know what's important to you on Discord and in the issue queue here!
Maintained by @rfay