Files
oam/terraform/airgapped terraform enterprise on azure/design/requirements.py
2023-01-08 19:11:09 +01:00

34 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python3
from diagrams import Diagram
from diagrams.azure.compute import VMLinux
from diagrams.azure.database import CacheForRedis, DatabaseForPostgresqlServers
from diagrams.azure.network import LoadBalancers, NetworkInterfaces, Subnets, VirtualNetworks
from diagrams.azure.security import KeyVaults
from diagrams.azure.storage import BlobStorage
from diagrams.onprem.container import Docker
from diagrams.onprem.iac import Terraform
with Diagram("Requirements", show=False):
cache = CacheForRedis("Redis Cache")
db = DatabaseForPostgresqlServers("PostgreSQL DB")
engine = Docker("Docker Engine")
kv = KeyVaults("Key Vault")
lb = LoadBalancers("Load Balancer")
nic = NetworkInterfaces("Network Interface")
storage = BlobStorage("Blob Storage")
subnet_private = Subnets("Private Subnet")
subnet_public = Subnets("Public Subnet")
tfe = Terraform("Terraform Enterprise")
vm = VMLinux("Linux Virtual Machine")
vnet = VirtualNetworks("VNet")
vnet >> [subnet_private, subnet_public]
subnet_private >> kv
[subnet_private, subnet_public] >> nic
kv >> [cache, db, storage, vm]
nic >> [lb, vm]
vm >> engine
[cache, db, engine, lb, storage] >> tfe