Image statuses
“Maintained” means Active or Supported, depending on the classification below.Some runtimes and services (for example, Redis) use the Active/Sunset/Decommissioned classification below.Others currently use the Supported/Deprecated/Retired classification, until they migrate to Active/Sunset/Decommissioned.
- Active/Sunset/Decommissioned
- Supported/Deprecated/Retired
The Console shows an image’s status as a banner on your project’s Overview page, or as a decoration on the relevant activity in the Activity panel (active images show no decoration, since they’re always supported).An image’s status shows what’s supported and what to do:
Before you upgrade
Test any version change on a non-production branch before merging.Upgrade a runtime
Runtimes are defined by thetype key on your application in .upsun/config.yaml. Updating to a new version means changing that value and pushing it.
- Check your runtime’s docs page in Languages for supported versions — new versions may include breaking changes — then update the
typekey with the correct version number:
- Push to a non-production branch. If you don’t already have one, create it first:
- Verify that your app builds and behaves correctly. Check the deploy log for errors:
- Merge to production:
upsun merge isn’t available — merge through a pull/merge request in your Git provider instead.
Upgrade a service
Services are defined under theservices: key in .upsun/config.yaml. Updating the type value triggers a version change on the next deploy. Whether data migrates automatically depends on the service. Check Add services before you begin.
In-place upgrade
Some services upgrade automatically when you change the version. PostgreSQL 10 and later, for example, include a built-in upgrade utility that runs at deploy time.- Update the
typekey for your service:
- Push to a non-production branch. If you don’t already have one, create it first:
- Confirm the service starts and your app connects. Check the deploy log for errors:
- Create a production backup, then merge to production:
upsun merge isn’t available — merge through a pull/merge request in your Git provider instead.
Downgrading is not supported after an in-place upgrade. If you need to roll back, restore from a backup.
Manual data migration
When a service doesn’t support in-place upgrades (for example, if you use composable image or Docker images), or when you’re moving across several major versions, you need to export your data, provision a new service at the target version, and import.- Export your data from the current service.
-
Rename the service in
.upsun/config.yamland set the target version. Renaming forces the platform to create a fresh service container.
- Update the
relationshipsin any application that references the old service name:
- Push to a non-production branch and import your data into the new service.
- Verify your app works correctly, then merge to production.