83 lines
3.0 KiB
Plaintext
83 lines
3.0 KiB
Plaintext
digraph deployment {
|
|
rankdir=TB
|
|
bgcolor="#0a0e17"
|
|
fontname="Helvetica"
|
|
node [fontname="Helvetica" fontsize=10 style=filled color="#1e2a4a" fontcolor="#e8eaf0"]
|
|
edge [fontname="Helvetica" fontsize=9 fontcolor="#8892a8" color="#4a5568"]
|
|
|
|
label="Deployment — Kind Cluster (dev) / EC2 (prod)"
|
|
labelloc=t
|
|
fontsize=14
|
|
fontcolor="#0066ff"
|
|
|
|
user [label="Browser\nlocalhost:8040" fillcolor="#243056" shape=box]
|
|
|
|
subgraph cluster_kind {
|
|
label="Kind Cluster: unt (namespace: unt)"
|
|
color="#0066ff"
|
|
fontcolor="#0066ff"
|
|
style=rounded
|
|
|
|
subgraph cluster_frontend_pod {
|
|
label="Pod: ui"
|
|
color="#1e2a4a"
|
|
fontcolor="#4a5568"
|
|
ui [label="nginx\n:80\n\nVue SPA\nProxy → api:8000" fillcolor="#121829" shape=box]
|
|
ui_svc [label="Service: ui\nNodePort 30040" fillcolor="#0d1a33" shape=diamond fontsize=9]
|
|
}
|
|
|
|
subgraph cluster_api_pod {
|
|
label="Pod: api"
|
|
color="#1e2a4a"
|
|
fontcolor="#4a5568"
|
|
api [label="uvicorn\n:8000\n\nFastAPI\nMCP clients (stdio)\nLangGraph agents" fillcolor="#121829" shape=box]
|
|
api_svc [label="Service: api\nClusterIP" fillcolor="#0d1a33" shape=diamond fontsize=9]
|
|
}
|
|
|
|
subgraph cluster_langfuse_pod {
|
|
label="Pod: langfuse"
|
|
color="#1e2a4a"
|
|
fontcolor="#4a5568"
|
|
langfuse [label="Langfuse\n:3000\n\nTrace viewer" fillcolor="#121829" shape=box]
|
|
langfuse_svc [label="Service: langfuse\nNodePort 30030" fillcolor="#0d1a33" shape=diamond fontsize=9]
|
|
}
|
|
|
|
subgraph cluster_pg_pod {
|
|
label="Pod: postgres"
|
|
color="#1e2a4a"
|
|
fontcolor="#4a5568"
|
|
pg [label="PostgreSQL\n:5432\n\nLangfuse data" fillcolor="#121829" shape=cylinder]
|
|
pg_svc [label="Service: postgres\nClusterIP" fillcolor="#0d1a33" shape=diamond fontsize=9]
|
|
}
|
|
}
|
|
|
|
subgraph cluster_external {
|
|
label="External APIs"
|
|
color="#00c853"
|
|
fontcolor="#00c853"
|
|
style=dashed
|
|
ext_weather [label="OpenMeteo" fillcolor="#0d2a0d" shape=octagon fontcolor="#00c853"]
|
|
ext_faa [label="FAA" fillcolor="#0d2a0d" shape=octagon fontcolor="#00c853"]
|
|
ext_bedrock [label="AWS Bedrock" fillcolor="#243056" shape=octagon]
|
|
ext_kong [label="Kong Konnect\n(optional)" fillcolor="#243056" shape=octagon style="filled,dashed"]
|
|
}
|
|
|
|
// Port mappings
|
|
user -> ui_svc [label="host:8040 → 30040" color="#0066ff"]
|
|
ui_svc -> ui
|
|
ui -> api_svc [label="proxy"]
|
|
api_svc -> api
|
|
|
|
api -> ext_weather [label="HTTP" color="#00c853"]
|
|
api -> ext_faa [label="HTTP" color="#00c853"]
|
|
api -> ext_bedrock [label="Converse API" style=dashed]
|
|
api -> langfuse_svc [label="traces" style=dotted]
|
|
|
|
langfuse_svc -> langfuse
|
|
langfuse -> pg_svc
|
|
pg_svc -> pg
|
|
|
|
user -> ext_kong [style=dashed label="(optional)" color="#4a5568"]
|
|
ext_kong -> ui_svc [style=dashed color="#4a5568"]
|
|
}
|