# prometheus-n/bifrost_new architecture

> Architecture diagram of the GitHub repository prometheus-n/bifrost_new, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/prometheus-n/bifrost_new
- Repository: https://github.com/prometheus-n/bifrost_new

## Overview

BIFROST_NEW is a JSON-driven Azure infrastructure deployment repository. The documented workflow takes a manual GitHub Actions dispatch, reads configured resource collections, maps each object to Bicep parameters, runs What-If, then deploys resources to Azure. The graph preserves the documented resource-module catalog and authentication stage; source excerpts were not provided, so relationships rely on README statements rather than inspected implementation calls.

Main entry points: [`.github/workflows/deploy.yml`](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml) (PowerShell parameter mapping), [`input.json`](https://github.com/prometheus-n/bifrost_new/blob/main/input.json) (Deployment JSON), [`modules/networking/nsg.bicep`](https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/nsg.bicep) (Network security group), [`modules/networking/routetable.bicep`](https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/routetable.bicep) (Route table)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_config["Configuration"]
  node_input["Deployment JSON<br/>[input.json]"]
end

subgraph group_orchestration["Deployment orchestration"]
  node_workflow["GitHub Actions workflow<br/>[deploy.yml]"]
  node_prechecks["Prechecks<br/>[deploy.yml]"]
  node_oidc["Azure OIDC login<br/>[deploy.yml]"]
  node_mapping["PowerShell parameter mapping<br/>[deploy.yml]"]
  node_params["ARM parameter files<br/>[deploy.yml]"]
  node_whatif["Azure What-If<br/>[deploy.yml]"]
  node_deployment["Azure deployment<br/>[deploy.yml]"]
end

subgraph group_networking["Network infrastructure"]
  node_nsg["Network security group<br/>[nsg.bicep]"]
  node_routes["Route table<br/>[routetable.bicep]"]
  node_vnet["Virtual network<br/>[vnet.bicep]"]
  node_subnet["Subnet<br/>[subnet.bicep]"]
end

subgraph group_platform["Platform resources"]
  node_rg["Resource group"]
  node_keyvault["Key Vault<br/>[keyvault.bicep]"]
  node_storage["Storage account"]
  node_sql["SQL server and database<br/>[sql.bicep]"]
  node_openai["Azure OpenAI<br/>[openai.bicep]"]
  node_vm["Virtual machine<br/>[vm.bicep]"]
end

subgraph group_azure["Azure targets"]
  node_azure[("Azure subscription and resources")]
end

node_operator(("Workflow initiator"))

node_operator -->|"dispatches"| node_workflow
node_input -->|"provides configuration"| node_mapping
node_workflow -->|"runs"| node_prechecks
node_prechecks -->|"precedes login"| node_oidc
node_oidc -->|"precedes orchestration"| node_mapping
node_mapping -->|"writes parameters"| node_params
node_params -->|"configures"| node_whatif
node_whatif -->|"precedes create"| node_deployment
node_mapping -->|"maps resource group"| node_rg
node_mapping -->|"maps NSG"| node_nsg
node_mapping -->|"maps routes"| node_routes
node_mapping -->|"maps VNet"| node_vnet
node_mapping -->|"maps subnet"| node_subnet
node_mapping -->|"maps Key Vault"| node_keyvault
node_mapping -->|"maps storage"| node_storage
node_mapping -->|"maps SQL"| node_sql
node_mapping -->|"maps OpenAI"| node_openai
node_mapping -->|"maps VM"| node_vm
node_deployment -->|"deploys resources"| node_azure
node_oidc -->|"authenticates to"| node_azure

click node_input "https://github.com/prometheus-n/bifrost_new/blob/main/input.json"
click node_workflow "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_prechecks "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_oidc "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_mapping "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_params "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_whatif "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_deployment "https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml"
click node_rg "https://github.com/prometheus-n/bifrost_new/blob/main/modules/RG/resourcegroup.bicep"
click node_nsg "https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/nsg.bicep"
click node_routes "https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/routetable.bicep"
click node_vnet "https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/vnet.bicep"
click node_subnet "https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/subnet.bicep"
click node_keyvault "https://github.com/prometheus-n/bifrost_new/blob/main/modules/security/keyvault.bicep"
click node_storage "https://github.com/prometheus-n/bifrost_new/blob/main/modules/storage/storageAccount.bicep"
click node_sql "https://github.com/prometheus-n/bifrost_new/blob/main/modules/database/sql.bicep"
click node_openai "https://github.com/prometheus-n/bifrost_new/blob/main/modules/ai/openai.bicep"
click node_vm "https://github.com/prometheus-n/bifrost_new/blob/main/modules/compute/vm.bicep"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_input toneBlue
class node_workflow,node_prechecks,node_oidc,node_mapping,node_params,node_whatif,node_deployment toneAmber
class node_nsg,node_routes,node_vnet,node_subnet toneMint
class node_rg,node_keyvault,node_storage,node_sql,node_openai,node_vm toneRose
class node_azure,node_operator toneIndigo
```

## Components

### Configuration

- [Deployment JSON](https://github.com/prometheus-n/bifrost_new/blob/main/input.json): `input.json`

### Deployment orchestration

- [GitHub Actions workflow](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`
- [Prechecks](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`
- [Azure OIDC login](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`
- [PowerShell parameter mapping](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`
- [ARM parameter files](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`
- [Azure What-If](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`
- [Azure deployment](https://github.com/prometheus-n/bifrost_new/blob/main/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`

### Network infrastructure

- [Network security group](https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/nsg.bicep): `modules/networking/nsg.bicep`
- [Route table](https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/routetable.bicep): `modules/networking/routetable.bicep`
- [Virtual network](https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/vnet.bicep): `modules/networking/vnet.bicep`
- [Subnet](https://github.com/prometheus-n/bifrost_new/blob/main/modules/networking/subnet.bicep): `modules/networking/subnet.bicep`

### Platform resources

- [Resource group](https://github.com/prometheus-n/bifrost_new/blob/main/modules/RG/resourcegroup.bicep): `modules/RG/resourcegroup.bicep`
- [Key Vault](https://github.com/prometheus-n/bifrost_new/blob/main/modules/security/keyvault.bicep): `modules/security/keyvault.bicep`
- [Storage account](https://github.com/prometheus-n/bifrost_new/blob/main/modules/storage/storageAccount.bicep): `modules/storage/storageAccount.bicep`
- [SQL server and database](https://github.com/prometheus-n/bifrost_new/blob/main/modules/database/sql.bicep): `modules/database/sql.bicep`
- [Azure OpenAI](https://github.com/prometheus-n/bifrost_new/blob/main/modules/ai/openai.bicep): `modules/ai/openai.bicep`
- [Virtual machine](https://github.com/prometheus-n/bifrost_new/blob/main/modules/compute/vm.bicep): `modules/compute/vm.bicep`

### Azure targets

- **Azure subscription and resources**

### Other components

- **Workflow initiator**

## Connections

- Workflow initiator → GitHub Actions workflow: dispatches (evidence: `README.md`)
- Deployment JSON → PowerShell parameter mapping: provides configuration (evidence: `README.md`)
- GitHub Actions workflow → Prechecks: runs (evidence: `README.md`)
- Prechecks → Azure OIDC login: precedes login (evidence: `README.md`)
- Azure OIDC login → PowerShell parameter mapping: precedes orchestration (evidence: `README.md`)
- PowerShell parameter mapping → ARM parameter files: writes parameters (evidence: `README.md`)
- ARM parameter files → Azure What-If: configures (evidence: `README.md`)
- Azure What-If → Azure deployment: precedes create (evidence: `README.md`)
- PowerShell parameter mapping → Resource group: maps resource group (evidence: `README.md`)
- PowerShell parameter mapping → Network security group: maps NSG (evidence: `README.md`)
- PowerShell parameter mapping → Route table: maps routes (evidence: `README.md`)
- PowerShell parameter mapping → Virtual network: maps VNet (evidence: `README.md`)
- PowerShell parameter mapping → Subnet: maps subnet (evidence: `README.md`)
- PowerShell parameter mapping → Key Vault: maps Key Vault (evidence: `README.md`)
- PowerShell parameter mapping → Storage account: maps storage (evidence: `README.md`)
- PowerShell parameter mapping → SQL server and database: maps SQL (evidence: `README.md`)
- PowerShell parameter mapping → Azure OpenAI: maps OpenAI (evidence: `README.md`)
- PowerShell parameter mapping → Virtual machine: maps VM (evidence: `README.md`)
- Azure deployment → Azure subscription and resources: deploys resources (evidence: `README.md`)
- Azure OIDC login → Azure subscription and resources: authenticates to (evidence: `README.md`)
