mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
34 lines
1.2 KiB
Python
Executable File
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
|