# prometheus-n/pike_infra_eaas architecture

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

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

## Overview

PIKE is a Bicep-based Azure infrastructure project. Its documented workflow is to review environment inputs, then use a manually triggered GitHub Actions deployment workflow that performs What-If before resource deployment. The modules cover resource groups, access control, networking, compute, data, security, and AI. Relationships below follow the README; source excerpts were not available, so module-level calls and deployment order are not inferred.

Main entry points: [`.github/workflows/deploy.yml`](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/.github/workflows/deploy.yml) (Deployment workflow), [`input.json`](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/input.json) (Environment input), [`modules/RG`](https://github.com/prometheus-n/pike_infra_eaas/tree/dev/modules/RG) (Resource groups), [`modules/RBAC`](https://github.com/prometheus-n/pike_infra_eaas/tree/dev/modules/RBAC) (RBAC assignments)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_deploy["Deployment"]
  node_environment["Environment input<br/>[input.json]"]
  node_workflow["Deployment workflow<br/>[deploy.yml]"]
end

subgraph group_foundation["Foundation and access"]
  node_resourcegroup["Resource groups"]
  node_rbac["RBAC assignments"]
end

subgraph group_network["Networking"]
  node_vnet["Virtual network<br/>[vnet.bicep]"]
  node_subnet["Subnets<br/>[subnet.bicep]"]
  node_appgwsubnet["Gateway subnet"]
  node_nsg["Network security groups<br/>[nsg.bicep]"]
  node_routes["Route tables<br/>[routetable.bicep]"]
  node_loadbalancer["Load balancer<br/>[lb.bicep]"]
  node_appgateway["Application gateway"]
end

subgraph group_workloads["Workloads"]
  node_vm["Virtual machines<br/>[vm.bicep]"]
  node_sql["SQL database<br/>[sql.bicep]"]
end

subgraph group_services["Platform services"]
  node_storage["Storage account"]
  node_keyvault["Key Vault<br/>[keyvault.bicep]"]
  node_openai["Azure OpenAI<br/>[openai.bicep]"]
end

node_operator(("Operator"))
node_azure["Azure subscription"]

node_operator -->|"reviews"| node_environment
node_operator -->|"manually triggers"| node_workflow
node_workflow -.->|"uses configuration"| node_environment
node_workflow -->|"runs What-If and deploys"| node_azure
node_workflow -.->|"deploys modules"| node_resourcegroup
node_workflow -.->|"deploys modules"| node_rbac
node_workflow -.->|"deploys modules"| node_vnet
node_workflow -.->|"deploys modules"| node_subnet
node_workflow -.->|"deploys modules"| node_appgwsubnet
node_workflow -.->|"deploys modules"| node_nsg
node_workflow -.->|"deploys modules"| node_routes
node_workflow -.->|"deploys modules"| node_loadbalancer
node_workflow -.->|"deploys modules"| node_appgateway
node_workflow -.->|"deploys modules"| node_vm
node_workflow -.->|"deploys modules"| node_sql
node_workflow -.->|"deploys modules"| node_storage
node_workflow -.->|"deploys modules"| node_keyvault
node_workflow -.->|"deploys modules"| node_openai

click node_environment "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/input.json"
click node_workflow "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/.github/workflows/deploy.yml"
click node_resourcegroup "https://github.com/prometheus-n/pike_infra_eaas/tree/dev/modules/RG"
click node_rbac "https://github.com/prometheus-n/pike_infra_eaas/tree/dev/modules/RBAC"
click node_vnet "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/vnet.bicep"
click node_subnet "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/subnet.bicep"
click node_appgwsubnet "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/applicationGatewaySubnet.bicep"
click node_nsg "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/nsg.bicep"
click node_routes "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/routetable.bicep"
click node_loadbalancer "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/loadbalancer/lb.bicep"
click node_appgateway "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/applicationGateway.bicep"
click node_vm "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/compute/vm.bicep"
click node_sql "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/database/sql.bicep"
click node_storage "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/storage/storageAccount.bicep"
click node_keyvault "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/security/keyvault.bicep"
click node_openai "https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/ai/openai.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_environment,node_workflow toneBlue
class node_resourcegroup,node_rbac toneAmber
class node_vnet,node_subnet,node_appgwsubnet,node_nsg,node_routes,node_loadbalancer,node_appgateway toneMint
class node_vm,node_sql toneRose
class node_storage,node_keyvault,node_openai,node_operator,node_azure toneIndigo
```

## Components

### Deployment

- [Environment input](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/input.json): `input.json`
- [Deployment workflow](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/.github/workflows/deploy.yml): `.github/workflows/deploy.yml`

### Foundation and access

- [Resource groups](https://github.com/prometheus-n/pike_infra_eaas/tree/dev/modules/RG): `modules/RG`
- [RBAC assignments](https://github.com/prometheus-n/pike_infra_eaas/tree/dev/modules/RBAC): `modules/RBAC`

### Networking

- [Virtual network](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/vnet.bicep): `modules/networking/vnet.bicep`
- [Subnets](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/subnet.bicep): `modules/networking/subnet.bicep`
- [Gateway subnet](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/applicationGatewaySubnet.bicep): `modules/networking/applicationGatewaySubnet.bicep`
- [Network security groups](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/nsg.bicep): `modules/networking/nsg.bicep`
- [Route tables](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/routetable.bicep): `modules/networking/routetable.bicep`
- [Load balancer](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/loadbalancer/lb.bicep): `modules/loadbalancer/lb.bicep`
- [Application gateway](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/networking/applicationGateway.bicep): `modules/networking/applicationGateway.bicep`

### Workloads

- [Virtual machines](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/compute/vm.bicep): `modules/compute/vm.bicep`
- [SQL database](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/database/sql.bicep): `modules/database/sql.bicep`

### Platform services

- [Storage account](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/storage/storageAccount.bicep): `modules/storage/storageAccount.bicep`
- [Key Vault](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/security/keyvault.bicep): `modules/security/keyvault.bicep`
- [Azure OpenAI](https://github.com/prometheus-n/pike_infra_eaas/blob/dev/modules/ai/openai.bicep): `modules/ai/openai.bicep`

### Other components

- **Operator**
- **Azure subscription**

## Connections

- Operator → Environment input: reviews (evidence: `README.md`)
- Operator → Deployment workflow: manually triggers (evidence: `README.md`)
- Deployment workflow → Environment input: uses configuration
- Deployment workflow → Azure subscription: runs What-If and deploys (evidence: `README.md`)
- Deployment workflow → Resource groups: deploys modules
- Deployment workflow → RBAC assignments: deploys modules
- Deployment workflow → Virtual network: deploys modules
- Deployment workflow → Subnets: deploys modules
- Deployment workflow → Gateway subnet: deploys modules
- Deployment workflow → Network security groups: deploys modules
- Deployment workflow → Route tables: deploys modules
- Deployment workflow → Load balancer: deploys modules
- Deployment workflow → Application gateway: deploys modules
- Deployment workflow → Virtual machines: deploys modules
- Deployment workflow → SQL database: deploys modules
- Deployment workflow → Storage account: deploys modules
- Deployment workflow → Key Vault: deploys modules
- Deployment workflow → Azure OpenAI: deploys modules
