To resolve vulnerabilities identified in the existing .NET base image, cpu's backend was updated to .NET 8 and its related dependencies were updated to versions compatible with the respective .NET version. However, during this process, efforts were made to also reduce and simplify the image creation process. This was achieved by migrating the existing s2i process to Docker.
However, the existing Angular version (7) and underlying Node version (8.9.4) were outdated and no Microsoft .NET 8 SDK image existed that could support these legacy versions. To resolve this, the decision was made to transition cpu's monolithic architecture to a modern headless architecture (the frontend and backend are separate layers). This enables the backend to be updated without having to introduce additional scope from updating the front-end, which should be updated a later date.
Background
To resolve vulnerabilities identified in the existing .NET base image,
cpu
's backend was updated to .NET 8 and its related dependencies were updated to versions compatible with the respective .NET version. However, during this process, efforts were made to also reduce and simplify the image creation process. This was achieved by migrating the existings2i
process to Docker.However, the existing Angular version (
7
) and underlying Node version (8.9.4
) were outdated and no Microsoft .NET 8 SDK image existed that could support these legacy versions. To resolve this, the decision was made to transitioncpu
's monolithic architecture to a modern headless architecture (the frontend and backend are separate layers). This enables the backend to be updated without having to introduce additional scope from updating the front-end, which should be updated a later date.Associated Ticket
VS-6795
Checklist
Dockerfile
for each application service layerui
(frontend)api
(backend)Deployment
manifest templates for each service