Installation
Complete guide for deploying Bifrost to Azure infrastructure using ARM templates and Azure CLI
Prerequisites
Section titled “Prerequisites”Before deploying to Azure, you need an active Azure Subscription.
Required Permissions
Section titled “Required Permissions”Your Azure account needs these permissions:
- Create resource groups
- Create storage accounts
- Create function apps
- Create key vaults
- Create application insights
- Create static web apps
Overview
Section titled “Overview”The ARM template creates the following Azure resources:
- Azure Functions (Flex Consumption Plan) - Serverless backend runtime
- Storage Account (Standard_LRS) - Tables and file storage
- Azure Key Vault - Secure secrets management
- Application Insights - Performance monitoring and diagnostics
- Static Web App - React frontend hosting
Infrastructure Setup
Section titled “Infrastructure Setup”Entra App Registration
Section titled “Entra App Registration”-
Login to Entra.
-
Navigate to App Registrations.
-
Click New Registration.
-
For the name, put whatever you want like
Bifrost IntegrationsorMyMSP Automation. -
For the account types, select Multitenant unless you do NOT have customers or partners that need to login and run forms.
-
For the Redirect URI, select Web as the platform and type in the URL you intend to use for the application. This can be changed later. Example:
https://bifrost.mydomain.com/.auth/login/aad/callback
-
-
Under Overview, copy your Application ID. You’ll need this later.
-
Under Certificates & Secrets, create a new client secret and copy this to your password manager along with the Client ID. You’ll need this later.
-
Under Authentication, enable ID tokens.

-
Under API Permissions, grant admin consent.

Azure Subscription
Section titled “Azure Subscription”-
Open up the Cloud Terminal.
-
Enter this command:
Terminal window az provider register --namespace Microsoft.OperationalInsights
Deployment
Section titled “Deployment”Because we’re using Azure Functions Flex Consumption plans, there’s only one way to deploy the application.
-
Fork the API and Client repository.

-
Create your GitHub Personal Access Token and save it to your password manager.

-
Use the below Deploy to Azure button to automatically setup all of your resources. Azure will ask you for the Entra ID Client ID and Secret you created above.
-
Go to Azure Function App in Azure. On the Overview page, click Get Publish Profile.

Copy the contents of the downloaded XML content to your clipboard.
-
Go to your Bifrost API repository in GitHub → Settings → Secrets and variables → Actions.
-
Click New repository secret.

-
Add these secrets:
Name Value Description AZURE_FUNCTIONAPP_NAMEbifrost-api-xxxxxYour Function App name AZURE_FUNCTIONAPP_PUBLISH_PROFILEXML from step 1 Publish profile for authentication -
Once added, you can go to Actions. You can either rerun the failed workflow in there, or open up the Azure Deploy one and manually run it.

-
Once complete, you should see a list of functions in your Azure Function.

-
Add a custom domain to your Static Web App. This should match the domain you selected for your App Registration. If it doesn’t, you’ll need to update it on the App Registration before you login.

- Login to your application. As the first user, you will be a Platform Admin. Future users will only be able to login if you have added them as a Platform Admin manually or their domain matches an organization’s domain.