Introduction
If you are an App Provider looking to ensure that your application remains compatible with UCS 5.2, this guide will help you make the necessary changes. The goal is to allow a UCS 5.0 system with your application installed to be updated seamlessly to UCS 5.2 without requiring the removal and reinstallation of your application.
It is important to differentiate between different types of applications that can be deployed on UCS:
- Package-based applications
- Docker or docker-compose applications
Each type of application requires a different approach to ensure compatibility with UCS 5.2.
Package-Based Applications
For package-based applications, you need to create and maintain copies of the same version for UCS 5.1 and UCS 5.2. This means:
- Copy your existing package versions: Clone the versions you wish to maintain for UCS 5.1 and UCS 5.2.
- Test your application: Run an upgrade on a UCS 5.0 system with your appliaction installed using the Test App Centert to ensure there are no compatibility issues.
Important Considerations
- UCS 5.1 (although not meant for productive use) is based on Debian 11, while UCS 5.2 is based on Debian 12. App Providers must ensure they ship the appropriate packages and adjust dependencies accordingly.
- Even though there are two Debian versions between UCS 5.0 and UCS 5.2, we highly recommend not updating the application itself. The same version should be shipped across all UCS versions to minimize cross-update issues.
Docker or Docker-Compose Applications
For applications deployed using Docker or docker-compose, the process is more straightforward.
However, it is a requirement that your application is already present in UCS 5.0.
If this condition is met, you can make it compatible with UCS 5.2 by simply updating the supported UCS versions in your application settings.
Steps to Enable UCS 5.2 Compatibility:
- Modify your app settings: Update your application to include
5.1-0
and5.2-0
in the list of supported UCS versions. You can do this in the provider-portal in the Version section.
- Test your application: Run an upgrade on a UCS 5.0 system with your appliaction installed using the Test App Centert to ensure there are no compatibility issues.
Since Docker applications are containerized, they do not require separate builds for each UCS version, making the transition easier compared to package-based applications. It is crucial to note that you cannot have one version in UCS 5.0 and a different version in UCS 5.2, expecting the App Center to handle the upgrade automatically. The same version must be available across UCS versions as long as your app supports UCS 5.0.
If you want to provide a newer version of your application for UCS 5.2 than for UCS 5.0 you will need to create a new app version with the minimum supported UCS version being UCS 5.2.
Conclusion
Ensuring that your application remains available on UCS 5.2 requires proactive steps, but the process varies depending on the deployment method. Package-based applications require copying existing versions to UCS 5.1 and UCS 5.2 while ensuring compatibility with their respective Debian bases. Meanwhile, Docker applications only need a simple update to their compatibility metadata, but they must already exist in UCS 5.0 to be supported in UCS 5.2.
By following these guidelines, you can provide a seamless experience for users upgrading their UCS systems while maintaining support for your application.
For further details, Univention App Center for App Providers