init: technical-visualization-haness 하네스 설계
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# 대체 설명
|
||||
|
||||
DB Service Custom Resource, DBaaS Manager, VM/DB Instance Custom Resource, VM Operator, 런타임 VM 간의 생성·감시 관계.
|
||||
|
||||
전역 제목·부제·footer는 보이는 캔버스에 포함하지 않는다. 접근성용 SVG `<title>`과 `<desc>`는 보이지 않는 메타데이터로 유지한다.
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "dbaas-controller",
|
||||
"visual_grammar": "resource_controller",
|
||||
"reader_question": "DB 서비스 명세가 실제 VM과 DB 인스턴스로 어떻게 구체화되는가?",
|
||||
"diagram_only": true,
|
||||
"visible_text_scope": [
|
||||
"node labels",
|
||||
"boundary labels",
|
||||
"edge labels",
|
||||
"state/time annotations required to decode the relation"
|
||||
],
|
||||
"forbidden_visible_elements": [
|
||||
"global title",
|
||||
"subtitle paragraph",
|
||||
"footer",
|
||||
"takeaway band",
|
||||
"pattern number",
|
||||
"generator watermark",
|
||||
"decorative metric card",
|
||||
"gradient",
|
||||
"drop shadow",
|
||||
"glow"
|
||||
],
|
||||
"palette_policy": "grayscale plus one primary accent; status colors only when semantic",
|
||||
"required_renderer_capabilities": [
|
||||
"custom resource documents",
|
||||
"controller graph",
|
||||
"runtime boundary"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
# Context
|
||||
|
||||
독자가 확인해야 할 질문: **DB 서비스 명세가 실제 VM과 DB 인스턴스로 어떻게 구체화되는가?**
|
||||
|
||||
이 fixture는 문서 본문이 이미 문제와 결론을 설명한다고 가정한다. 따라서 SVG에는 다이어그램 관계를 해독하는 데 필요한 기술 레이블만 둔다.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="820" viewBox="0 0 1600 820" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Resource controller architecture</title>
|
||||
<desc id="desc">DB Service Custom Resource, DBaaS Manager, VM/DB Instance Custom Resource, VM Operator, 런타임 VM 간의 생성·감시 관계.</desc>
|
||||
<metadata>{"generator":"examples/build_examples.py","version":"0.3.0","canvas_policy":"diagram-only","decorative_effects":false}</metadata>
|
||||
<defs>
|
||||
<marker id="arrow-ink" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#24272B"/></marker>
|
||||
<marker id="arrow-muted" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#667085"/></marker>
|
||||
<marker id="arrow-blue" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#1677FF"/></marker>
|
||||
<marker id="arrow-green" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#00A86B"/></marker>
|
||||
<marker id="arrow-red" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#D94B4B"/></marker>
|
||||
<marker id="arrow-purple" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#7556D8"/></marker>
|
||||
<marker id="arrow-white" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#FFFFFF"/></marker>
|
||||
<marker id="arrow-yellow" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#E7C51D"/></marker>
|
||||
</defs>
|
||||
<rect width="1600" height="820" fill="#000000"/>
|
||||
<circle cx="85" cy="330" r="20.4" fill="none" stroke="#1F75FF" stroke-width="4" />
|
||||
<path d="M 42.5 411.6 C 47.6 367.4, 122.4 367.4, 127.5 411.6" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 42.5 411.6 L 127.5 411.6" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="85" y="455" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="20" font-weight="650" fill="#FFFFFF" text-anchor="middle">User</text>
|
||||
<polygon points="260,175 495,175 560,240 560,535 260,535" fill="#000000" stroke="#1F75FF" stroke-width="4" />
|
||||
<path d="M 495 175 L 495 240 L 560 240" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="295" y="245" font-family='"Noto Sans Mono CJK KR", "D2Coding", monospace' font-size="18" font-weight="600" fill="#FFFFFF" text-anchor="start">
|
||||
<tspan x="295" dy="0">kind: DB Service</tspan>
|
||||
<tspan x="295" dy="24.3">spec:</tspan>
|
||||
<tspan x="295" dy="24.3"> vmCount: 3</tspan>
|
||||
<tspan x="295" dy="24.3"> vmConfig:</tspan>
|
||||
<tspan x="295" dy="24.3"> vCPU: 2</tspan>
|
||||
<tspan x="295" dy="24.3"> memory: 8GB</tspan>
|
||||
<tspan x="295" dy="24.3"> dbConfig:</tspan>
|
||||
<tspan x="295" dy="24.3"> maxclient: 3000</tspan>
|
||||
<tspan x="295" dy="24.3"> timeout: 5s</tspan>
|
||||
</text>
|
||||
<rect x="635" y="545" width="230" height="190" fill="#000000" stroke="#1F75FF" stroke-width="4" rx="2" />
|
||||
<path d="M 635 608.3 L 865 608.3" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 635 671.7 L 865 671.7" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="655" y="571.7" width="10" height="10" fill="#1F75FF" />
|
||||
<rect x="655" y="635" width="10" height="10" fill="#1F75FF" />
|
||||
<rect x="655" y="698.3" width="10" height="10" fill="#1F75FF" />
|
||||
<text x="750" y="775" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="23" font-weight="650" fill="#FFFFFF" text-anchor="middle">DBaaS Manager</text>
|
||||
<polygon points="994,110 1154,110 1204,160 1204,325 994,325" fill="#000000" stroke="#1F75FF" stroke-width="3.2" />
|
||||
<path d="M 1154 110 L 1154 160 L 1204 160" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<polygon points="972,120 1132,120 1182,170 1182,335 972,335" fill="#000000" stroke="#1F75FF" stroke-width="3.2" />
|
||||
<path d="M 1132 120 L 1132 170 L 1182 170" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<polygon points="950,130 1110,130 1160,180 1160,345 950,345" fill="#000000" stroke="#1F75FF" stroke-width="3.2" />
|
||||
<path d="M 1110 130 L 1110 180 L 1160 180" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="985" y="205" font-family='"Noto Sans Mono CJK KR", "D2Coding", monospace' font-size="18" font-weight="600" fill="#FFFFFF" text-anchor="start">
|
||||
<tspan x="985" dy="0">2 vCPU</tspan>
|
||||
<tspan x="985" dy="22.5">8 GB RAM</tspan>
|
||||
<tspan x="985" dy="22.5">…</tspan>
|
||||
</text>
|
||||
<text x="1070" y="400" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="18" font-weight="600" fill="#FFFFFF" text-anchor="middle">VM Custom Resource</text>
|
||||
<polygon points="994,435 1154,435 1204,485 1204,650 994,650" fill="#000000" stroke="#1F75FF" stroke-width="3.2" />
|
||||
<path d="M 1154 435 L 1154 485 L 1204 485" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<polygon points="972,445 1132,445 1182,495 1182,660 972,660" fill="#000000" stroke="#1F75FF" stroke-width="3.2" />
|
||||
<path d="M 1132 445 L 1132 495 L 1182 495" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<polygon points="950,455 1110,455 1160,505 1160,670 950,670" fill="#000000" stroke="#1F75FF" stroke-width="3.2" />
|
||||
<path d="M 1110 455 L 1110 505 L 1160 505" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="980" y="535" font-family='"Noto Sans Mono CJK KR", "D2Coding", monospace' font-size="16" font-weight="600" fill="#FFFFFF" text-anchor="start">
|
||||
<tspan x="980" dy="0">maxclient: 3000</tspan>
|
||||
<tspan x="980" dy="21.6">timeout: 5s</tspan>
|
||||
<tspan x="980" dy="21.6">…</tspan>
|
||||
</text>
|
||||
<text x="1070" y="735" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="17" font-weight="600" fill="#FFFFFF" text-anchor="middle">DB Instance Custom Resource</text>
|
||||
<rect x="1325" y="115" width="175" height="145" fill="#000000" stroke="#1F75FF" stroke-width="4" rx="2" />
|
||||
<path d="M 1325 163.3 L 1500 163.3" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 1325 211.7 L 1500 211.7" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="1345" y="134.2" width="10" height="10" fill="#1F75FF" />
|
||||
<rect x="1345" y="182.5" width="10" height="10" fill="#1F75FF" />
|
||||
<rect x="1345" y="230.8" width="10" height="10" fill="#1F75FF" />
|
||||
<text x="1412" y="300" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="18" font-weight="650" fill="#FFFFFF" text-anchor="middle">VM Operator</text>
|
||||
<rect x="1290" y="400" width="235" height="330" fill="#000000" stroke="#1F75FF" stroke-width="4" />
|
||||
<polygon points="1350,455 1435,455 1450,482 1335,482" fill="#1F75FF" />
|
||||
<rect x="1340" y="482" width="105" height="90" fill="#1F75FF" />
|
||||
<text x="1392" y="535" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="15" font-weight="650" fill="#FFFFFF" text-anchor="middle">dbaas-agent</text>
|
||||
<text x="1392" y="620" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="600" fill="#FFFFFF" text-anchor="middle">DB command</text>
|
||||
<rect x="1347" y="651" width="90" height="40" fill="#1F75FF" />
|
||||
<ellipse cx="1392" cy="651" rx="45" ry="11" fill="#1F75FF" stroke="#1F75FF" stroke-width="1.6" />
|
||||
<path d="M 1347 651 L 1347 691" fill="none" stroke="#1F75FF" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 1437 651 L 1437 691" fill="none" stroke="#1F75FF" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 1347 691 C 1365 704, 1419 704, 1437 691" fill="none" stroke="#1F75FF" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="1392" y="674" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#FFFFFF" text-anchor="middle">DB</text>
|
||||
<text x="1407" y="770" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="18" font-weight="650" fill="#FFFFFF" text-anchor="middle">VM</text>
|
||||
<path d="M 140 365 L 260 365" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="164.9" y="333" width="70.1" height="26" fill="#000000" rx="2" />
|
||||
<text x="200" y="352" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="17" font-weight="600" fill="#FFFFFF" text-anchor="middle">create</text>
|
||||
<path d="M 635 635 L 525 635 L 525 535" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="534.6" y="601" width="60.8" height="26" fill="#000000" rx="2" />
|
||||
<text x="565" y="620" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="17" font-weight="600" fill="#FFFFFF" text-anchor="middle">watch</text>
|
||||
<path d="M 865 615 L 900 615 L 900 260 L 950 260" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="865.0" y="416" width="70.1" height="26" fill="#000000" rx="2" />
|
||||
<text x="900" y="435" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="17" font-weight="600" fill="#FFFFFF" text-anchor="middle">create</text>
|
||||
<path d="M 865 650 L 950 575" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="865.0" y="606" width="70.1" height="26" fill="#000000" rx="2" />
|
||||
<text x="900" y="625" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="17" font-weight="600" fill="#FFFFFF" text-anchor="middle">create</text>
|
||||
<path d="M 1325 190 L 1215 190 L 1215 250 L 1160 250" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="1211" y="157" width="58" height="25" fill="#000000" rx="2" />
|
||||
<text x="1240" y="175" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="600" fill="#FFFFFF" text-anchor="middle">watch</text>
|
||||
<path d="M 1412 260 L 1412 400" fill="none" stroke="#1F75FF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="1413.2" y="332" width="93.5" height="25" fill="#000000" rx="2" />
|
||||
<text x="1460" y="350" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="600" fill="#FFFFFF" text-anchor="middle">create VM</text>
|
||||
<path d="M 1160 560 L 1245 560 L 1245 527 L 1340 527" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
<rect x="1213.2" y="531" width="63.5" height="24" fill="#000000" rx="2" />
|
||||
<text x="1245" y="548" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="15" font-weight="600" fill="#FFFFFF" text-anchor="middle">config</text>
|
||||
<path d="M 1392 572 L 1392 640" fill="none" stroke="#1F75FF" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
Reference in New Issue
Block a user