https://github.com/upsun/clonsun
Free and Open Source. Tool for cloning/migrating Platfom.sh projects to upsun. DISCLAIMER: This is not an official Upsun product and does not qualify for Upsun support.
https://github.com/upsun/clonsun
activation upsun-tools
Last synced: 3 months ago
JSON representation
Free and Open Source. Tool for cloning/migrating Platfom.sh projects to upsun. DISCLAIMER: This is not an official Upsun product and does not qualify for Upsun support.
- Host: GitHub
- URL: https://github.com/upsun/clonsun
- Owner: upsun
- License: apache-2.0
- Created: 2024-08-13T08:46:12.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-08-01T16:20:01.000Z (10 months ago)
- Last Synced: 2025-08-01T18:32:17.807Z (10 months ago)
- Topics: activation, upsun-tools
- Language: Go
- Homepage:
- Size: 48.8 KB
- Stars: 9
- Watchers: 8
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ClonSun
=========
This tool makes a new copy of a project from a platform (Platform.sh, Upsun) to another platform (with some data) and convert at same-time for upsun.
> [!CAUTION]
> **This project is owned by the Upsun Advocacy team. It is in early stage of development [experimental] and only intended to be used with caution by Upsun customers/community.
This project is not supported by Upsun and does not qualify for Support plans. Use this repository at your own risks, it is provided without guarantee or warranty!**
> Don’t hesitate to join our [Discord](https://discord.gg/upsun) to share your thoughts about this project.
> **WARNING : This tool does not clone the other services such as: ElasticSearch, mongoDB...**
> **NOTE : This tool automatically converts to upsun, but the reverse is not supported.**
#### Syntax
```
Usage of clonsun:
--src_provider string Source provider CLI (default "platform")
--src_project string Source Project ID
--src_env string Source Environment (default "main")
--dst_provider string Destination provider CLI (default "upsun")
--dst_project string Destination Project ID
--dst_env string Destination Environment (default "main")
--dst_organisation string Destination Organisation
--dst_region string Destination Region (default "fr-4.platform.sh")
--no_data Do not clone data (databases & mounts)
--only_data Clone only data (databases & mounts)
--no_users Do not clone user.
--mount_type string Change 'Local' mount to upsun compatible mode : 'storage' or 'instance'. (default "storage")
-v, --verbose Enable verbose mode
```
#### CLI provider supported
| Provider | Style | Compatible | Tested | Note |
|----------|-------|------------|--------|---------------------|
| platform | psh | ✅ | ✅ | |
| upsun | upsun | ✅ | ✅ | |
| ibexa | psh | ✅ | ⛔ | |
| shopware | psh | ✅ | ⛔ | |
| pimcore-cloud | psh | ✅ | ⛔ | |
| webpaas | psh | ✅(partial)| ✅ | User is not apply |
| magento | psh | ⛔ | ⛔ | |
#### Samples of convertion
- Clone into new project (created by clonsun)
`$ clonsun --src_provider=platform --src_project=xxxxxxxxxxxxx --src_env=master --dst_provider=upsun --dst_project="" --dst_env="" --dst_organisation=mick --dst_region=eu-3.platform.sh`
- Clone into existing project (and different environement)
`$ clonsun --src_provider=platform --src_project=xxxxxxxxxxxxx --src_env=master --dst_provider=upsun --dst_project="yyyyyyyyyyyyy" --dst_env="main" --dst_organisation=mick --dst_region=eu-3.platform.sh`
- Clone into new project (created by clonsun) without copy of data.
`$ clonsun --no_data --src_provider=platform --src_project=xxxxxxxxxxxxx --src_env=master --dst_provider=upsun --dst_project="" --dst_env="" --dst_organisation=mick --dst_region=eu-3.platform.sh`
- Copy only data.
`$ clonsun --only_data --src_provider=platform --src_project=xxxxxxxxxxxxx --src_env=master --dst_provider=upsun --dst_project="" --dst_env="" --dst_organisation=mick --dst_region=eu-3.platform.sh`