config.yaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008
  1. version: 3
  2. resources:
  3. # ============================================================================
  4. # Hardware
  5. # ============================================================================
  6. - kind: Server
  7. ram:
  8. size: 128
  9. mts: 3200
  10. ipmi: true
  11. cpus:
  12. - model: AMD EPYC 7302P
  13. cores: 16
  14. threads: 32
  15. drives:
  16. - type: ssd
  17. size: 1024
  18. - type: ssd
  19. size: 1024
  20. ports:
  21. - type: rj45
  22. speed: 1
  23. count: 2
  24. - type: sfp+
  25. speed: 10
  26. count: 2
  27. name: proxmox-node01
  28. - kind: Server
  29. ram:
  30. size: 96
  31. mts: 2666
  32. ipmi: true
  33. cpus:
  34. - model: Intel Xeon Silver 4210
  35. cores: 10
  36. threads: 20
  37. drives:
  38. - type: ssd
  39. size: 1024
  40. - type: hdd
  41. size: 4096
  42. ports:
  43. - type: rj45
  44. speed: 1
  45. count: 2
  46. - type: sfp+
  47. speed: 10
  48. count: 1
  49. name: proxmox-node02
  50. - kind: Server
  51. ram:
  52. size: 64
  53. mts: 2666
  54. ipmi: true
  55. cpus:
  56. - model: Intel Xeon E-2236
  57. cores: 6
  58. threads: 12
  59. drives:
  60. - type: hdd
  61. size: 8192
  62. - type: hdd
  63. size: 8192
  64. - type: hdd
  65. size: 8192
  66. - type: hdd
  67. size: 8192
  68. ports:
  69. - type: rj45
  70. speed: 1
  71. count: 1
  72. - type: sfp+
  73. speed: 10
  74. count: 1
  75. name: truenas-storage
  76. - kind: Server
  77. ram:
  78. size: 32
  79. mts: 3200
  80. ipmi: false
  81. cpus:
  82. - model: Intel Core i5-1240P
  83. cores: 12
  84. threads: 16
  85. drives:
  86. - type: ssd
  87. size: 1024
  88. ports:
  89. - type: rj45
  90. speed: 2.5
  91. count: 1
  92. name: docker-host
  93. - kind: Firewall
  94. model: Netgate-6100
  95. managed: true
  96. poe: false
  97. ports:
  98. - type: rj45
  99. speed: 1
  100. count: 4
  101. - type: sfp+
  102. speed: 10
  103. count: 2
  104. name: pfsense-fw
  105. - kind: Router
  106. model: Ubiquiti-ER-4
  107. managed: true
  108. poe: false
  109. ports:
  110. - type: rj45
  111. speed: 1
  112. count: 4
  113. - type: sfp+
  114. speed: 10
  115. count: 1
  116. name: core-router
  117. - kind: Switch
  118. model: UniFi-USW-Enterprise-24
  119. managed: true
  120. poe: true
  121. ports:
  122. - type: rj45
  123. speed: 1
  124. count: 12
  125. - type: rj45
  126. speed: 2.5
  127. count: 8
  128. - type: sfp+
  129. speed: 10
  130. count: 4
  131. name: core-switch
  132. - kind: Switch
  133. model: UniFi-USW-16-PoE
  134. managed: true
  135. poe: true
  136. ports:
  137. - type: rj45
  138. speed: 1
  139. count: 16
  140. - type: sfp
  141. speed: 1
  142. count: 2
  143. name: access-switch
  144. - kind: AccessPoint
  145. model: UniFi-U6-Pro
  146. speed: 2.5
  147. name: lounge-ap
  148. - kind: AccessPoint
  149. model: UniFi-U6-Lite
  150. speed: 1
  151. name: basement-ap
  152. - kind: Ups
  153. model: APC-SmartUPS-2200
  154. va: 2200
  155. name: rack-ups
  156. - kind: Desktop
  157. ram:
  158. size: 64
  159. mts: 3600
  160. cpus:
  161. - model: AMD Ryzen 9 5900X
  162. cores: 12
  163. threads: 24
  164. drives:
  165. - type: ssd
  166. size: 1024
  167. - type: ssd
  168. size: 2048
  169. gpus:
  170. - model: NVIDIA RTX 3080
  171. vram: 10
  172. ports:
  173. - type: rj45
  174. speed: 1
  175. count: 1
  176. name: workstation-linux
  177. - kind: Desktop
  178. ram:
  179. size: 32
  180. mts: 3200
  181. cpus:
  182. - model: Intel Core i7-12700K
  183. cores: 12
  184. threads: 20
  185. drives:
  186. - type: ssd
  187. size: 1024
  188. gpus:
  189. - model: NVIDIA RTX 3070
  190. vram: 8
  191. ports:
  192. - type: rj45
  193. speed: 1
  194. count: 1
  195. name: gaming-pc
  196. - kind: Laptop
  197. ram:
  198. size: 32
  199. mts: 5200
  200. cpus:
  201. - model: Intel Core i7-1260P
  202. cores: 12
  203. threads: 16
  204. drives:
  205. - type: ssd
  206. size: 1024
  207. name: dev-laptop
  208. # ============================================================================
  209. # Systems
  210. # ============================================================================
  211. # Hypervisors / baremetal hosts
  212. - kind: System
  213. type: Hypervisor
  214. os: proxmox
  215. cores: 16
  216. ram: 128
  217. drives:
  218. - size: 1024
  219. - size: 1024
  220. ip: 192.168.1.10
  221. name: proxmox-cluster-node01
  222. runsOn:
  223. - proxmox-node01
  224. - kind: System
  225. type: Hypervisor
  226. os: proxmox
  227. cores: 10
  228. ram: 96
  229. drives:
  230. - size: 1024
  231. - size: 4096
  232. ip: 192.168.1.11
  233. name: proxmox-cluster-node02
  234. runsOn:
  235. - proxmox-node02
  236. - kind: System
  237. type: Baremetal
  238. os: truenas-scale
  239. cores: 6
  240. ram: 64
  241. drives:
  242. - size: 8192
  243. - size: 8192
  244. - size: 8192
  245. - size: 8192
  246. ip: 192.168.1.20
  247. name: truenas-core-os
  248. runsOn:
  249. - truenas-storage
  250. - kind: System
  251. type: Baremetal
  252. os: debian-12
  253. cores: 12
  254. ram: 32
  255. drives:
  256. - size: 1024
  257. ip: 192.168.1.30
  258. name: docker-host-os
  259. runsOn:
  260. - docker-host
  261. # IPMI / BMC management
  262. - kind: System
  263. type: Baremetal
  264. os: idrac
  265. cores: 1
  266. ram: 1
  267. ip: 10.0.0.30
  268. name: ipmi-proxmox-node01
  269. runsOn:
  270. - proxmox-node01
  271. - kind: System
  272. type: Baremetal
  273. os: ipmi
  274. cores: 1
  275. ram: 1
  276. ip: 10.0.0.31
  277. name: ipmi-proxmox-node02
  278. runsOn:
  279. - proxmox-node02
  280. - kind: System
  281. type: Baremetal
  282. os: ipmi
  283. cores: 1
  284. ram: 1
  285. ip: 10.0.0.32
  286. name: ipmi-truenas-storage
  287. runsOn:
  288. - truenas-storage
  289. # Network appliances
  290. - kind: System
  291. type: Baremetal
  292. os: pfsense
  293. cores: 4
  294. ram: 8
  295. drives:
  296. - size: 32
  297. ip: 10.0.0.1
  298. name: firewall-os
  299. runsOn:
  300. - pfsense-fw
  301. - kind: System
  302. type: Baremetal
  303. os: edgeos
  304. cores: 4
  305. ram: 4
  306. drives:
  307. - size: 4
  308. ip: 10.0.0.2
  309. name: router-os
  310. runsOn:
  311. - core-router
  312. - kind: System
  313. type: Baremetal
  314. os: unifi-os
  315. cores: 2
  316. ram: 2
  317. drives:
  318. - size: 8
  319. ip: 10.0.0.10
  320. name: unifi-core-switch-os
  321. runsOn:
  322. - core-switch
  323. - kind: System
  324. type: Baremetal
  325. os: unifi-os
  326. cores: 2
  327. ram: 2
  328. drives:
  329. - size: 8
  330. ip: 10.0.0.11
  331. name: unifi-access-switch-os
  332. runsOn:
  333. - access-switch
  334. - kind: System
  335. type: Baremetal
  336. os: unifi-firmware
  337. cores: 2
  338. ram: 1
  339. drives:
  340. - size: 4
  341. ip: 10.0.0.20
  342. name: unifi-lounge-ap-os
  343. runsOn:
  344. - lounge-ap
  345. - kind: System
  346. type: Baremetal
  347. os: unifi-firmware
  348. cores: 2
  349. ram: 1
  350. drives:
  351. - size: 4
  352. ip: 10.0.0.21
  353. name: unifi-basement-ap-os
  354. runsOn:
  355. - basement-ap
  356. # Virtual machines
  357. - kind: System
  358. type: VM
  359. os: hassos
  360. cores: 2
  361. ram: 4
  362. drives:
  363. - size: 64
  364. ip: 192.168.20.10
  365. name: vm-home-assistant
  366. runsOn:
  367. - proxmox-node01
  368. - kind: System
  369. type: VM
  370. os: ubuntu-22.04
  371. cores: 4
  372. ram: 8
  373. drives:
  374. - size: 500
  375. ip: 192.168.10.20
  376. name: vm-media-server
  377. runsOn:
  378. - proxmox-node02
  379. - kind: System
  380. type: VM
  381. os: debian-12
  382. cores: 2
  383. ram: 4
  384. drives:
  385. - size: 64
  386. ip: 192.168.10.30
  387. name: vm-monitoring
  388. runsOn:
  389. - proxmox-node01
  390. - kind: System
  391. type: VM
  392. os: debian-12
  393. cores: 4
  394. ram: 8
  395. drives:
  396. - size: 128
  397. ip: 192.168.10.40
  398. name: vm-k3s-master
  399. runsOn:
  400. - proxmox-node01
  401. - kind: System
  402. type: VM
  403. os: debian-12
  404. cores: 4
  405. ram: 8
  406. drives:
  407. - size: 128
  408. ip: 192.168.10.41
  409. name: vm-k3s-worker-01
  410. runsOn:
  411. - proxmox-node02
  412. - kind: System
  413. type: VM
  414. os: debian-12
  415. cores: 4
  416. ram: 8
  417. drives:
  418. - size: 128
  419. ip: 192.168.10.42
  420. name: vm-k3s-worker-02
  421. runsOn:
  422. - proxmox-node02
  423. # LXC containers (lightweight service hosts)
  424. - kind: System
  425. type: LXC
  426. os: debian-12
  427. cores: 2
  428. ram: 4
  429. drives:
  430. - size: 32
  431. ip: 192.168.10.50
  432. name: lxc-arr
  433. runsOn:
  434. - proxmox-node02
  435. - kind: System
  436. type: LXC
  437. os: debian-12
  438. cores: 2
  439. ram: 4
  440. drives:
  441. - size: 32
  442. ip: 192.168.10.51
  443. name: lxc-downloads
  444. runsOn:
  445. - proxmox-node02
  446. - kind: System
  447. type: LXC
  448. os: debian-12
  449. cores: 2
  450. ram: 2
  451. drives:
  452. - size: 16
  453. ip: 192.168.10.60
  454. name: lxc-network
  455. runsOn:
  456. - proxmox-node01
  457. - kind: System
  458. type: LXC
  459. os: debian-12
  460. cores: 2
  461. ram: 2
  462. drives:
  463. - size: 16
  464. ip: 192.168.10.61
  465. name: lxc-auth
  466. runsOn:
  467. - proxmox-node01
  468. - kind: System
  469. type: LXC
  470. os: debian-12
  471. cores: 2
  472. ram: 4
  473. drives:
  474. - size: 64
  475. ip: 192.168.10.62
  476. name: lxc-files
  477. runsOn:
  478. - proxmox-node02
  479. - kind: System
  480. type: LXC
  481. os: debian-12
  482. cores: 1
  483. ram: 2
  484. drives:
  485. - size: 16
  486. ip: 192.168.10.63
  487. name: lxc-dashboard
  488. runsOn:
  489. - proxmox-node01
  490. # ============================================================================
  491. # Services
  492. # ============================================================================
  493. # --- Smart home (IoT VLAN) ---
  494. - kind: Service
  495. network:
  496. ip: 192.168.20.10
  497. port: 8123
  498. protocol: TCP
  499. url: http://homeassistant.lan:8123
  500. name: home-assistant
  501. runsOn:
  502. - vm-home-assistant
  503. - kind: Service
  504. network:
  505. ip: 192.168.20.10
  506. port: 1883
  507. protocol: TCP
  508. url: mqtt://homeassistant.lan:1883
  509. name: mosquitto
  510. runsOn:
  511. - vm-home-assistant
  512. - kind: Service
  513. network:
  514. ip: 192.168.20.10
  515. port: 8080
  516. protocol: TCP
  517. url: http://homeassistant.lan:8080
  518. name: zigbee2mqtt
  519. runsOn:
  520. - vm-home-assistant
  521. # --- Media stack ---
  522. - kind: Service
  523. network:
  524. ip: 192.168.10.20
  525. port: 32400
  526. protocol: TCP
  527. url: http://plex.lan:32400
  528. name: plex
  529. runsOn:
  530. - vm-media-server
  531. - kind: Service
  532. network:
  533. ip: 192.168.10.20
  534. port: 8096
  535. protocol: TCP
  536. url: http://jellyfin.lan:8096
  537. name: jellyfin
  538. runsOn:
  539. - vm-media-server
  540. - kind: Service
  541. network:
  542. ip: 192.168.10.20
  543. port: 8083
  544. protocol: TCP
  545. url: http://audiobookshelf.lan:8083
  546. name: audiobookshelf
  547. runsOn:
  548. - vm-media-server
  549. - kind: Service
  550. network:
  551. ip: 192.168.10.20
  552. port: 4533
  553. protocol: TCP
  554. url: http://navidrome.lan:4533
  555. name: navidrome
  556. runsOn:
  557. - vm-media-server
  558. - kind: Service
  559. network:
  560. ip: 192.168.10.20
  561. port: 2283
  562. protocol: TCP
  563. url: https://immich.lan
  564. name: immich
  565. runsOn:
  566. - vm-media-server
  567. - kind: Service
  568. network:
  569. ip: 192.168.10.20
  570. port: 2342
  571. protocol: TCP
  572. url: http://photoprism.lan:2342
  573. name: photoprism
  574. runsOn:
  575. - vm-media-server
  576. # --- *arr stack & downloads ---
  577. - kind: Service
  578. network:
  579. ip: 192.168.10.50
  580. port: 8989
  581. protocol: TCP
  582. url: http://sonarr.lan:8989
  583. name: sonarr
  584. runsOn:
  585. - lxc-arr
  586. - kind: Service
  587. network:
  588. ip: 192.168.10.50
  589. port: 7878
  590. protocol: TCP
  591. url: http://radarr.lan:7878
  592. name: radarr
  593. runsOn:
  594. - lxc-arr
  595. - kind: Service
  596. network:
  597. ip: 192.168.10.50
  598. port: 8686
  599. protocol: TCP
  600. url: http://lidarr.lan:8686
  601. name: lidarr
  602. runsOn:
  603. - lxc-arr
  604. - kind: Service
  605. network:
  606. ip: 192.168.10.50
  607. port: 6767
  608. protocol: TCP
  609. url: http://bazarr.lan:6767
  610. name: bazarr
  611. runsOn:
  612. - lxc-arr
  613. - kind: Service
  614. network:
  615. ip: 192.168.10.50
  616. port: 9696
  617. protocol: TCP
  618. url: http://prowlarr.lan:9696
  619. name: prowlarr
  620. runsOn:
  621. - lxc-arr
  622. - kind: Service
  623. network:
  624. ip: 192.168.10.50
  625. port: 5055
  626. protocol: TCP
  627. url: http://overseerr.lan:5055
  628. name: overseerr
  629. runsOn:
  630. - lxc-arr
  631. - kind: Service
  632. network:
  633. ip: 192.168.10.51
  634. port: 8080
  635. protocol: TCP
  636. url: http://qbittorrent.lan:8080
  637. name: qbittorrent
  638. runsOn:
  639. - lxc-downloads
  640. - kind: Service
  641. network:
  642. ip: 192.168.10.51
  643. port: 8081
  644. protocol: TCP
  645. url: http://sabnzbd.lan:8081
  646. name: sabnzbd
  647. runsOn:
  648. - lxc-downloads
  649. # --- Network services ---
  650. - kind: Service
  651. network:
  652. ip: 192.168.10.60
  653. port: 80
  654. protocol: TCP
  655. url: http://adguard.lan
  656. name: adguard-home
  657. runsOn:
  658. - lxc-network
  659. - kind: Service
  660. network:
  661. ip: 192.168.10.60
  662. port: 5335
  663. protocol: TCP
  664. url: udp://unbound.lan:5335
  665. name: unbound
  666. runsOn:
  667. - lxc-network
  668. - kind: Service
  669. network:
  670. ip: 192.168.10.60
  671. port: 81
  672. protocol: TCP
  673. url: http://npm.lan:81
  674. name: nginx-proxy-manager
  675. runsOn:
  676. - lxc-network
  677. - kind: Service
  678. network:
  679. ip: 192.168.10.60
  680. port: 51820
  681. protocol: UDP
  682. url: wg://wireguard.lan:51820
  683. name: wireguard
  684. runsOn:
  685. - lxc-network
  686. # --- Auth & secrets ---
  687. - kind: Service
  688. network:
  689. ip: 192.168.10.61
  690. port: 9000
  691. protocol: TCP
  692. url: https://auth.lan
  693. name: authentik
  694. runsOn:
  695. - lxc-auth
  696. - kind: Service
  697. network:
  698. ip: 192.168.10.61
  699. port: 8000
  700. protocol: TCP
  701. url: https://vault.lan
  702. name: vaultwarden
  703. runsOn:
  704. - lxc-auth
  705. # --- Files & productivity ---
  706. - kind: Service
  707. network:
  708. ip: 192.168.10.62
  709. port: 443
  710. protocol: TCP
  711. url: https://nextcloud.lan
  712. name: nextcloud
  713. runsOn:
  714. - lxc-files
  715. - kind: Service
  716. network:
  717. ip: 192.168.10.62
  718. port: 8384
  719. protocol: TCP
  720. url: http://syncthing.lan:8384
  721. name: syncthing
  722. runsOn:
  723. - lxc-files
  724. - kind: Service
  725. network:
  726. ip: 192.168.10.62
  727. port: 8000
  728. protocol: TCP
  729. url: http://paperless.lan:8000
  730. name: paperless-ngx
  731. runsOn:
  732. - lxc-files
  733. # --- Monitoring & ops ---
  734. - kind: Service
  735. network:
  736. ip: 192.168.10.30
  737. port: 9090
  738. protocol: TCP
  739. url: http://prometheus.lan:9090
  740. name: prometheus
  741. runsOn:
  742. - vm-monitoring
  743. - kind: Service
  744. network:
  745. ip: 192.168.10.30
  746. port: 3000
  747. protocol: TCP
  748. url: http://grafana.lan:3000
  749. name: grafana
  750. runsOn:
  751. - vm-monitoring
  752. - kind: Service
  753. network:
  754. ip: 192.168.10.30
  755. port: 9093
  756. protocol: TCP
  757. url: http://alertmanager.lan:9093
  758. name: alertmanager
  759. runsOn:
  760. - vm-monitoring
  761. - kind: Service
  762. network:
  763. ip: 192.168.10.30
  764. port: 3100
  765. protocol: TCP
  766. url: http://loki.lan:3100
  767. name: loki
  768. runsOn:
  769. - vm-monitoring
  770. - kind: Service
  771. network:
  772. ip: 192.168.10.63
  773. port: 3001
  774. protocol: TCP
  775. url: http://uptime.lan:3001
  776. name: uptime-kuma
  777. runsOn:
  778. - lxc-dashboard
  779. - kind: Service
  780. network:
  781. ip: 192.168.10.63
  782. port: 7575
  783. protocol: TCP
  784. url: http://homarr.lan:7575
  785. name: homarr
  786. runsOn:
  787. - lxc-dashboard
  788. - kind: Service
  789. network:
  790. ip: 192.168.10.63
  791. port: 8080
  792. protocol: TCP
  793. url: http://dozzle.lan:8080
  794. name: dozzle
  795. runsOn:
  796. - lxc-dashboard
  797. # --- Dev / source / CI ---
  798. - kind: Service
  799. network:
  800. ip: 192.168.10.40
  801. port: 3000
  802. protocol: TCP
  803. url: http://gitea.lan:3000
  804. name: gitea
  805. runsOn:
  806. - vm-k3s-master
  807. - kind: Service
  808. network:
  809. ip: 192.168.10.40
  810. port: 80
  811. protocol: TCP
  812. url: http://drone.lan
  813. name: drone-ci
  814. runsOn:
  815. - vm-k3s-master
  816. - kind: Service
  817. network:
  818. ip: 192.168.1.30
  819. port: 9000
  820. protocol: TCP
  821. url: http://portainer.lan:9000
  822. name: portainer
  823. runsOn:
  824. - docker-host-os
  825. - kind: Service
  826. network:
  827. ip: 192.168.1.30
  828. port: 5000
  829. protocol: TCP
  830. url: http://registry.lan:5000
  831. name: docker-registry
  832. runsOn:
  833. - docker-host-os
  834. - kind: Service
  835. network:
  836. ip: 192.168.1.30
  837. port: 9001
  838. protocol: TCP
  839. url: http://minio.lan:9001
  840. name: minio
  841. runsOn:
  842. - docker-host-os
  843. # --- Storage UI ---
  844. - kind: Service
  845. network:
  846. ip: 192.168.1.20
  847. port: 443
  848. protocol: TCP
  849. url: https://truenas.lan
  850. name: truenas-webui
  851. runsOn:
  852. - truenas-core-os
  853. # --- Network admin UIs ---
  854. - kind: Service
  855. network:
  856. ip: 10.0.0.1
  857. port: 443
  858. protocol: TCP
  859. url: https://firewall.lan
  860. name: firewall-webui
  861. runsOn:
  862. - firewall-os
  863. - kind: Service
  864. network:
  865. ip: 10.0.0.2
  866. port: 443
  867. protocol: TCP
  868. url: https://router.lan
  869. name: router-webui
  870. runsOn:
  871. - router-os
  872. - kind: Service
  873. network:
  874. ip: 10.0.0.10
  875. port: 443
  876. protocol: TCP
  877. url: https://unifi.lan
  878. name: unifi-controller
  879. runsOn:
  880. - unifi-core-switch-os
  881. # ============================================================================
  882. # Connections (physical port wiring)
  883. # ============================================================================
  884. connections:
  885. # WAN ─ firewall ─ router (uplink chain)
  886. - a:
  887. resource: pfsense-fw
  888. portGroup: 1
  889. portIndex: 0
  890. b:
  891. resource: core-router
  892. portGroup: 1
  893. portIndex: 0
  894. label: WAN uplink
  895. # router ─ core-switch (10G trunk)
  896. - a:
  897. resource: core-router
  898. portGroup: 1
  899. portIndex: 0
  900. b:
  901. resource: core-switch
  902. portGroup: 2
  903. portIndex: 0
  904. label: core trunk
  905. # core-switch ─ access-switch (1G uplink)
  906. - a:
  907. resource: core-switch
  908. portGroup: 0
  909. portIndex: 0
  910. b:
  911. resource: access-switch
  912. portGroup: 1
  913. portIndex: 0
  914. label: uplink
  915. # core-switch ─ proxmox-node01 (10G)
  916. - a:
  917. resource: core-switch
  918. portGroup: 2
  919. portIndex: 1
  920. b:
  921. resource: proxmox-node01
  922. portGroup: 1
  923. portIndex: 0
  924. label: 10G
  925. # core-switch ─ proxmox-node02 (10G)
  926. - a:
  927. resource: core-switch
  928. portGroup: 2
  929. portIndex: 2
  930. b:
  931. resource: proxmox-node02
  932. portGroup: 1
  933. portIndex: 0
  934. label: 10G
  935. # core-switch ─ truenas-storage (10G)
  936. - a:
  937. resource: core-switch
  938. portGroup: 2
  939. portIndex: 3
  940. b:
  941. resource: truenas-storage
  942. portGroup: 1
  943. portIndex: 0
  944. label: 10G
  945. # core-switch ─ docker-host (2.5G)
  946. - a:
  947. resource: core-switch
  948. portGroup: 1
  949. portIndex: 0
  950. b:
  951. resource: docker-host
  952. portGroup: 0
  953. portIndex: 0
  954. label: 2.5G
  955. # access-switch ─ lounge-ap (PoE)
  956. - a:
  957. resource: access-switch
  958. portGroup: 0
  959. portIndex: 0
  960. b:
  961. resource: lounge-ap
  962. portGroup: 0
  963. portIndex: 0
  964. label: PoE
  965. # access-switch ─ basement-ap (PoE)
  966. - a:
  967. resource: access-switch
  968. portGroup: 0
  969. portIndex: 1
  970. b:
  971. resource: basement-ap
  972. portGroup: 0
  973. portIndex: 0
  974. label: PoE
  975. # access-switch ─ workstation-linux
  976. - a:
  977. resource: access-switch
  978. portGroup: 0
  979. portIndex: 2
  980. b:
  981. resource: workstation-linux
  982. portGroup: 0
  983. portIndex: 0
  984. # access-switch ─ gaming-pc
  985. - a:
  986. resource: access-switch
  987. portGroup: 0
  988. portIndex: 3
  989. b:
  990. resource: gaming-pc
  991. portGroup: 0
  992. portIndex: 0