Version Control
You currently have a size limit of 50GB for all your application versions.
List
On the Version Control page, you will see a table with all your uploaded versions.
The following table will be shown:
| Version | Creation time | Status | Size |
|---|---|---|---|
- Version: The name of the version
- Creation time: Timestamp of creation
- Status:
- Usable: Version transfered to UC-Streaming and can be used.
- Active: The current active version, which is used by streaming instances.
- Loading circle: The version is currently being processed by UC-Streaming.
- Unusable: An error occuried and the version can not be used. Please try to upload again or contact support.
- Size: The size of the version
Create
After finishing uploading a new version of your application, creating a new version will start preparing all the resources needed to deploy it.
You can select to keep your uploaded files in the upload folder if you want to sync future versions to save on transfer time.
Activate
Select one of the usable versions and press activate. Only one version can be active at the same time.
After activating a new version, instances running the previous version will be terminated and new instances created.
Instances which are currently in use will only be terminated after their session ended.
Delete
Delete one or more versions of your application. The data will be deleted from UC-Streaming internal storage.
RestAPI (CI/CD)
You can also activate a version via RestAPI which will fit your CI/CD strategy.
Install the gcloud CLI
https://cloud.google.com/sdk/docs/install
Obtain an ID token.
To obtain an ID token use either of those two commands, depending on if you need to impersonate a service account or not.
Using service account
gcloud auth activate-service-account --key-file {KEY_FILE}
{KEY_FILE}: Path to your .json key file for gcloud CLI.
Using current account
gcloud auth print-identity-token
Using impersonating of service account
gcloud auth print-identity-token --impersonate-service-account {service account} --include-email
Create new version
After successful upload you can start the deployment process. To authenticate your client please use your ID token.
On successful response, the resource URL can be found in the Location header.
| URL | https://dashboard.uc-streaming.com/api/v1/appenv/{appEnvId}/version |
| Method | POST |
| Authorization | Bearer {id token} |
| JSON body | {"version": "{version}"} |
{appEnvId}: Your environment id which is printed on General Info page
{id token}: Your identity token from gcloud services
{version}: String/Name of your version
Response Codes
| Response Status Code | Description |
|---|---|
| 201 | Version created |
| 401 | Invalid or missing API key |
| 403 | Wrong API key for AppEnv |
| 404 | Unknown AppEnv ID |
Get state of a version
Using the resource URL of a version (e.g. from the Location header of the create new version response). To wait for version creation to finish, poll the version state and wait for a state change from Created to Usable (version was successfully created) or Unusable (some error occurred). This process takes a while, recommended polling rate: 15-30 seconds.
| URL | https://dashboard.uc-streaming.com/api/v1/appenv/{appEnvId}/version/{versionId} |
| Method | GET |
| Authorization | Bearer {id token} |
{appEnvId}: Your environment id which is printed on General Info page
{id token}: Your identity token from gcloud services
{versionId}: ID of your version
| Response Status Code | Description |
|---|---|
| 200 | Version information |
| 401 | Invalid or missing API key |
| 403 | Wrong API key for AppEnv |
| 404 | Unknown AppEnv ID or Version ID |
Response data
{
"appEnvId": "{appEnvId}",
"versionId": "{versionId}",
"state": "[Created/Usable/Unusable/Active]",
"created": "{creation timestamp}"
}
Activate a version
Only Usable versions can be activated. Activating a version will set this as the new live version for your environment and all currently running instances will be replaced with the new version.
| URL | https://dashboard.uc-streaming.com/api/v1/appenv/{appEnvId}/version/{versionId} |
| Method | PUT |
| Authorization | Bearer {id token} |
{appEnvId}: Your environment id which is printed on General Info page
{id token}: Your identity token from gcloud services
{versionId}: ID of your version
Delete a version
| URL | https://dashboard.uc-streaming.com/api/v1/appenv/{appEnvId}/version/{versionId} |
| Method | DELETE |
| Authorization | Bearer {id token} |
{appEnvId}: Your environment id which is printed on General Info page
{id token}: Your identity token from gcloud services
{versionId}: ID of your version
Response Codes
| Response Status Code | Description |
|---|---|
| 204 | Version deleted successfully |
| 401 | Invalid or missing API key |
| 403 | Wrong API key for AppEnv |
| 404 | Unknown AppEnv ID or Version ID |