From cf4dabef0dc70a6a8f3568bb6407ff2faef6f7c7 Mon Sep 17 00:00:00 2001 From: Kemi-Elizabeth <97071326+Kemi-Elizabeth@users.noreply.github.com> Date: Thu, 7 Aug 2025 18:59:00 +0100 Subject: [PATCH 1/5] feat: added content about convsun added convsun content --- .../src/learn/tutorials/migrating/from-psh.md | 62 +++++++++++++++++-- 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/sites/upsun/src/learn/tutorials/migrating/from-psh.md b/sites/upsun/src/learn/tutorials/migrating/from-psh.md index e325eaf012..aa0ecd0895 100644 --- a/sites/upsun/src/learn/tutorials/migrating/from-psh.md +++ b/sites/upsun/src/learn/tutorials/migrating/from-psh.md @@ -1,22 +1,72 @@ --- -title: From Platform.sh -description: See how to migrate your app to {{% vendor/name %}} so it's ready to be deployed. +title: Converting a project +description: See how to configure your app to {{% vendor/name %}} so it's ready to be deployed. keywords: - "set remote" --- -If you already have an app running somewhere else, you want to migrate it to {{% vendor/name %}} and deploy it. -To do so, follow these steps. +There are two ways to change the configuration files of your projects to make them {{% vendor/name %}} compatible. + +1. [Convert projects with the CLI](#convert-with-the-cli) +2. [Convert projects manually](#convert-manually) ## Before you begin You need: -- An app that works and is ready to be built -- Code in Git +- A Platform.sh application that works and is ready to be built +- The code in Git - A {{< vendor/name >}} account -- if you don't already have one, [register](https://upsun.com/register/). - The [{{< vendor/name >}} CLI](/administration/cli/_index.md) installed locally +## Convert with the CLI + +To assist with converting applications from Platform.sh to {{% vendor/name %}}, the convsun tool is available as part of the {{% vendor/name %}} CLI. This feature automates the conversion of Platform.sh config files into a format required by {{% vendor/name %}}, significantly reducing manual effort. + +### Key functions +The convsun tool performs the following transformations: + +1. Generation of Upsun `config.yaml` +- Creates a new `config.yaml` file - the primary configuration file for {{% vendor/name %}} projects. +- Extracts relevant information from `.platform.app.yaml`, `services.yaml`, and `routes.yaml`. + +2. Refactoring of obsolete or incompatible fields +Removes resource-related fields that are not applicable in {{% vendor/name %}}. This includes: + +- Disk values +- Size settings (e.g., S, M, L) +- Legacy resources blocks +- Any deprecated or unsupported container options in the source configuration + +3. Mount and storage adjustments +- Converts mounts of type local into {{% vendor/name %}}'s storage format to support horizontal scaling and infrastructure consistency. +- Ensures that volumes and file persistence are aligned with how {{% vendor/name %}} manages data across containers. + +4. Reorganization of custom service configuration +- Moves custom configuration for services such as `Solr` into the `.upsun/ directory`, which is used to hold project-specific overrides and custom assets. + +5. Support for cron jobs +- Identifies cron jobs defined in Platform.sh and provides guidance on how to replicate similar functionality in {{% vendor/name %}}. +- Flags any cron schedules requiring special support and prepares the `config.yaml` accordingly. + +### Example usage + +```bash +# Placeholder command – to be updated with final syntax + +``` +You will be prompted to enter the path to the Platform.sh project you would like to convert. + +The Convsun feature then performs the conversion within the {{% vendor/name %}} CLI and outputs the updated `config.yaml` file to the specified destination directory. + +## Convert manually + +If you prefer not to use the CLI tool, or if your project has custom requirements that require a more hands-on approach, you can manually update your Platform.sh configuration to be compatible with {{% vendor/name %}}. + +Manual conversion gives you full control over the transition process and can be useful for projects with non-standard setups or advanced customizations. + +Follow the steps below to begin a manual migration. + ## 1. Export from previous system Start by exporting everything you might need from your current app. From 8d9125575cc3283b4356895acb2218eaae6ef781 Mon Sep 17 00:00:00 2001 From: Kemi-Elizabeth <97071326+Kemi-Elizabeth@users.noreply.github.com> Date: Thu, 7 Aug 2025 19:13:46 +0100 Subject: [PATCH 2/5] feat: added paragraph added convsun explanation to region migration page --- sites/platform/src/projects/region-migration.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sites/platform/src/projects/region-migration.md b/sites/platform/src/projects/region-migration.md index 7cc4d48b8f..e72dc92409 100644 --- a/sites/platform/src/projects/region-migration.md +++ b/sites/platform/src/projects/region-migration.md @@ -148,8 +148,11 @@ Once the new project is running and the DNS has fully propagated, delete the old **These tools are not directly supported by {{% vendor/name %}} support team, but you can open issues in their respective repositories directly.** We have open-sourced [ClonSun](https://github.com/upsun/clonsun), a tool that allows you to clone a project from one region to another. -ClonSun helps you migrate most of your project assets from one region to another with some remaining manual steps like moving your domain names from -one region to the other (or at the CDN level) and update your DNS records. +ClonSun helps you migrate most of your project assets from one region to another with some remaining manual steps like moving your domain names from one region to the other (or at the CDN level) and update your DNS records. + +We also have [ConvSun](https://github.com/upsun/convsun), a tool that allows you to change existing configuration files to another format. It converts details from files like `services.yaml` and `routes.yaml`, and generates a new `config.yaml` file. This streamlines the conversion process by significantly reducing the manual effort required to adapt your app’s infrastructure setup. + +To learn more about ConvSun and how it works, read the [converting projects](https://docs.upsun.com/learn/tutorials/migrating/from-psh.html) page. Although not directly supported by {{% vendor/name %}}, an agency named [Contextual Code](https://www.contextualcode.com/) has built a bash migration script. From f5087b2679a4798ef669699e8538cf349501cf80 Mon Sep 17 00:00:00 2001 From: Kemi-Elizabeth <97071326+Kemi-Elizabeth@users.noreply.github.com> Date: Fri, 22 Aug 2025 13:48:49 +0100 Subject: [PATCH 3/5] feat: added cli command added cli command and refined paragraphs on region migration page --- sites/platform/src/projects/region-migration.md | 10 +--------- sites/upsun/src/learn/tutorials/migrating/from-psh.md | 3 ++- sites/upsun/src/projects/region-migration.md | 11 +++++++++++ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/sites/platform/src/projects/region-migration.md b/sites/platform/src/projects/region-migration.md index e72dc92409..76bc1405a2 100644 --- a/sites/platform/src/projects/region-migration.md +++ b/sites/platform/src/projects/region-migration.md @@ -145,19 +145,11 @@ Once the new project is running and the DNS has fully propagated, delete the old ## Alternative process -**These tools are not directly supported by {{% vendor/name %}} support team, but you can open issues in their respective repositories directly.** - We have open-sourced [ClonSun](https://github.com/upsun/clonsun), a tool that allows you to clone a project from one region to another. ClonSun helps you migrate most of your project assets from one region to another with some remaining manual steps like moving your domain names from one region to the other (or at the CDN level) and update your DNS records. We also have [ConvSun](https://github.com/upsun/convsun), a tool that allows you to change existing configuration files to another format. It converts details from files like `services.yaml` and `routes.yaml`, and generates a new `config.yaml` file. This streamlines the conversion process by significantly reducing the manual effort required to adapt your app’s infrastructure setup. -To learn more about ConvSun and how it works, read the [converting projects](https://docs.upsun.com/learn/tutorials/migrating/from-psh.html) page. - -Although not directly supported by {{% vendor/name %}}, -an agency named [Contextual Code](https://www.contextualcode.com/) has built a bash migration script. -This script automates most common configurations. -If your site is a typical single app with a single SQL database, -the script should take care of most of the process for you. +Although not directly supported by {{% vendor/name %}}, an agency named [Contextual Code](https://www.contextualcode.com/) has built a bash migration script. This script automates most common configurations. If your site is a typical single app with a single SQL database, the script should take care of most of the process for you. See more at the [{{% vendor/name %}} Project Migration repository](https://gitlab.com/contextualcode/platformsh-migration). diff --git a/sites/upsun/src/learn/tutorials/migrating/from-psh.md b/sites/upsun/src/learn/tutorials/migrating/from-psh.md index aa0ecd0895..3ff9f1d229 100644 --- a/sites/upsun/src/learn/tutorials/migrating/from-psh.md +++ b/sites/upsun/src/learn/tutorials/migrating/from-psh.md @@ -52,7 +52,8 @@ Removes resource-related fields that are not applicable in {{% vendor/name %}}. ### Example usage ```bash -# Placeholder command – to be updated with final syntax + +uspun project:convert ``` You will be prompted to enter the path to the Platform.sh project you would like to convert. diff --git a/sites/upsun/src/projects/region-migration.md b/sites/upsun/src/projects/region-migration.md index ab25d327f2..d8ba6cb141 100644 --- a/sites/upsun/src/projects/region-migration.md +++ b/sites/upsun/src/projects/region-migration.md @@ -137,6 +137,17 @@ Once the new project is running and the DNS has fully propagated, delete the old ## Alternative process +We have open-sourced [ClonSun](https://github.com/upsun/clonsun), a tool that allows you to clone a project from one region to another. +ClonSun helps you migrate most of your project assets from one region to another with some remaining manual steps like moving your domain names from one region to the other (or at the CDN level) and update your DNS records. + +We also have [ConvSun](https://github.com/upsun/convsun), a tool that allows you to change existing configuration files to another format. It converts details from files like `services.yaml` and `routes.yaml`, and generates a new `config.yaml` file. This streamlines the conversion process by significantly reducing the manual effort required to adapt your app’s infrastructure setup. + +{{< note theme="info" >}} + +To learn more about ConvSun and how it works, read the [converting projects](https://docs.upsun.com/learn/tutorials/migrating/from-psh.html) page. + +{{< /note >}} + Although not directly supported by {{% vendor/name %}}, an agency named [Contextual Code](https://www.contextualcode.com/) has built a bash migration script. This script automates most common configurations. From 8eb5c06e8a2166256d2c60b788c3ccb79ca320d5 Mon Sep 17 00:00:00 2001 From: Kemi-Elizabeth <97071326+Kemi-Elizabeth@users.noreply.github.com> Date: Fri, 22 Aug 2025 14:34:24 +0100 Subject: [PATCH 4/5] feat: removed extra spaces removed extra spaces --- sites/upsun/src/learn/tutorials/migrating/from-psh.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/sites/upsun/src/learn/tutorials/migrating/from-psh.md b/sites/upsun/src/learn/tutorials/migrating/from-psh.md index 3ff9f1d229..08922030a5 100644 --- a/sites/upsun/src/learn/tutorials/migrating/from-psh.md +++ b/sites/upsun/src/learn/tutorials/migrating/from-psh.md @@ -52,9 +52,7 @@ Removes resource-related fields that are not applicable in {{% vendor/name %}}. ### Example usage ```bash - uspun project:convert - ``` You will be prompted to enter the path to the Platform.sh project you would like to convert. From f969254f44e034bd7ae07a23ef01fc321e5bed0c Mon Sep 17 00:00:00 2001 From: Kemi-Elizabeth <97071326+Kemi-Elizabeth@users.noreply.github.com> Date: Fri, 22 Aug 2025 15:05:47 +0100 Subject: [PATCH 5/5] feat: removed migrate removed migrate mentions from pages --- sites/platform/src/learn/tutorials/migrating.md | 8 ++++---- sites/upsun/src/learn/tutorials/migrating/from-psh.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/platform/src/learn/tutorials/migrating.md b/sites/platform/src/learn/tutorials/migrating.md index 68c0ba7880..3a7c2dce55 100644 --- a/sites/platform/src/learn/tutorials/migrating.md +++ b/sites/platform/src/learn/tutorials/migrating.md @@ -1,14 +1,14 @@ --- -title: Migrating to {{% vendor/name %}} -description: See how to migrate your app to {{% vendor/name %}} so it's ready to be deployed. +title: Converting to {{% vendor/name %}} +description: See how to convert your app to {{% vendor/name %}} so it's ready to be deployed. keywords: - "set remote" - - migration --- -If you already have an app running somewhere else, you want to migrate it to {{% vendor/name %}} and deploy it. +If you already have an app running somewhere else, you want to convert it to {{% vendor/name %}} and deploy it. To do so, follow these steps. + ## Before you begin You need: diff --git a/sites/upsun/src/learn/tutorials/migrating/from-psh.md b/sites/upsun/src/learn/tutorials/migrating/from-psh.md index 08922030a5..08fdcc1d11 100644 --- a/sites/upsun/src/learn/tutorials/migrating/from-psh.md +++ b/sites/upsun/src/learn/tutorials/migrating/from-psh.md @@ -247,7 +247,7 @@ applications: ``` `instance` mounts on {{% vendor/name %}} are the equivalent of `local` mounts on {{% vendor/psh_ref %}}. -To ensure continuity when migrating from {{% vendor/psh_ref %}} to {{% vendor/name %}}, +To ensure continuity when converting from {{% vendor/psh_ref %}} to {{% vendor/name %}}, the `local` mount type works as an alias for the `instance` mount type. However, it is recommended to change the type of your `local` mounts to `instance` or another [supported mount type](/create-apps/app-reference/single-runtime-image.html#define-a-mount).