- Product owner: Atle Svandal
- Business area: Early phase concept studies
The application supports collecting time series values for cost profiles for offshore facilities, exploration, drilling (well) and volume profiles for drainage stragegy and creating these as assets on business cases to be compared for projects.
Runbook is found in this repo.
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. from the dcd directory, run the follwing command to perform the tests:
Playwright is used for e2e testing the various major user flows. As the application uses 2 factor authentication, you need to manually log in to the application to save the session. To do so, follow these steps:
cd tests node setup.js
After running the command, a browser window will open. Log in to the application and complete the 2 factor authentication. then close the browser window. The session will be saved in the config.json file. For security
npx playwright test –ui
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 DCD the image is built in Azure Devops, 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.
DCD is developed by the It's a Feature team in TDI EDT DSD EDB. Development was started by the Shellvis team. As of november 2022, the team is a Sopra Steria only team.
The application consists of a github monorepo for frontend and backend, and a single repo for Radix Configuration. All code changes to main branch should come as a pull request from a github fork.
There is a project in Azure Devops for DCD where user stories and tasks are defined, but also build and release pipeline are hosted.
The following diagrams have been created using PlantUML.
System context diagram for the DCD application.
Container diagram for the DCD application.
AD groups that can view data (AccessIT groups work in progress)
Name | Description | User types | How to check |
---|---|---|---|
Project Users | Read/write access to app | Employees, external hire, consultants | ConceptApp Users, fg_2S_IAF, fg_PRD EP CD VALU |
Read Only User | Only able to read all information in app | Employees, external hire, consultants | Currently no groups |
Admin | Set/change specific settings in app | Employees, external hire, consultants | ConceptApp Admins, fg_2S_IAF |
Privilege requested | In-house developed applications | Scope |
---|---|---|
Application API permissions (App to App). | Application: API Owner: Team IAF, Data Owner: Atle Svandal | Sites.Read.All, user_impersonation |