387 lines
41 KiB
Plaintext
387 lines
41 KiB
Plaintext
<mxfile host="draw.io" modified="2026-02-12" agent="Claude Code" type="device">
|
||
<diagram id="a9-it-arch" name="Szczegółowa Architektura IT">
|
||
<mxGraphModel dx="2600" dy="1800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2800" pageHeight="2000" math="0" shadow="0">
|
||
<root>
|
||
<mxCell id="0"/>
|
||
<mxCell id="1" parent="0"/>
|
||
|
||
<!-- TYTUŁ -->
|
||
<mxCell id="title" value="NordaBiznes.pl — Szczegółowa Architektura IT i Infrastruktura" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=26;fontStyle=1;fontColor=#1a1a2e;" vertex="1" parent="1">
|
||
<mxGeometry x="700" y="10" width="780" height="40" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- ==================== INTERNET / CLOUD (góra) ==================== -->
|
||
<mxCell id="cloud_group" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#1565C0;strokeWidth=2;dashed=1;" vertex="1" parent="1">
|
||
<mxGeometry x="40" y="70" width="2720" height="210" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="cloud_label" value="<b style="font-size:16px;color:#1565C0">INTERNET / CHMURA</b>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="75" width="220" height="28" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Użytkownicy -->
|
||
<mxCell id="users" value="<b style="font-size:13px">Użytkownicy</b><br><font style="font-size:11px;color:#666">150 firm członkowskich<br>nordabiznes.pl (HTTPS)</font>" style="shape=mxgraph.cisco.users;html=1;fillColor=#1565C0;strokeColor=#1565C0;fontColor=#333;rounded=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;" vertex="1" parent="1">
|
||
<mxGeometry x="70" y="105" width="80" height="60" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- OVH DNS -->
|
||
<mxCell id="ovh" value="<b style="font-size:13px">OVH DNS</b><br><font style="font-size:11px;color:#666">nordabiznes.pl<br>A → 85.237.177.83</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#BBDEFB;strokeColor=#1565C0;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="250" y="110" width="170" height="65" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Azure AD / M365 -->
|
||
<mxCell id="azure" value="<b style="font-size:13px;color:#0078D4">Microsoft Azure</b><br><font style="font-size:11px;color:#333">Entra ID (Azure AD)<br>Exchange Online (SMTP)<br>OneDrive for Business</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1F5FE;strokeColor=#0078D4;strokeWidth=2;fontSize=12;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="490" y="100" width="200" height="90" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Let's Encrypt -->
|
||
<mxCell id="letsencrypt" value="<b style="font-size:13px">Let's Encrypt</b><br><font style="font-size:11px;color:#666">SSL/TLS auto-renewal<br>wildcard cert</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="760" y="115" width="170" height="60" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Google APIs -->
|
||
<mxCell id="google" value="<b style="font-size:13px;color:#4285F4">Google Cloud</b><br><font style="font-size:11px;color:#333">Gemini AI (NordaGPT)<br>Places API / PageSpeed<br>OAuth 2.0 / Search Console</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF8E1;strokeColor=#F57F17;strokeWidth=2;fontSize=12;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1000" y="100" width="210" height="90" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- GitHub -->
|
||
<mxCell id="github" value="<b style="font-size:13px">GitHub</b><br><font style="font-size:11px;color:#666">CI/CD (Actions)<br>Cloud backup repo</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3E5F5;strokeColor=#7B1FA2;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1280" y="115" width="160" height="60" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- External APIs -->
|
||
<mxCell id="ext_apis" value="<b style="font-size:13px">API zewnętrzne</b><br><font style="font-size:11px;color:#666">KRS · Brave · Graph<br>YouTube · CrUX</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3E5F5;strokeColor=#7B1FA2;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1510" y="115" width="160" height="60" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Hetzner Backup -->
|
||
<mxCell id="hetzner" value="<b style="font-size:13px">Hetzner Storage</b><br><font style="font-size:11px;color:#666">Backup offsite (nocny)<br>30-day retention<br>Geo-redundancy: DE</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FCE4EC;strokeColor=#C62828;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1740" y="105" width="180" height="75" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Slack -->
|
||
<mxCell id="slack_cloud" value="<b style="font-size:13px">Slack</b><br><font style="font-size:11px;color:#666">MCP Webhooks<br>Alerty · Deploy</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#283593;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1990" y="115" width="150" height="60" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Dev VPN -->
|
||
<mxCell id="dev" value="<b style="font-size:13px">Dev (VPN)</b><br><font style="font-size:11px;color:#666">FortiClient SSL<br>10.212.134.x</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#283593;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="2210" y="115" width="140" height="60" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- ==================== FIREWALL ==================== -->
|
||
<mxCell id="fw" value="<b style="font-size:16px;color:#C62828">FortiGate 500D</b><br><font style="font-size:12px;color:#333">85.237.177.83 | IPS/IDS | VPN | Web Filtering | NAT/PAT</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFCDD2;strokeColor=#C62828;strokeWidth=3;fontSize=12;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="950" y="320" width="460" height="70" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Strzałki: Internet → Firewall -->
|
||
<mxCell id="arr_ovh_fw" style="rounded=1;strokeColor=#1565C0;strokeWidth=2;exitX=1;exitY=0.5;entryX=0;entryY=0.3;" edge="1" source="ovh" target="fw" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="arr_vpn_fw" style="rounded=1;strokeColor=#283593;strokeWidth=2;dashed=1;entryX=1;entryY=0.3;" edge="1" source="dev" target="fw" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- ==================== SIEĆ LOKALNA ==================== -->
|
||
<mxCell id="lan_group" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FAFAFA;strokeColor=#666;strokeWidth=2;dashed=1;" vertex="1" parent="1">
|
||
<mxGeometry x="40" y="430" width="2720" height="1320" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="lan_label" value="<b style="font-size:16px;color:#333">SIEĆ LOKALNA INPI — 10.22.68.0/24 | Gateway: FortiGate 10.22.68.1</b>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="435" width="600" height="28" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- =========================================================== -->
|
||
<!-- ===== SERWER FIZYCZNY 1: r11-pve-01 (IBM x3550 M4) ======= -->
|
||
<!-- =========================================================== -->
|
||
<mxCell id="pve1_box" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#EDE7F6;strokeColor=#4527A0;strokeWidth=3;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="480" width="1330" height="710" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve1_header" value="<b style="font-size:18px;color:#4527A0">SERWER FIZYCZNY 1: r11-pve-01</b><font style="font-size:13px;color:#666"> — IBM System x3550 M4 | IP: 10.22.68.121 | IPMI/IMM: 10.22.68.103</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="485" width="880" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve1_specs" value="<font style="font-size:12px;color:#4527A0"><b>2× Intel Xeon E5-26xx v2 | 32 vCPU | 256 GB ECC RAM | Proxmox VE 9.1.4 (kernel 6.17.4) | 21 VM aktywnych (~180 GB RAM)</b></font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="510" width="840" height="24" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- === VM: NordaBiznes PROD === -->
|
||
<mxCell id="prod_group" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8F5E9;strokeColor=#2E7D32;strokeWidth=3;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="545" width="520" height="340" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="prod_label" value="<b style="font-size:15px;color:#2E7D32">VM 249 — NORDABIZ-01 (PRODUKCJA)</b><br><font style="font-size:11px;color:#666">10.22.68.249 | 4 vCPU | 4 GB RAM | 30 GB SSD (iSCSI)</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="100" y="550" width="430" height="40" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="flask" value="<b style="font-size:13px">Flask 3.1 + Gunicorn</b><br><font style="font-size:11px;color:#666">18 blueprintów | 40+ serwisów<br>56+ endpointów REST API<br>1 557 linii app.py</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="100" y="600" width="230" height="90" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="postgres" value="<b style="font-size:13px">PostgreSQL 14</b><br><font style="font-size:11px;color:#666">89 tabel | FTS + fuzzy<br>~500 MB danych</font>" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=10;fillColor=#C8E6C9;strokeColor=#2E7D32;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="350" y="600" width="180" height="90" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="nordagpt" value="<b style="font-size:12px;color:#F57F17">NordaGPT (AI)</b><br><font style="font-size:10px;color:#666">Gemini 3 Flash (primary)<br>Gemini 3 Pro (reasoning)<br>Thinking mode | 150 firm</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF8E1;strokeColor=#F57F17;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="100" y="700" width="170" height="70" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="audits" value="<b style="font-size:12px">Audyty</b><br><font style="font-size:10px;color:#666">SEO | GBP | Social<br>KRS | CrUX</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="260" y="705" width="130" height="60" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="rbac" value="<b style="font-size:12px">Security</b><br><font style="font-size:10px;color:#666">RBAC 6 ról | 2FA<br>CSRF | Rate limit</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="405" y="705" width="130" height="60" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="forum" value="<b style="font-size:12px">Forum + ZOPK</b><br><font style="font-size:10px;color:#666">KB · Timeline · Graf</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="100" y="778" width="145" height="50" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="email_send" value="<b style="font-size:12px;color:#0078D4">Email M365</b><br><font style="font-size:10px;color:#666">SMTP Azure</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1F5FE;strokeColor=#0078D4;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="260" y="778" width="120" height="50" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="norda360" value="<b style="font-size:12px;color:#F57F17">Norda360</b><br><font style="font-size:10px;color:#666">SEO/GBP/Social</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF8E1;strokeColor=#F57F17;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="395" y="778" width="110" height="50" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="cron_prod" value="<b style="font-size:11px">Cron:</b><font style="font-size:10px;color:#666"> news · updater · backup</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="100" y="838" width="200" height="20" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- === VM: NordaBiznes STAGING === -->
|
||
<mxCell id="staging" value="<b style="font-size:13px;color:#FF6F00">VM 248 — STAGING</b><br><font style="font-size:11px;color:#333">10.22.68.248 | 2 vCPU | 4 GB<br>staging.nordabiznes.pl</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF3E0;strokeColor=#FF6F00;strokeWidth=2;fontSize=12;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="900" width="240" height="75" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- === VM: NPM Reverse Proxy === -->
|
||
<mxCell id="npm" value="<b style="font-size:13px">VM 119 — R11-REVPROXY-01</b><br><font style="font-size:11px;color:#666">10.22.68.250 | NPM (Nginx Proxy Manager)<br>SSL termination | Let's Encrypt auto-renew</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#00695C;strokeWidth=2;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="340" y="900" width="300" height="75" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- === Grupa: Infrastruktura krytyczna na pve-01 === -->
|
||
<mxCell id="infra_crit" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;dashed=1;" vertex="1" parent="1">
|
||
<mxGeometry x="620" y="545" width="750" height="340" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="infra_crit_label" value="<b style="font-size:14px;color:#E65100">INFRASTRUKTURA KRYTYCZNA (na r11-pve-01)</b>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="640" y="550" width="380" height="24" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="dns01" value="<b style="font-size:12px">VM 122 — R11-DNS-01</b><br><font style="font-size:10px;color:#666">10.22.68.171 | 4 GB<br>Technitium PRIMARY<br>DNS + DHCP HA</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="640" y="585" width="170" height="75" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="dns02" value="<b style="font-size:12px">VM 175 — R11-DNS-02</b><br><font style="font-size:10px;color:#666">10.22.68.175 | 2 GB<br>Technitium SECONDARY</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="830" y="585" width="170" height="75" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="zabbix" value="<b style="font-size:12px">VM 135 — Zabbix 7.0</b><br><font style="font-size:10px;color:#666">10.22.68.126 | <b>32 GB</b><br>Monitoring 43 hostów<br>Alerty: email + Slack</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1020" y="585" width="170" height="80" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="gitea" value="<b style="font-size:12px">VM 180 — Gitea</b><br><font style="font-size:10px;color:#666">10.22.68.180 | 8 GB<br>Git repo + deploy source<br>+ GitHub mirror</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1210" y="585" width="145" height="80" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="ipam" value="<b style="font-size:12px">VM 123 — phpIPAM</b><br><font style="font-size:10px;color:#666">10.22.68.172 | 4 GB<br>IP management</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="640" y="680" width="160" height="65" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="vault" value="<b style="font-size:12px">VM 246 — Vaultwarden</b><br><font style="font-size:10px;color:#666">10.22.68.174 | 4 GB<br>Password manager</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="820" y="680" width="160" height="65" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="cortex" value="<b style="font-size:12px">VM 177 — Cortex</b><br><font style="font-size:10px;color:#666">Dashboard INPI<br>4 GB RAM</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1000" y="680" width="140" height="65" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="n8n" value="<b style="font-size:12px">VM 185 — N8N</b><br><font style="font-size:10px;color:#666">Automatyzacja<br>4 GB RAM</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1160" y="680" width="130" height="65" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="ca" value="<b style="font-size:11px">VM 176</b><br><font style="font-size:10px;color:#666">CA (512 MB)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;fontSize=11;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1305" y="685" width="80" height="55" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Inne VM na pve-01 -->
|
||
<mxCell id="other_prod" value="<b style="font-size:12px;color:#E65100">Pozostałe VM na r11-pve-01:</b><br><font style="font-size:10px;color:#666">VM 128: POMERANIA-PROD-01 (4 GB) | VM 252: INPI-WEB-01 (1 GB) | VM 253: INPI-WEB-02 (4 GB)<br>VM 254: SOCIALMEDIA-01 (4 GB) | VM 247: PROJECTS-01 (4 GB) | VM 241: DEV-ZABBIX-01 (32 GB)<br>VM 102: R11-BECK-01 (8 GB Win) | VM 106: R11-UGMO-01 (4 GB Win) | VM 126: HIKVIS-01 (4 GB Win) | VM 200: OLIWIER-01 (8 GB Win)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF3E0;strokeColor=#E65100;fontSize=11;fontColor=#333;dashed=1;" vertex="1" parent="1">
|
||
<mxGeometry x="640" y="760" width="720" height="80" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- === Podsumowanie pve-01 === -->
|
||
<mxCell id="pve1_summary" value="<font style="font-size:12px;color:#4527A0"><b>Łącznie pve-01:</b> 21 VM | ~180 GB / 256 GB RAM (70%) | 32 vCPU</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="1000" width="470" height="22" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- =========================================================== -->
|
||
<!-- ===== SERWER FIZYCZNY 2: r11-pve-02 (IBM x3550 M4) ======= -->
|
||
<!-- =========================================================== -->
|
||
<mxCell id="pve2_box" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3E5F5;strokeColor=#7B1FA2;strokeWidth=2;dashed=1;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="1040" width="640" height="140" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve2_header" value="<b style="font-size:16px;color:#7B1FA2">SERWER FIZYCZNY 2: r11-pve-02</b><font style="font-size:12px;color:#666"> — IBM System x3550 M4</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="1045" width="530" height="24" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve2_specs" value="<font style="font-size:12px;color:#7B1FA2"><b>2× Intel Xeon E5-26xx v2 | 32 vCPU | 256 GB ECC RAM</b> | IP: 10.22.68.122 | IPMI/IMM: 10.22.68.104</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="1070" width="640" height="22" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve2_status" value="<b style="font-size:14px;color:#7B1FA2">STATUS: ONLINE — 0 VM (Standby / Failover)</b><br><font style="font-size:11px;color:#666">Dostępny dla migracji VM w razie awarii pve-01 lub pve-03<br>Automatyczny failover z Proxmox HA | Gotowy do rozbudowy w ciągu minut</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1BEE7;strokeColor=#7B1FA2;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="1100" width="460" height="70" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- =========================================================== -->
|
||
<!-- ===== SERWER FIZYCZNY 3: r11-pve-03 (HPE) ================ -->
|
||
<!-- =========================================================== -->
|
||
<mxCell id="pve3_box" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F7FA;strokeColor=#006064;strokeWidth=3;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="1200" width="1330" height="230" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve3_header" value="<b style="font-size:18px;color:#006064">SERWER FIZYCZNY 3: r11-pve-03</b><font style="font-size:13px;color:#666"> — HPE ProLiant (najwydajniejszy węzeł) | IP: 10.22.68.123</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="1205" width="830" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve3_specs" value="<font style="font-size:13px;color:#006064"><b>2× Intel Xeon E5-2698 v4 @ 2.20 GHz | 80 vCPU (40 rdzeni / 80 wątków) | 503 GB ECC DDR4 RAM</b> | Proxmox VE 9.1.4</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="80" y="1230" width="900" height="24" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="pbs" value="<b style="font-size:13px">VM 127 — R11-PBS-01</b><br><font style="font-size:11px;color:#666">10.22.68.127 | <b>24 GB RAM</b><br>Proxmox Backup Server<br>Snapshoty → Hetzner offsite<br>30-day retention</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B2EBF2;strokeColor=#006064;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="100" y="1270" width="230" height="100" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="ha" value="<b style="font-size:13px">VM 181 — HomeAssistant</b><br><font style="font-size:11px;color:#666">10.22.68.181 | 2 GB RAM<br>Smart Home Controller<br>vmbr1 (IoT bridge)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B2EBF2;strokeColor=#006064;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="360" y="1270" width="230" height="100" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="solinpi" value="<b style="font-size:13px">VM 121 — SOLINPI-PROD-01</b><br><font style="font-size:11px;color:#666">10.22.68.211 | 8 GB RAM<br>Solplanet + Certbot</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B2EBF2;strokeColor=#006064;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="620" y="1270" width="230" height="100" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="pve3_summary" value="<font style="font-size:12px;color:#006064"><b>Łącznie pve-03:</b> 3 VM | ~35 GB / 503 GB RAM (7%) | 80 vCPU | <b>408 GB wolnego RAM</b> — rezerwa na rozbudowę</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="880" y="1310" width="620" height="22" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- =========================================================== -->
|
||
<!-- ===== STORAGE & NETWORK (prawa strona) ==================== -->
|
||
<!-- =========================================================== -->
|
||
<mxCell id="storage_group" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FCE4EC;strokeColor=#C62828;strokeWidth=2;" vertex="1" parent="1">
|
||
<mxGeometry x="1430" y="480" width="580" height="380" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="storage_label" value="<b style="font-size:16px;color:#C62828">STORAGE — R11-ASUSTOR-01 (ASUSTOR AS6510T)</b><br><font style="font-size:12px;color:#666">10.22.68.162 | iSCSI shared storage dla całego klastra</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1450" y="485" width="520" height="40" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="stor_hdd" value="<b style="font-size:14px">HDD RAID</b><br><font style="font-size:12px;color:#666">5 TB pojemności<br>~60% wykorzystania<br>Dane VM, backupy</font>" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=12;fillColor=#FFCDD2;strokeColor=#C62828;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1460" y="540" width="160" height="100" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stor_nvme" value="<b style="font-size:14px">NVMe RAID1</b><br><font style="font-size:12px;color:#666">1 TB pojemności<br>~45% wykorzystania<br>Krytyczne VM</font>" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=12;fillColor=#FFCDD2;strokeColor=#C62828;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1650" y="540" width="160" height="100" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stor_ssd" value="<b style="font-size:14px">SSD RAID10</b><br><font style="font-size:12px;color:#666">1 TB pojemności<br>~50% wykorzystania<br>NordaBiz PROD</font>" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=12;fillColor=#FFCDD2;strokeColor=#C62828;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1840" y="540" width="150" height="100" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<mxCell id="iscsi_info" value="<font style="font-size:12px;color:#C62828"><b>iSCSI Multipath:</b> 10.10.10.9 + 10.10.10.10 (vmbr11)<br><b>IQN:</b> iqn.2011-08.com.asustor:as6510t-848e77<br><b>Łącznie:</b> 7 TB raw storage (HDD 5TB + NVMe 1TB + SSD 1TB)</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FCE4EC;strokeColor=#C62828;fontSize=11;fontColor=#333;dashed=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1450" y="660" width="410" height="65" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- 10G Switch -->
|
||
<mxCell id="switch10g" value="<b style="font-size:14px;color:#333">Netgear XS712Tv2</b><br><font style="font-size:12px;color:#666">R11-NETGEAR-10G | 10.22.68.3<br>12-port 10G SFP+ switch<br>iSCSI + VM migration backbone</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0E0E0;strokeColor=#333;strokeWidth=2;fontSize=12;fontColor=#333;shadow=1;" vertex="1" parent="1">
|
||
<mxGeometry x="1460" y="745" width="240" height="90" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Network info -->
|
||
<mxCell id="net_info" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#283593;strokeWidth=2;" vertex="1" parent="1">
|
||
<mxGeometry x="1430" y="870" width="580" height="170" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="net_label" value="<b style="font-size:15px;color:#283593">SIECI WIRTUALNE (vBridge)</b>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1450" y="875" width="240" height="24" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="vmbr0" value="<b>vmbr0</b> — Management<br><font color="#666">10.22.68.0/24 | Wszystkie VM</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C5CAE9;strokeColor=#283593;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1450" y="905" width="260" height="50" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="vmbr10" value="<b>vmbr10</b> — Migration 10G<br><font color="#666">10.10.10.64/26 | ~820 MiB/s</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C5CAE9;strokeColor=#283593;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1730" y="905" width="260" height="50" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="vmbr11" value="<b>vmbr11</b> — iSCSI Multipath<br><font color="#666">10.10.10.128/26 | MTU 9000</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C5CAE9;strokeColor=#283593;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1450" y="965" width="260" height="50" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="vmbr1" value="<b>vmbr1</b> — IoT Network<br><font color="#666">192.168.68.0/24 | pve-03 only</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C5CAE9;strokeColor=#283593;fontSize=12;fontColor=#333;" vertex="1" parent="1">
|
||
<mxGeometry x="1730" y="965" width="260" height="50" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- =========================================================== -->
|
||
<!-- ===== POŁĄCZENIA ========================================== -->
|
||
<!-- =========================================================== -->
|
||
|
||
<!-- FW → NPM -->
|
||
<mxCell id="arr_fw_npm" value="<font style="font-size:11px">HTTPS:443</font>" style="rounded=1;strokeColor=#C62828;strokeWidth=3;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" source="fw" target="npm" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- NPM → Prod -->
|
||
<mxCell id="arr_npm_prod" value="<font style="font-size:11px">:5000</font>" style="rounded=1;strokeColor=#2E7D32;strokeWidth=2;exitX=0;exitY=0.3;entryX=0.5;entryY=1;" edge="1" source="npm" target="prod_group" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Flask → Google -->
|
||
<mxCell id="arr_flask_google" style="rounded=1;strokeColor=#F57F17;strokeWidth=2;dashed=1;" edge="1" source="nordagpt" target="google" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Email → Azure -->
|
||
<mxCell id="arr_email_azure" style="rounded=1;strokeColor=#0078D4;strokeWidth=2;dashed=1;" edge="1" source="email_send" target="azure" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- PBS → Hetzner -->
|
||
<mxCell id="arr_pbs_hetzner" style="rounded=1;strokeColor=#C62828;strokeWidth=2;dashed=1;" edge="1" source="pbs" target="hetzner" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Zabbix → Slack -->
|
||
<mxCell id="arr_zabbix_slack" style="rounded=1;strokeColor=#E65100;strokeWidth=1;dashed=1;" edge="1" source="zabbix" target="slack_cloud" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Storage → pve nodes (iSCSI) -->
|
||
<mxCell id="arr_stor_pve1" value="<font style="font-size:10px;color:#C62828">iSCSI 10G</font>" style="rounded=1;strokeColor=#C62828;strokeWidth=2;exitX=0;exitY=0.5;entryX=1;entryY=0.5;dashed=1;" edge="1" source="stor_hdd" target="infra_crit" parent="1">
|
||
<mxGeometry relative="1" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- ==================== STATYSTYKI NA DOLE ==================== -->
|
||
<mxCell id="stats_bar" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1a1a2e;strokeColor=#1a1a2e;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="1470" width="1350" height="55" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat1" value="<b style="font-size:16px;color:#D69E2E">3</b><font style="font-size:11px;color:#A0AEC0"> serwery fizyczne</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="70" y="1482" width="150" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat2" value="<b style="font-size:16px;color:#D69E2E">144</b><font style="font-size:11px;color:#A0AEC0"> vCPU łącznie</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="230" y="1482" width="140" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat3" value="<b style="font-size:16px;color:#D69E2E">1 015 GB</b><font style="font-size:11px;color:#A0AEC0"> RAM łącznie</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="390" y="1482" width="170" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat4" value="<b style="font-size:16px;color:#D69E2E">7 TB</b><font style="font-size:11px;color:#A0AEC0"> storage (iSCSI)</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="570" y="1482" width="160" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat5" value="<b style="font-size:16px;color:#D69E2E">24</b><font style="font-size:11px;color:#A0AEC0"> maszyny wirtualne</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="750" y="1482" width="180" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat6" value="<b style="font-size:16px;color:#D69E2E">10 Gbps</b><font style="font-size:11px;color:#A0AEC0"> backbone</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="950" y="1482" width="140" height="28" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="stat7" value="<b style="font-size:16px;color:#D69E2E">~305 000 zł</b><font style="font-size:11px;color:#A0AEC0"> wartość platformy</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1120" y="1482" width="200" height="28" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Legenda -->
|
||
<mxCell id="legend_bar" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#ddd;" vertex="1" parent="1">
|
||
<mxGeometry x="1430" y="1470" width="580" height="55" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="leg1" value="<font style="font-size:11px">🟢 NordaBiznes</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1445" y="1480" width="120" height="20" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="leg2" value="<font style="font-size:11px">🟠 Infra INPI</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1565" y="1480" width="100" height="20" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="leg3" value="<font style="font-size:11px">🔵 Cloud</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1665" y="1480" width="70" height="20" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="leg4" value="<font style="font-size:11px">🟣 IBM pve-01/02</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1735" y="1480" width="120" height="20" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="leg5" value="<font style="font-size:11px">🟦 HPE pve-03</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1855" y="1480" width="100" height="20" as="geometry"/>
|
||
</mxCell>
|
||
<mxCell id="leg6" value="<font style="font-size:11px">🔴 Storage/Security</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="1445" y="1500" width="140" height="20" as="geometry"/>
|
||
</mxCell>
|
||
|
||
<!-- Migration label -->
|
||
<mxCell id="migration_note" value="<font style="font-size:11px;color:#283593"><b>Live migration:</b> ~820 MiB/s via 10G (vmbr10) | Downtime: 30-80 ms | <b>Energooszczędność:</b> konsolidacja VM → oszczędność ~2 600 zł/rok</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||
<mxGeometry x="60" y="1445" width="750" height="20" as="geometry"/>
|
||
</mxCell>
|
||
|
||
</root>
|
||
</mxGraphModel>
|
||
</diagram>
|
||
</mxfile>
|