This project consists of three main components:
infra
): The infrastructure code for the central framework that will ingest and host the modernisation reportsshipper
): An Azure Function that CI/CD processes can submit modernisation json files toreport
): A Power BI report that provides insights and analytics over submitted modernisation reportsThe infra/
directory contains the infrastructure code for deploying the project. It includes configuration files, scripts, and templates for provisioning the necessary resources on the cloud platform.
Key resources created are:
The deployment and the resources being deployed leverage Azure User Managed Identities to ensure that the resources are deployed securely. You can use the Github workflow with a provisioned OIDC connection to deploy to Azure or you can use the Azure CLI to deploy the bicep. To provision OIDC connections for GitHub Actions, you can follow the instructions provided in the GitHub Actions documentation.
The shipper/
directory contains an Azure Function that different CI/CD processes can submit their modernisation results to. Currently this will yield an API that will accept a PUT request with the modernisation results in the body and CI/CD metadata in the url parameters. The Azure Function will then store the results in an Azure Storage Account for the report to show the results of.
More info on changing this Function at Developing functions locally
The report/
directory contains a Power BI report project. The goal of this is to provide a starter report that allows you to understand modernisation needs and velocity. You are able to modify this report to meet your individual organisation’s needs.