Upgrading SPS

Changelog

This page contains a full list of changes for each SPS release version.

v1.0.0

Major changes

  • All: Added Azure support to SPS
  • All: Added GCP support to SPS
  • All: Bump IBT job to v0.1.9
  • All: Bump dashboard to v0.2.12
  • All: Updated proto version to 3.19.1
  • CoTURN: Is now deployed with SPS at helm chart installation
  • CoTURN: Added TCP support
  • Metrics: Implemented metrics server and infrastructure
  • Framework: Convert to instance WebRTC offer by default and set default value of frontendToSendOffer to true
  • Framework: Added SPS scheduler
  • Framework: Added support for supplying a custom frontend container tag both to a version and as a global default
  • Framework: Added support to SPS for all cloud platforms to require a customer ID
  • Framework: Added credentials support for private frontend images
  • Framework: Implemented a custom Auth type
  • REST API: -ResX and -ResY will be correctly passed to the instance container
  • REST API: Converted JSON patch paths to the internally used dot format
  • REST API: Refactored the REST API, refer to REST API schema
  • REST API: Added support for deleting multiple versions to the REST API

Minor changes

  • All: Moved Instance list operation to the instance package
  • CoTURN: Changed the way the coturn deployment consumes the credential in the CW helm chart
  • Framework: Updated the AWS lambda runtime to provided.al2023
  • Framework: Implemented a wait retry if the error from the container info job contains TOOMANYREQUESTS
  • Framework: Updated dashboard/imagebuild dockerfiles and build scripts
  • Framework: Update grpc-go, protoc and golang version
  • Framework: Add component versions to the sps config
  • Framework: Added cronjob history
  • Framework: Added x-token to the list of allowed headers
  • Framework: Added helpful messages to Websocket closing error
  • Framework: Updated overprovisioning CRDs for AWS/Azure
  • Framework: Implemented a check before retrieving the last updated time for an instance pod
  • Framework: Updated the GO version to 1.22
  • Framework: Rename os-detect to container-info for the build pipeline
  • Framework: Updated default SPS frontend
  • Framework: Moved update frontend version to update component versions
  • Framework: Overhauled how the container repo is managed throughout SPS
  • Framework: Add pre install hook to SPS to validate customer ID
  • Framework: Implemented a clean up of the container get info job for different cloud providers
  • Framework: Force a reconcile of all applications when updating the sps-config
  • Framework: Moved the ingress generating from the REST API into the operator
  • Framework: Ensure that the VolumeMounts include all fields for the version skeleton
  • Framework: Added support for providing a development/staging/production build type when building SPS
  • Framework: Reworked versioning for framework
  • Framework: Removed unused line from the build script
  • Framework: Add additional default args to the instance related to Pixel Streaming
  • Dashboard: Versions list will now be correctly sorted
  • Dashboard: Trim whitespace around the image tag
  • Dashboard: Removed extracting spam in operator logs
  • AWS: Updated AWS ami to use the lastest nvidia drivers
  • AWS: Fixed installation process where if the CNI configmap already exists on the cluster it will no longer error out
  • AWS: Disable node resource checks
  • AWS: Removed billing init container on AWS instance pod
  • AWS: Set the Min node group size at install time for AWS node groups
  • AWS: Added Over Provisioning to node groups
  • AWS: Fixed bug updating the AWS autoscaling node group min size
  • AWS: Renamed sps-aws-updater to sps-config
  • AWS: Created packages to facilitate AWS API calls in relating to SPS config values
  • AWS: Added support for updating the InstancesPerGPU in spsconfig via the REST API
  • AWS: Added building of the the AWS updater container to the release pipeline
  • AWS: Added custom Linux EKS GPU worker nodes with Nydus support
  • AWS: Reduced the CPU max node group size to 5 and reduced CPU disk size to 30GB
  • AWS: Removed references to the ALB controller ARN / service account from SPS
  • AWS: Removed logging from the SPS helm chart and throughout SPS
  • AWS: Added AWS installer validation
  • AWS: Refactored SPS config to use node groups, opening up support for managing both CPU and GPU node group types
  • Bug fix: REST API now returns the correct platform on create version
  • Bug fix: REST API application update/patch was not updating min and max replicas
  • Bug fix: REST API application info now shows active version information correctly
  • Bug fix: AWS demo would install even if no demo was selected at installation time
  • Bug fix: REST API validation of AWS node groups
  • Bug fix: AWS: Add missing AMI for ap-southeast-2 region
  • Bug fix: REST API bugs with various calls
  • Bug fix: REST API Update application active version
  • Bug fix: Namespace for the SPS API not getting set correctly
  • Bug fix: Fixed a bug with updating the signaling server config map
  • Bug fix: REST API correctly returning endpoints for the signalling server/frontend for applications with an active version
  • Bug fix: Fixed an issue with creating an SPS version with credentials
  • Bug Fix: Correctly map REST API HTTP custom container image to the SPS Application HTTPS server
  • Bug fix: SPS client UpdateRetryApplication and UpdateRetryVersion were overriding pointers and causing values to be reset
  • Bug fix: Post Install demo application was not correctly getting set to active
  • Bug fix: Emtpy sps config when requesting certficates
  • Bug fix: Detect os not updating the version platform
  • Bug fix: VersionAll endpoint now correctly deletes all versions of an application
  • Bug fix: Helm post upgrade was failing due to no ice servers existing in spsconfig
  • Bug fix: Added a lower limit to the validate min max
  • Bug fix: Fixed updating the signalling server config
  • Bug fix: Fixed resetting of the image pull secrets
  • Bug fix: Remove debug println for scheduler
  • Bug fix: Helm chart installing incorrectly on CoreWeave
  • Bug fix: REST API patch not validating
  • Bug fix: REST API HTTP endpoints were not returned for versions with custom frontends
  • Bug fix: Add missing struct tags
  • Bug fix: Container Get info function nil
  • Bug fix: REST API cloud custom parameter schema returning with escaped characters
  • Bug fix: Fixed an issue with helm post upgrade job
  • Bug fix: Fixed preventing the updating of the SPS version
  • Bug fix: Refactored the handling of the detect OS job and removed host networking for the job locally
  • Bug fix: Active Version endpoint were not getting generated
  • Bug fix: Default resources were being calculated incorrectly
  • Bug fix: Helm post-upgrade hook would hang forever if application has Failed status
  • Bug fix: REST API fix ForceDelete so it works properly
  • REST API: Set the default value of input type to imageTag
  • REST API: Restruced the generation of the REST API errors
  • REST API: Change the return message for an unauthenticated request
  • REST API: Implemented the use of a token in the header for authentication
  • REST API: Added handling of error authentication response
  • REST API: Added missing fields to application skeleton
  • REST API: Added missing fields to version skeleton
  • REST API: Add validation to ensure that we have ice servers if peerconnectionoptions are supplied
  • REST API: Added checking if the resources requests and limits are empty
  • REST API: Add validation to the version name to prevent a blank version name and a version name with less than 2 characters
  • REST API: Use the correct operating system name for the error message associated with capabilities
  • REST API: Removed redundant GET call from the kubernetes cache
  • REST API: Improved blob error message on unsupported platforms
  • REST API: Schema documentation and wording updates
  • REST API: Remove “application not found” error during a delete action
  • REST API: Changed the way credentials are handled on the REST API so that they are no longer REQUIRED!
  • IBT: Added a fix for the image build job where it was failing to read the results of a build due to an invalid filename

v0.10.2

  • REST API: Refactor and bug-fix for os platform identification during version creation
  • HELM: Bug-fix: Helm post-upgrade hook would hang if application has Failed status
  • HELM: Bug-fix: Default value of frontendToSendOffer will now be set to true

v0.10.1

  • All: Bug-fix for broken validation in the dashboard on certain fields
  • AWS: Bug-fix for the demo installing even if no demo was selected at installation time
  • AWS: Bug-fix to update third party base container resulting in failed image builds
  • Dashboard: Bump to v0.2.12
  • Image Builder: Bump to v0.1.9

v0.10.0

  • All: Added Horizontal Pod Autoscaling (HPA) for control plane components
  • All: Added frontendToSendOffer property to enable the frontend sending the WebRTC offer
  • All: Added EngineVersion functionality to the REST API
  • All: Modified WebRTC handshake to enable sending offers from UE for Linux applications >= 5.0
  • All: Fixed node informer incorrectly calculating number of nodes
  • All: Fixed a coturn security vulnerability allowing external entity into internal network
  • All: Fixed operator locking on coturn
  • All: Added instance customisation support for custom user data passed in from the frontend
  • All: Moved operator and REST API to single frontend deployment
  • All: Implemented liveness probes for SPS resources
  • All: Made signalling server logs more verbose by logging send/receive messages between the instance and player
  • All: Added a post-install hook to the helm chart for all cloud platforms and moved the demo application to install via the post-install hook
  • Framework: Added min/max replicas config option for the frontend, REST API, signalling server, instance manager and auth plugins
  • Framework: Updated reasonable default values for control plane components
  • Image Builder: Implemented a fix for the forked version of go-containerregistry resulting in extremely high memory usage for Windows projects
  • Image Builder: Bug-fix where use of a relative path would prevent a container from being pulled and fail with a ‘cannot access file or directory message’
  • Signalling Server: Moved config to configmap and added watch for changes, if a coturn server restarts, update signalling server config with new coturn server information
  • Signalling Server: Now sends a deallocate message when the ping/pong to the frontend fails instead of just disconnecting the websocket
  • Signalling Server: Updated the signalling server and instance manager to pass the player ID to the instance customisation plugin
  • AWS: Updated AWS application limit
  • AWS: Updated the AMI IDs used for Windows nodes
  • AWS: Installed a metrics server on the EKS cluster as part of the AWS Installer
  • AWS: Updated SPS to accommodate AWS Elastic Load Balancing API security layer change
  • AWS: Added an SPS Config option certificateArnList to hold the certificate ARNs for custom domains on AWS
  • AWS: CloudFormation stacks are now deleted cleanly after upgrading K8S version
  • AWS: Added storage class for Windows to the AWS helm chart
  • AWS: Fixed issue with file upload from the REST API throwing errors due to the image build file upload server not being ready
  • AWS: Upgraded Kubernetes version to 1.26
  • AWS: Increased the default resources for g4dn.xlarge instance types
  • AWS: Bug-fix to add missing permissions to the REST API role that prevented deletion of instances
  • AWS: Bug-fix for the AWS installer duplicating the values file - it now uses the values file provided by the Helm chart
  • AWS: Added an SPS Config option certificateArnList to hold the certificate ARNs for custom domains
  • CoreWeave: Added support for upgrading SPS via Helm upgrade hooks
  • CoreWeave: Improved install script for CoreWeave and delete old CoreWeave build-chart.sh script
  • CoreWeave: Restored CRD Components to enable backwards compatibility with previous versions
  • CoreWeave: Bug-fix for REST API crash that occurred when selecting a GPU without selecting a Region when overwriting CloudParameters
  • CoreWeave: Bug-fix for CloudParameters validation failing to catch an empty hardware object, causing the Operator to crash when reconciling
  • CoreWeave: Added validation for updating an Application with CloudParameters
  • CoreWeave: Updated the sps-frontend-assets ingress to serve all regions
  • REST API: Added healthz endpoint to probe for REST API health
  • REST API: Added validation to the sps config when updating via the REST API
  • REST API: Added new auth endpoint to the REST API that takes an accessKey in the header and authenticates it
  • REST API: Restricted character length of combined Application name and Version name to 20 characters
  • REST API: Added Application and Version JSON skeleton endpoints to simplify CLI deployment and add validation to the resources
  • Frontend: Unified the frontend to deploy the same frontend across all cloud platforms
  • Frontend: Updated helm charts to deploy the SPS frontend at install
  • Frontend: Added frontend assets paths to the Application ingress in the event that a custom domain has been used for an Application
  • Frontend: Added affinity to the sps-frontend deployment to ensure that it only schedules on Linux nodes
  • Frontend: Bumped frontend to v0.3.3
  • Dashboard: Fixed issue where the demo Application was not having the ‘noop’ auth type set, causing issues when attempting to update it via the Dashboard
  • Dashboard: Updated the dashboard dockerfile to use a more recent base image that has a more up-to-date version of NPM etc.
  • Dashboard: Bumped dashboard version to v0.2.11
  • Workflow: Added a GitHub actions workflow that does a test build of the framework for pull requests
  • Workflow: Added a test to ensure that volumes and volume mounts work for instance customisation
  • Bug-fix: Detecting container OS when creating a version was failing, allowing the creation of versions with unsupported platforms
  • Bug-fix: Disabled the use of fences in UE until a fix for fencing is implemented on the UE side as it causes poor stream spikes
  • Bug-fix: Fixed handling of active Version for an Application to enable the application to be reconciled when switched to the “New” status

v0.9.10

  • Frontend: Now consumes EpicGames frontend library
  • Frontend: Bump the frontend to v0.2.5
  • Dashboard: Bumped Dashboard Version to v0.2.5
  • AWS: Fixed helm chart roles for the REST API
  • AWS: Update storage volume size on Windows nodes from 10
  • AWS: If using Route53 under the same AWS account to host the custom domain, the required DNS record CNAME entries will be added to the hosted zone for TLS (this includes dashboard access and any applications made thereafter that also use the a custom domain hosted in Route53)
  • AWS: Managed node groups for Windows was recently supported for EKS. We’ve now updated how we handle our Windows nodes to take advantage of this
  • Signalling Server: Add a deallocation request whenever a player disconnection is detected
  • Signalling Server: Added a deallocation request when a rare player route is disconnected to hopefully catch states where the signalling server is not sending deallocate requests to the instance manager
  • REST API: Demo Application - Added owner reference to the version
  • REST API: Added correct roles to the helm chart install
  • REST API: Sort the resources before they are returned from the REST API
  • REST API: Returns Date created and last updated on SPS Resources (v1Application,v1Version,v1Instance)
  • REST API: Running instances now returns the deployment name instead of the pod name as the instance name
  • REST API: Operator: All components that use the file upload (service, persistent volume claims and job) to use the prefix of sps-file-upload
  • REST API: Allow cors origin to come from anywhere for patch requests
  • REST API: Can now delete multiple applications in a single API call
  • REST API: Can now delete multiple instances in a single API call
  • REST API: Added created and modified timestamps to application, version and instances resources from the API
  • All: Detect OS now makes use of the informer cache
  • All: Demo application now parents the demo version
  • All: We now have an additional service ‘Cloud Keeper’ that will monitor orphaned instances and terminate them
  • All: The demo application has been taken away from the Helm chart and is now installed programmatically
  • All: Fixed an issue with MaxFPS not working for UE 5.x
  • All: Dashboard is now built for specific Cloud Platforms
  • All: If resources are empty on the CRD, use the defaults set out by the framework
  • All: Fix a bug in OAuth2 plugin where it was incorrectly loading config files
  • Image Build: Bumped Image Builder Version to v0.1.4

v0.8.4

  • All: Bug Fix: Volume mounts were not being passed correctly from the CR to the operator
  • All: Application names must now be a minimum of two characters in length, to avoid ECR repository errors on AWS caused by single-character names.
  • AWS: Fix overprovisioning for Windows so that the pause pod actually allocates a network IP and schedules correctly.

v0.8.3

  • CoreWeave: Bug Fix: TURN pod was not getting a public IP assigned to it, therefore traffic was unable to access the TURN server

v0.8.2

  • AWS: Bug Fix: Instance types were incorrectly being assigned for Linux, causing default resources to be off
  • ALL: TURN was broken due to using incorrect ports, now fixed
  • Update dashboard to v0.1.4
  • All: Apply fix for demo application by installing the version first, then application

v0.8.1

  • AWS: Bug Fix: mutli-tenancy was broken due to incorrect marshalling
  • CI/CD: Numerous bug fixes

v0.8.0

  • Updated dashboard to v0.1.3
  • Dashboard: Complete rework. Now has support for managing applications and versions and a better summary of running applications.
  • AWS: Cross-reference the availability zones with the instances types (for both linux and optionally windows instance types) and select two of the availability zones that match the criteria at install time
  • AWS: Clean up storage volumes associated with cluster on removal of the SPS CloudFormation stack
  • AWS: Fix a few bugs in the node informer where it would miss labelling a node if there was a conflict
  • AWS: HTTP server and API server are now DaemonSets
  • CoreWeave: Fixed affinity issues with UE instance pod so that preferred GPU and region selections work correctly, with assignable weights for a custom solution
  • CoreWeave: Fixed the validation warning for SPS control plane pods, by making requests and limits use the same value
  • CoreWeave: Make the demo application for CW deploy in the region that they’re deploying SPS in
  • All: Update HELM charts
  • All: Update ScalablePixelStreamingApplication and ScalablePixelStreamingVersion CRDs, removing fields we no longer need on the CRDs
  • All: Ensure that sps-application pods do not automount the default serviceaccount as they do not hit the kubeapi
  • All: Change our gRPC timeout from 60 seconds to 5 minutes
  • All: Remove the SPSApp custom resource entirely as our direction for the usage of this CR has changed. A UE instance is a Deployment resource.
  • All: Update frontend to version to v0.1.4
  • All: Auth plugin endpoint is now being passed on from the REST API through to the operator, allowing custom auth plugins to be supplied
  • All: Better pending messages to the frontend providing more insights to the end user as to what is happening when they’re waiting for their instance
  • All: Refactor of the operator
  • All: Refactor of the instance manager
  • All: New release pipeline using GitHub Actions
  • All: Implemented kube-API server caching using informers to reduce load on kubernetes control plane.

v0.7.0

  • Updated dashboard to v0.0.2
  • Public API for instance customisation (https://github.com/ScalablePixelStreaming/APIs)
  • AWS: Bug Fix: The certificate manager to get a resource before updating
  • AWS: Implemented GPU Time slicing to SPS, number of instances set per GPU node is set via the GPU Instances per node Option
  • AWS: Windows autoscaling of nodes
  • AWS: Improved handling of config for the AWS lambdas
  • All: Added environment variables to be passes through to the running instance
  • All: Added the ability to set the a volume from a created persistent volume claim
  • All: Bug fix: When using a container registry with credentials, the detection of the OS would fail due to those credentials not being used for that call
  • All: Improved labeling on our pods to match kubernetes recommended labels
  • All: we now prefix all sps-specific labels on our pods/deployments with sps.tensorworks.com.au

v0.6.6

  • All: Fixed a bug in the signalling server that would cause it to crash if a ping/pong from the frontend was missing
  • All: Update frontend version to v0.1.3

v0.6.5

  • AWS: Fixed incorrect defaults for varying instance types
  • REST API: Added clean up if a version fails to create
  • REST API: We now create the detect OS job after we create the version, so we can assign an ownership to the detect OS job and pods
  • All: Updated helm charts
  • All: Update frontend version to v0.1.2

v0.6.4

  • All: OS detection container will now build in the pipeline for all platforms

v0.6.3

  • AWS: Fixed a bug where the correct default attributes for AWS were not being set by instance type
  • AWS: Stun-only clusters were not working for Linux containers. This has been fixed
  • AWS: The ALB controller now has a node selector applied so that it will only run on Linux nodes.
  • AWS: Fix AWS ingress so that the images on the frontend work correctly.
  • All: Update dockerfiles to use new binary pathing for the –release build
  • All: Added an extra orphaned instance check, when the IM connects to the SS now it will check for UE pods for the given application and remove orphans that have no existing SS GUID present
  • REST API: We now return an applications resources being used (CPU and Memory limits) in the application read and info calls of the REST API
  • REST API: Add support for spawning a job to do OS detection on the container tag if supplied
  • REST API: Runtime capabilities has been updated to reflect correct capabilities for all supported platforms

v0.6.2

  • AWS: Make availability zones auto-applied based on selected install region
  • AWS: Windows support is now multi-region
  • CoreWeave: Demo application now uses the correct ingress hostname

v0.6.1

  • All: Fix dashboard CI pipeline image

v0.6.0

  • AWS: Added support for experimental Windows nodes
  • AWS: Improved how the load balancer behaves with target groups to prevent intermittent timeouts due to mis-configured target groups
  • AWS: Added new deployment node informer that will apply GPU nodes with the necessary labels needed to remove them from target groups
  • AWS: Fixed a bug where an uppercase letter used in the CloudFormation stack name would break install
  • AWS: http server, api server, dashboard all DaemonSets to suit the necessity of target groups
  • AWS: New Dashboard URL is now displayed in the outputs of the CloudFormation stack
  • All: A demo application is now shipped by default and can be disabled during install
  • All: The operator will now only update an application status to ‘Running’ when it can successfully ping the websocket ingress
  • All: Pods now have affinity applied based on the OS they need to run on
  • All: Improved default values for resource requests/limits for Unreal application pods based on selected hardware they are deployed on
  • All: New feature: Dashboard, can now access a dashboard using the REST API access key for information regarding deployed applications
  • All: Signalling server now sends a ping to the frontend every 60 seconds and if it does not receive a pong back, it will terminate the running application associated with it
  • Image build: Application OS will now attempt to be retrieved automatically from the application with both build and tags
  • REST API: Running instance status now display terminating if a pod ue application is getting deleting instead of running
  • REST API: Updating the past active version will now try 5 times to update before returning an error
  • REST API: Will now detect the OS of the from the container tag when creating a version
  • REST API: Bug fixed log output to show version name instead of a pointer value

v0.5.4

  • All: Running instance pods that contain the UE app now includes labels spsApplication and spsVersion with the name and version of the application that was responsible for creating the pod
  • All: Fix issue where if a version was deleted or an active version was set to an empty string, the control plane components would not tear down
  • All: Previous versions that were once active are now saved against the application along with timestamps. These previous versions are viewable in the application read command of the CLI tool
  • All: The operator will now set a new application to status New and then wait for an active version, rather than leaving the status blank and accepting that as a “New status”
  • REST API: Fixed a bug where the active version was not able to be set to an empty string via the CLI tool
  • REST API: v1ActiveVersion has been renamed to v1ApplicationInfo in the REST API schema
  • REST API: v1ApplicationInfo displays the active version name and status
  • REST API: v1ApplicationInfo displays the Application name and status
  • REST API: v1Application and v1ApplicationInfo returns the running instances name and status

v0.5.3

  • CoreWeave: Update the ingress and services to use the default region selected when installed via kubeapps by default. Will override with cloudProviderParams or fall back to pre-defined constant if both failed to be retrieved
  • CoreWeave: Remove REST API section from kubeapps schema and improve definitions of fields on the kubeapps installation form

v0.5.2

  • All: Set default CPUs for an application to 3
  • All: HTTP enabled by default was switched to disabled by default, the way it was meant to be
  • All: Upgrade the frontend version of SPS to v0.0.5
  • CoreWeave: Fix an issue with TLS issuing certificates over one another
  • CoreWeave: Rest API now applies the correct region when building the ingress hostname

v0.5.1

  • CoreWeave: Ensure that an application can bypass CreatingTurn by ensuring the call to RequestCertificate on non-AWS platforms just jumps straight to CreatingFramework phase

v0.5.0

  • AWS: Now using the AWS ALB Load Balancer instead of the Classic Load Balancer
  • AWS: ALB now installs with a single replica for the controller to prevent additional nodes being required for the ALB controller
  • AWS: AWS logging now installed in its own namespace
  • AWS: SPS now installs into the default namespace by default
  • AWS: Added support to create/delete dev clusters using aws/spsctl
  • AWS: The cluster name is no longer requested on the CloudFormation web UI form and will now just use the stack name
  • AWS: No longer install ingress nginx
  • AWS: No longer build a shared dependency layer and instead embed our dependencies inside the versioned aws lambda binary
  • AWS: CloudFormation stack has been reduced to a single stack with CDK logic replacing the cluster creation
  • AWS: Now supports image building and pushing built containers to the ECR registry using the ‘blob’ type and –archive flags on the sps cli
  • AWS: We now support ACM certificates for the ALB and DNS validation for the REST API and applications when a custom domain name is used
  • COREWEAVE: Added an anti-tampering check to the instance manager
  • REST API: Image builder has been implemented on the /v1/application/{applicationName}/v1/versions/{versionName} endpoint
  • REST API: Refactor of the rest api has been completed
  • REST API: The schema version of the rest api has been changed to 2
  • REST API: Improved Logging
  • All: HTTP server to now use nginx instead of python for its webserver
  • All: Add support for the frontend dockerfile to build from dev correctly now
  • All: Upgrade the frontend version of SPS to v0.0.4
  • All: Resource names for SPS have been improved by removing redundant descriptions (e.g. removing -deployment from deployment resources)

v0.4.2

  • CoreWeave: Updated json schema file for kubeapps
  • CoreWeave: Updated the operator config to use common values for the cpu/regions coming in for framework components

v0.4.1

  • CoreWeave: Fix turn servers for LGA1
  • CoreWeave: Updated the json schema file for kubeapps
  • CoreWeave: Application ingress now accepts an additional cloud platform parameter; ingressRegion, allowing to set the region used for ingress per application
  • Frontend: iOS sound fix
  • Frontend: Updated to 0.0.3

v0.4.0

  • All: A turn server (coturn) is now supplied with SPS and is enabled by default. Each application deploys its own turn server
  • All: Runtime Options can now be supplied for a version, allowing custom args to be passed to the pixel streaming application
  • All: Operator logging has been improved to make it much more readable, specifically when dealing with multiple applications
  • All: The CRDs now show updated status’ (both application and version) as they are reconciled
  • All: Plugins have been moved from the application version over to the application itself
  • AWS: TLS support when using a custom domain name using lets encrypt
  • AWS: Log monitoring tools are now shipped with the AWS deployment of SPS
  • REST API: Bug fix the application info endpoint was not retuning the correct http address from the ingress
  • REST API: If you delete a version that is the active version it will set the active version to nothing
  • CoreWeave: The coreweave chart now uses LGA1 as the default region
  • CoreWeave: The values.schema file has been modified with fixes for compatibility
  • CoreWeave: A bug was fixed in the operator and rest-api deployments where memory requests were not being applied correctly
  • Frontend: The autoplay and normal play feature will work on all browsers
  • Frontend: The sound will now play upon clicking the play button
  • Frontend: Touch has been refined and fixed
  • Frontend: The Force TURN feature has been implemented
  • Frontend: A restart stream button has been implemented
  • Frontend: The overlay for the example has been revamped
  • Frontend: Hovering mouse and pointer lock mouse have been implemented
  • Frontend: Unnecessary features have been removed
  • Frontend: The frontend library has been cleaned out and formatted

v0.3.1

  • AWS: Bug fix: There was a typo in a number of the GPU node offerings which have now been fixed

v0.3.0

  • AWS: Updated the default and minimum instance type to t3.large for AWS cpu nodes
  • REST API: Updates to terminology on the different available options
  • CoreWeave: Updated the json schema file to take default gpus
  • CoreWeave: Updated the json schema file to take regions and cpus as arrays
  • CoreWeave: Updated the json schema file headings and names to better reflect usage
  • CoreWeave: Add support for TLS for the REST API ingress
  • AWS: Update the default hard disk size for a GPU node to 100gig
  • AWS: Change the REST API ingress so that it does not conflict with Kibana
  • AWS: Change default CPU instance type to t3.large
  • AWS: Set the default timeout for an application to 20 minutes
  • AWS: Update the naming of “password” to “access key” on cloudformation templates
  • HELM: Added monitoring tools (elasticsearch, fluentd and kibana) to the AWS helm chart
  • CI: The HTTP server container image now clones the frontend gitlab repo and webpacks it. It also now shows the version of SPS
  • REST API: The /v1/application/{applicationName}/activeVersion endpoint will return the correct host name for the Http Server and the WebSocket
  • REST API: Added a /v1/healthz endpoint to act as a connection checker
  • REST API: Added a DELETE Method to the /v1/application endpoint to delete all deployed Applications

v0.2.4

  • CoreWeave: Updated the json schema file to take default gpus
  • CoreWeave: Updated the json schema file to take regions and cpus as arrays
  • CoreWeave: Updated the json schema file headings and names to better reflect usage
  • The rest api password was renamed for better reflection of usage

v0.2.3

  • CoreWeave: Updated the helm chart to make use of anchors for overriding values in the values file
  • CoreWeave: Updated the json schema file for the modified changes
  • Update modified chart names so they are more inline with better naming conventions

v0.2.1

  • Bug fix: AWS is now using ASG tags and nodegroup names to scale up from 0 when using multi-tenancy

v0.2.0

  • Bug fix: REST API password on AWS now passes through to the cluster correctly
  • AWS: Updated the way pods are scheduled between cpu and gpu nodegroups (now uses node affinity)

v0.1.4

  • Bug fix: Azure and CoreWeave failed to build due to incorrect function names

v0.1.3

  • Bug fix: AWS instance manager still had incorrect tolerations set

v0.1.2

  • Bug fix: AWS was using the incorrect tolerations for the framework it builds via the operator

v0.1.1

  • Bug fix: Updated AWS instance manager to include the “-aws” tag at the end of the container tag

v0.1.0

  • Initial release