- Product owner:
- Business area:
Lorem ipsum dolor sit amet. Qui consequuntur repudiandae et tempore modi ut cumque Quis id veniam sint ea perspiciatis quasi et Quis voluptatem qui architecto explicabo. Ex fugiat quia et quam dolores et minima omnis a illo dolor. Non assumenda saepe sed quia tempore qui dolorem molestias et laudantium praesentium id molestiae ipsa. Eum quam eaque in corrupti delectus ut adipisci distinctio 33 omnis accusamus.
The application is split between the frontend app hosted in Fusion, and the backend app hosted in Radix. Authentication is based on RBAC, where we have different app registrations for preproduction and production with are consented to access Fusion Preprod or Fusion Prod.
Snyk surveillance has been added to the project for continuous monitoring of the code and its dependency.
Azure App Configuration provides a service to centrally manage application settings and feature flags. It allows us to change configuration directly in Azure for all environments. Combined with Azure Key Vault it also combines a secure place to store secrets and connection strings.
Omnia Radix is a Equinor PaaS (Platform as a Service) based on AKS to build and run docker containers. You can either make Radix build your container directly, or pull the container from a container registry. For Spine Datasheet API the image is built in Github Actions, and pushed to Azure Container Registry. Radix pulls the image corresponding to release stage.
Configuration of the required infrastructure is placed in a radixconfig.yml, which defines the different components and environments which are created. Runtime variables and secrets are also defined in radixconfig.yml. The DCD config is placed in a separate git repo.
The backend is dotnet webapi built with .NET 6 which provides a REST interface for the frontend. Swagger has been installed to provide documentation for the API, and to test functions. The backend retrieves and stores data in a Azure SQL Database for each environment.
Create a file backend/api/Properties/launchSettings.json
with the provided
template file. You need to populate the app configuration connection string
(navigate to azure portal, find app configuration resource, navigate to
settings -> access keys), and choose an AppConfiguration Environment (dev
for
local development at time of writing).
Finally, to be able to use secrets referenced in the app config, you need to
authenticate yourself on the command line. Get a hold of the azure CLI
az
and run az login
in the command line. NB: You will need to use a browser for the
authentication, as far as I know.
Then, to start the backend, you can run
cd backend/api
dotnet run
We have 3 different environments in use; dev, qa and prod. Dev is built when pull requests are merged to main.
Spine Datasheet API is developed by the It's a Feature team in TDI EDT DSD EDB.
The following diagrams have been created using PlantUML.
System context diagram for the Spine Datasheet application.
Container diagram for the Spine Datasheet application.
AD groups that can view data (AccessIT groups work in progress)
Name | Description | User types | How to check |
---|
Abbreviation examples for Azure resources Conventional Commits Semantic Versioning