From bf7a7937e0121b12d152f96666522981b2a12b08 Mon Sep 17 00:00:00 2001 From: Dan V Date: Wed, 1 Apr 2026 00:49:17 +0200 Subject: [PATCH] feat(inventory-cli): build script, manpage help, discover-only command build-cli.sh Simple shell script that builds inventory-cli inside Docker and extracts the binary to build/ (or a custom path). Replaces the need to use the heavier build-and-load.sh just to compile the CLI. --help Replaced the terse usage() stub with a full UNIX man-page style reference covering NAME, SYNOPSIS, DESCRIPTION, GLOBAL OPTIONS, COMMANDS (grouped by area), PART TYPES, FIELD KEYS, EXAMPLES, and NOTES. discover-only [--type ] New command that runs local hardware discovery without contacting the inventory server and prints results as an ASCII tree rooted at the hostname. Each section (CPUs, CPU Slots, Memory Sticks, Memory Slots, Disks, NICs) lists discovered components with key attributes inline. Useful for inspection and troubleshooting. discovery.cpp: store interface name in K_NAME for NICs ifname (e.g. "nic0", "eno1") is now emitted so discover-only and the server-side UI can display the kernel device name. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../roles/inventory-cli/files/inventory-cli | Bin 161888 -> 197440 bytes services/device-inventory/build-cli.sh | 19 + .../device-inventory/src/client/discovery.cpp | 1 + services/device-inventory/src/client/main.cpp | 369 ++++++++++++++++-- 4 files changed, 353 insertions(+), 36 deletions(-) create mode 100755 services/device-inventory/build-cli.sh diff --git a/orchestration/ansible/roles/inventory-cli/files/inventory-cli b/orchestration/ansible/roles/inventory-cli/files/inventory-cli index 1378df80e76869ccbef27107a1fd4cc85609eeec..2df9e62655e3743850dcbee8f80ce2c12549f4d3 100755 GIT binary patch literal 197440 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 z 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%0DVw1 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

}zVZs3Y{2Ub83Heym2?$iVTJic6Ayn(4F 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≻lAy{Pv`SF$)DkZZvjr}?cnrQvHV9|_&3fM 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 delta 60547 zcmaG}34Bb~_n-SFA+b%Y2_hyjk;IxHhzJP@6N1?Ht@b@g>c-m86uM~=A z1qd8rR`~1B&83xk3(N3l9fMYp(5Rxhrc%LNUwew%*_q(`zbSHfJ{uSndJV*Pgl@tA zAJ-)+*CnE_aY~i#8|HT3cr8C^Nvj*zJM6eTr`Mc6hKNgz;i3INi?|YYLU?52)`d(k z1O^+-<(EcK*&zHsRJ>&D%WjELUjFP$`d4h}6Tr@j3FZ7*lDNXFG21F00W{JpK)ml2 zz~VS&HU95G@d0X`5xaZ)v-f!2+|mK;srb2%Kl@nx+`A*2C|30KXEQi!i+lrE51yYT zMwRhrCQf@9|2J6-Mh()m|XSvSp z#i_oHSvH54<`kClbP|`pC;!*U@y~F1gSj-%Io}xm?_O@zmfiu(pO=M-56U!VS9lrY z^=I&Zhf}F&_73p&_cjLoxaPY z@9$9%_o(npg|E%9L}jp0Em)>9&Q}Sgs&JPos96-@TuVmtyYPJ2NM@$?w zd|Fb^^r$97lc!9l|I>%3j}oVts)^Z^nwDuFmDHni&t^j>P1^OQX&IBu_l0`9=2qP8 zVdCSOoy2y5b(?w_jOeoTzqg?Ro?iHm z(%wi@ju}iG<_$Hdgc+E)Auz&*r=f0nCHk15PHNrRZ~&8`4Pf+R2m=0U`9kE=o=PxI z1w#iFHk{|n8+xnx+2=k({j!FUYTj-mPoq%@ z{0(b83gT4;KHLor291H1_ftm%a?auSUmd9oK05dSz~k{h{Q`9GA;@d^MU4f{pAR<_ z*0tY76wr@`p_)9U{BvCgPu9U@9lW~^eqRUgp@Tmyf!hpybp?K^#-tg#pZljp4tNe9 zd$a;A5DWVwj^Jcc?WaX1f|E(LpAtF9 zzYT^F8W2w{Bocg}4sNwIR7_1Fh_u#zsXDlVp_KH~!4bvWzhOE!pRTASV|8$1uKm(f zxQ!T7J8QpLx(ZaL{TAxrnnP0A5*-}f#{J9H!IdeFQnXeFN1!18SALsy1?4m#p4)VA zwMX*OJRQ7(4u78xZqmW?b#Sc*aQ-KC1r>D_igfTwI`~B$ys{2{T?enCgUdR2RUQ03 z!AXBIb2VMTQ(Xmr9o*2U#8(1za33AKx(@EAgV)f(19Wg(psv8IE2yP|hwI=$I(VcG zURwumse_w!@OT|OSb;0;Z`Boq=qjY@;B|EHemb~C2Op+`hw9*Cb?~}6cv>S{iAlqB z1+#P&!gcV4I(UQ*zC;JFr-SF};PrLzwHloCZ=fsKtQ7#(PzT?pgE!K_^K|gWI`}>v zJW>bG*TJIzSL~0(NnJq`U42%I(Sg8iP6D*bnsR>xStLltAht{IP@n%t#t)vU4=LuJX{BFqk~84;B9sAmO6O6 z4j!+AC%Eko1gox~ovuQv4&Gh|@27(&>fpn4@D4ioSRK5h3g`UObOlyjg;_dyCmnpD z4&GS@U!sGj=-|0Jco!XfZDT>vpPHbnu3)pSLN^_Jn+~3;gXihsJ$3MXI(RP~Jl_q+ z^rpA2;H102VCb_q_-$dX&&tTM!IxajV9m}?7hFZw%ws+UyoM{f(o1G|=nAd;lI>~` z8Q^V0I{O(W+O^Rdk4!<&kiYZf_54kb{1uP<1&{n`k9?s={*W$jBZgn<0F>Y9k^jIW zzriEF+9U7q$Y*=x=a=MdT;q%q0MAeI$dB^K5BA9S_Q-ef$R~N^2}c`2n{{*p&t2K9{H*s`SKolZ;$-Tzu^NmUBCaE0J{7gkNi!K{1uP<1&{n`k9?s= z{t)suJ;N_O5O#XxKk&$J@W`+B$U8jp*&g}%f3qR4X`JDKFiFeHpFDTD4%0Z3V!tQ1 zdFgV=@4Rxkl5^TvW1gqiOwO6%XU#m$WD81)%aKP}?S=A>uf+O?f`rE}#LkC;O8@x6 z<+9p~#bHMSBX&_b=b$AI6y*=GO0(w7vka5Jn}U@6n!F0MQ|!0o)>FiK4okDqgdIE4 z5}9$CDy3o3WsRL@@iApdl+4MpETpF+jmfb-PM^yz9TGX!~J-{+;6-z`vR`CPo(%~HJ*hZZ|)xD+a1 zOd?)8EM_svQLF4P&)l+!M=}HJe@S@=nW_pIZpwNJZAi#rnvg4ipY z=-(9}67lgwgTX1O>N_Wj*Lzi6x!fdFenz4+z4MPkTxWq$NcEZpP65YhQe~a!rm*H8 zq7a?-ZwlK~@!U2{Aqp#18SYJh&7hc2`ycUe5C4$vDt4Zx%->Ie9jjum)v!-KCG3D_ z@CTC4jlGeue}BnUpZkX44-} z02_?PrkeKgnw@q%Aua1WQ0n0+h1}zGo-&Roe8wH5S|ZX!==L~j+If~VSs+F7dsGdJ zpw`!G;6wE)14

;T2S0Xm#N+aR1X!OL=nN4pirTl}eX!n*1{#bNRayq1Qd#uFBzV zrG`Xd`g8HY5Q`u@=GJb@eNSiYi+=+rg8NSWok)AoO!1^?C;aBm#d19?6^9T$DPzj| z7!FZ%+LM;NpJF5*8wZ=HI7K2+2S zw>rE({T?X)`zmW)|~m~BQ&^P&7s%DkBomtw$GP zQ=qYN5k>J~ze>%QXrxHynnY@bj?_1V2ZaSqW-jty_r+HIL+TYlT^iX=5)up%>2}C? zj+TdVs=V!?nAhK2W-&*;I|UTCLrTm(Mp_V_I7>hLD-xysOi`D$wLK z$eqla?nQd}WUc9*K{dkfq2ZITHvyF6AGrFu&9w@ZNzCu)snz`&XvLytuBja5n(PZo zL?rlQw8{%`)=ZwN(pd693?Ae!Ot~k1Js?2neNVhJAWUeW04poNf9{Hl1_cS1?uuIm z1(o><6p8ug_j$#&cX`DHcg4JcLBf!`V$r~wLc(3~&cG%@c?IRKJ7TLr^@S66IOfhf zoSNefr#9)1LT%JN@zkK&LgF3q&q0>hAV8h}@F6JClFFN=EI?8D&XXM2+L99UM2RFy zU%7KzA#?Mtm^?VBLLp_*z5()tp$PETdsi#7Ma6jMuGlZ#Qf9iEop4ty7;Gt>glzGW zT&dy;R#T{RTP!=IX7xSTJtiXY@(!LlXvsxqk~a+z+YSj5&K8S9@%XG*v< z|9)0S7*Q;Ki%1<;%mcQ6F~xbW2Yf&rVqB3w7w_6A_vk z9dnA~ht(~;o(koclHUL86ULdBbHIzHf2>+N53M1kSLFC z0ndf8YiOokZj-2R!@r1(@g$N&c-=Ylpyj&S>@7`MD^-H`wPp__ z#Ca+~9pak=vSHwLV?O#Fm=gg$gkjbYpLNHSRhuTLG>78UFma$KrjuEvc!3HaZ`?zb z@6&h)^kF!mq2OPU2KF>$xWkG-p;FEeOOJr`iZ(*PnWusH?ij}Hj4bx-s46%IYS1it| zRyJk730X1an5YGFbybFjlpl+H|HYTAIGreAQ9MnW;hz+{9pH zBOxw9%>|QT8keiyk9ujji>1A_L}#B;`SP>Xt=kK3;v_V zX1DvyCSt#-(9N2FBM6$PhEr8Ln+K10JrD9sQ`SUJ>VZV3&+BwN$oz9%5!H{>0~st^ z-&M(&HH|L-$7#!cosKChMKg_t_bK5uf88>stV=36w{_kkG+GgmiB#=OSrCZp*T`4RS(7 z;GG&m@!m{AjZnF{yY~iQI=cYM;}a?D+0nCTQ-GY--TLFG&RjM6-6x-*=2hF@pcy++ zmBDSmY3iWm)-;6Z3{nR-H(F;;wC7iW7VU{PO4Ym>S;Y?XCRq5S$I|=QU zr}U<*A5=uQ0$GH3SVeS;SKU**!Gvaf?y|k^E)PBVHYYsVl!?0IOi;%dH`RWg*gk~a z&Xc(!wl4hNxB|3u9L?rd+QVB81BX1bh@zGqD_Q3zm3b(U=pIx#=&kOOj##9b!tv{pQ}3gY5iG|)~vZrMIaGZ57|sv zQJlUiEU~@y3&_=UbH(8lhDTEtZRETbWAh1b35V*W%k@NihtTFcmG*zb0)-jB&^}zH zRKRHEU`1G5?KiN{|5s|_$Q~Zng$>hL*)5xaSe=A-@+Fz%}CM)gzS-dtmxWy`^&>89? zidh!-s4^D?&OcsZ!FKMVy5ytP*GPcnuP=)&rqmYN{4DmHVlf8%?2@|w%xVTd<5JDD z^t0Np$c_P|>pV+Kc^6LO$XJ&zi@9k*#silWbYa6K@t-M{iZj((0do0%%;22tA}qmr zN$iS8_$6_2npr4yi39(*DCQw|?4o!+Ev)prkjvRsL7#C^G*2~`?nR)BuQ+n!i{hB6 zW}or|%73Nu{PQPq$J7wv_)lWd)UeVUenMHQfJtJkhzrsK{h$3nZHt|lVtIK_#o$&sySMmxdXP}~gLp38YVw(q@ zm>c7kxMhYp==<{uk(Tl}RfBMOIXW#VyY~m$(-NffqH9K=-)t2#KsI$}hT?T1n^{BX zc3$i_GpJN!lojt5Z_Ef3%AXhQGXqQCI|q(aU7Wx-=fv-3nuTrW#Je*a3bW6NwPpni zea?yTvqFR>=fsh-LSxGkx&s2f)=T~_0@S6(5>;v?FkL5ek_FEfiN|J{OXU&fMKNl2 zZ6T*fEIZpQj4Kiw&aM-Yhyv1?w>Jf%{c6C<*C>Qg)vYf{$L_AP3U)3PBCcX_IbFry ztl?haMEe@6UePQ%hG&VXM<^hcCTJR?TV z4fRPP&==@@L4JZ+sC7oP%?%O$IW4|FH#GG8X_VbiJR+7hL9p-FUfBcLiz12`rtic% za|49v6tVQYu-2^;6gfvi8EtbYfGai;J1d!Y0;q~VAz>3ZJpG&EVht!Hh~wv(&3-D` zvEP!S6D{%Be@u@;Eo)|Bs=TtZxP4xorVSyo9FBjq?WK806Xhzr)*y@78av1mk1ZSf zHEU);s@%Hs%K82Qnctz>RWQ&bYeK45bxEIB!WC-k{2<}0iQ?G#b%jO|V($F9?4Y=J zetV(PH{y%=tvfuJK>Mk#<6eS6ww`jivhz*ZG^+xmK+{s30>aaxe^ijR z$5pW3DRIGqPD0`-@tXxQU#R9b}N7ez6h~Xb{ z_ix0(i!5KWH(a&E;4X5vQx+zoWcxS7`kCQE@^L!bDiZ;- z6U}oi#rc`xflpu;XDE$Wj_B`)a7Rc#3`h73B>5rR*M;J>%#bo~j8;sLSs<3pY9lla z7Q5T4baLRHE-IEmAvI}NRQk6bul7SmuE(bdZlS&(#zF8>KlvkE*y6l?I!1et!so}t zJ6R#k9mgQr7{y1=DLz_{L`w=b7*3!bQFV4y%G-@n#7jOZCS`Yyx?S5~fGw={yIibP z5^Fd23rPFRNRswRiaj08CxDpRd<}n*Z%$b*$$tn_~Z4F56r@vZSWara&CFIIL0C0w^_95&9k4>2Sn-aS%$KhQ!K# zfFt_P5sEUG^2IL~Tf=NYdS!0lhLcX2t-ysc^19k$_gw$di$I2io098a^Ok(0ja#@< z*q&8|lYefe9qxG@rBk{v1aRJ6^I%dw_f;f@)+Vkru# z6|Jc7Z>dUrcpEPHsU7Py?qECrenx#K?j0-xwdOI-*Ap=3d!tACwpmah+yG!$0}}@YNx%;m?%bi8NLWnz5W6 z>1fmu-AAc!qWbly{&iY(I-)NQRjl9qpfdjbgk~1s$Y~Sy3vL^i*rW}v2(FWXi6H0L|O`o?IIsV65Q^9<0hQRAlF4DY%Rv zrlk9FqZ(rF()O)B#=UB^9cB_E3Mk0u^M2K!5E`Qun;nx+Lgm++a}OY-Sb0ZvuUm4J z7`kO5bUi4hI{dwE$eFdo2@cDDME=XT+3gYeTjEZP>YzLOibot~;lKfk{HgCkeCk*2 z8yO76oveC`ft3%MX^;0~LGh*em|J+#1#cv`Tz*H>OxRADshS^3h4vxR3S% z8P!K)Z^^r(IZNt?mvDL1c}D3aUPRv!_u&`ddj!OtGvTqYZZ(zf={@3++y>Rpk`CCy zL1Zu-S011p`ojRR)QZlg2~-MGM3N6T+9M8I(WFM1eJ+>%O7SY1|3-pf94*t)u$6GM zwxUt#_wcSkiGkZS6JM+d6teb`b%h~&#rT!}oo>lu4AI?fxlg{K&iSCgzvdm!@j`>A zg|XJqEZl>8-{n2zedP}9QM_+N1U!dsJc)Z~Q(ZKRl^cyinX~G@&q=);+Wl_)BTp3gL^yOmtd<{M9X4sQAz75MyYqzGBdtz^X}*yFEv^CV%vW(m^(ho!8W>khR<8O0?g>IwsKM zxG!d|v6P<%ja19E_(I&bCaUvpKkykv`!KiqjiFM!eoFWYkByTrO?mL1JCK z>cJ_AAKHM=I8V^7R;0YDt$08R6zc90FG(T(MLvYMLs=O+(k)X+I!CBjX>Hdk%4DA6 z(Fm+Ls9<1SF@0^rmctN{7GlL=FlAk**z1V?c{_B65}+0RT`#3+XTY4+oSxUMInysv zQ;+^aytHH8wKW7)dxt4AT_ert;Dj)bvY3dPxCS%9%nX|uI z?z6uXWRTZ=CfI3oO+25eB@!>`9d6CZFcaom z$ZI%$+`mpF<8ot~f@TF;JZj`DE5>*V8p2ZA_c;l1Dxg2uU!c!Xz@qu6SN@=1Y_5txliD<;~SzYgzSJ9*b9?mu9&h88${oY!I-%WuMZFE!2P3lJYS~VlDhy_ z{CSt`$LY)Y7?)yyC|5`2;)Rrrk2+6IyN$HAC&7VF&;pypLDsMMH0qhMexfNmjgM6K z$|q=>LKUJ`A4k>e|403A&}&vFqV>n3mU~Qj-cdZdxryxwV9A+<=9HK_8E|-Id(WDU zz0MoY341p;zBS^Ne42QE2Vj?M9C)us>`bx$nPPt|Tc}_ukEMzc6?JyP*ZxbLQxNA; zdx*1RyUS&>=JcXHXDsG!$uBT|IERA}=Wq}qOXW}iOy>>?VHgO=E((W~|G{Avap;VC zAfb}qK;$zymAL*?++e$_24;)V+3zEQkbA)Ro4eX_Z=Csa7Y{0)??ECcXP@bzrYfj>0mD?tMmoOfv^+ zbFBxoAdN*npV+}K{8$~Ul%TG~+R&P!u(^w^4lanQ+g8p62%K7aye>TufkA`6)TJLo zOa)%(42Sn;7ozXG4q7$g4u5tw(PMl7-1RYK(op9@Q0)3@RZ_w!5 zp#4!Dp`AMOexpk_(Gh)Dm+q|*0-aJi;qL3w19Uh`b?HhF+NPPhysluZE^W{e>a1hj zLYF?L;yCvrqG$yBqgQL`G@XVAby}_6p|k(5a9ORwARYB|odhAe%E>yLr|NL->EOF{ z@CLf{9!*2C|6?6dA0Uk$-N;ls3%wHqRxU}@8?%H_Ta=kW;5O=MaaT4{_U>S-qw23n zI+H%6&B#RM{gi~>DUOEU0-Vqb6Y^H5Nfh40vnS%TbsGPBKE%I4*fg7|?r_k;R9_u!ql!3l#B20H^GgsFBs zPLGN+-Y+hY=OIrv!SST?H?>(wy9~_uNXi{B1ne_ugWEpSkaS+yD*p39NRJgbkaJb7 z49H(4Mn*hOAasX!D|*B{O|Ob;$B)+|jfJ$E$5Jhsem6wqV^q68w*Qzud^ga~~#37wWN*w)e@* zb|W7(y)0IHdp}InU>y0+_h{~7u~>6ri{A&+qp_f}8bCSseU~etSF-)D-d6idD~{kY zZ~MpxKp*oTA9{Zei%%E>d*Oql9w!WP=5JN-UqG_kK2{9l!Bh)7fQz@ZKrPfzT4S)) zeiZl#ppUb%($<_=atgbZGt*2cXpqb^%()xH&?4fLZP7x&7V*PvBZQt?#j+pQ2$Z-4 zUY3-cI>otiG9-o6<6A-MxGhpb19q`uQ;vayAO3cXY}q0X*dA(nxfzGN*cyQMJ(2Hk z7ME?0G94;`-IDV*i)Xe62x~Tr^7baCH?$&Z@7|lmh))`t>S{1rJ5}E-json@O>VOH z*JkbQlauwaXuNjU@gRme6gj zX!|-?Sh`w#@9QC<-$^LO{``GdoO@lOWftWPe3rsTJV$h2_J4%+4{tc)L-;+-Olh#6fGL89M z5f}TO{29Ud)Mh|)xLD+Uamdl2X7PX~Mg8s^%NLAbOUE&{bsi=QTR4h zUa+ZxzKAUo=kKl|+;oWV?5-z#3$DM$;il}8?Z~*}fS;3IKSCH$>@vxL9$j0C zFT+|1l^oK%GR!R8Un*@Z!}Uge5srsdB8YFf2!ERE~x1{jxmU&xHB*y;DsrfC(d(NI8CNv+(&_ zQp1X@v9Q@L4XKDr^}j8a=2ir&;dW^Q<+m=D_E%&r>l?%1Hy>nk-|A2s>FSGlx)r6% zQyNWeE?zCOx1?H?Sh(dQg5d%(4lkXy;Z8PsZ7|LCB0RZrI{GtFn3g5|;?JrJdlyMh{8?XHhZ>~DB1lr@O_G12 z#izIsUFTIW;ENV&-Qq;CuPQ`wpj-oB(v*fX`3~Z_?30OqM&O_1oVLk1GySj<#Og5J zTV4*zB=K7)(+K>i>nwXu2e6Y&_{b(nHCT~QxIh|L6K^KuFO-(m#C;pX0_oG5tVi96 z3qZyZ*Cq%;U7yF(i>e{rYraPIggk4WR5y^-Dg6jAxvNb|4P?~=zDK6`s%F1zn|*J5eHdvm0~Al6OjK1Z4q#6}DD zxzdFowoPa|Te8(=@xsel(vjLML#R7PYH4P{!iZVYKr@>z+?^>EnORq%%`C|r4EWrc zQu|;wSc)IS-fljJr1+1i$oQGBPet1KL7b`p%6_vD!qc`j69Q%^Q-RsaRA2@u<+!H; zz=V;;n@}rmhB_7C7!-fvDgIbyC{uw9^c4c|sX&G@6)1sWDv%*2E|9Lw1xjF;3n1f;0VQ(*F5BF6WiFt{Z=WueZHxvAPgf=b z)7|tj8JI2&ZOkwmn2y*{ZSRW4tTLpxJT*f9Z=zHm%maY07R~5zQ5`&+C_y zS}rHeCuf$Id}oT35XEX%Nt;U5a2E&nGL{U)PLI57nv@pB#2RhLB}Pu6;$9fQ(RtIN zPQeQ2rbxA#uudV~D2h6@pFW0#y;~GiAzb@WOloc4A)7Q^vNvHCVN;s)SrZmq;g_@$ z0S#59t4&yFtAB9wVL#3cFgcE1Secdwx8w|thk0gB2G5V8e92Z`S)j??)1dqL!cud#h*C@w;c7F1*Q zB&toXPhxd5Y(JJEhQqKsbifrJxvZPO06ueQZE^N-aduAZp2-JMS>6ktpysRyKz#tz z&g=Ygc0fty)a;VOMi)8STu4 zj{Z~yx0>LRyqmMewr#kD0G2yJ5;OarXuYQBGPp!!mg7K4&%Pn@$uYlVTy!=CF;i{G z&~O~8a~wEADv1T#dy@n?h!(hyk_v*6@}r3*o4*Y>7WUo?jntEh?6;19ZEBk-M!?@V`f=I1L>`tiF}usKQexF+PPadJc`Pi zo*%2tHv~v-b8r)<5E*q3KAU54b)pH;rZt9Q;t)c`UL9$kUV>UyrJ0k;?dv?sm1&r$ zV_#ooe|^FHA$3e?NMZA~PpR>o{)x#K;T+I$VT{vq@ zJTu18OVTxKQW0Wty!(Au1anM$jcEUrRxDE3JVIK~idFC8AY1ZALf>#iCy-h(M@(5~ z;l}dCv1HUfaE|7%XbSd2hsnnP)6CjMb5gp0^vPJ4^m{8dz}RTCOG=1kiDfsGr7-+N zzBbAw<;Jpx#^sPaKb8g7OM_)-EP&&KCLc89^#m&k&h5%TnEN8?zSu?`Zq<5;xu@<^9tX~Tkjz5!wR4dlACK@DG+ZAKf`ZeVu;pB)7zj<_UB z_Z-2~H%lWOhO`#l?_p%n(k6^qS~^9SuC7bhNRukJWh;#*hP$L~ZP_^EK(MS5&qg;s zKa4nde~ZJeC>O3QV$Dsjuw%2yfRkl9oEmLEXz@W*#QW}l_mV!2$256QFX?(btLEE* zi|0MFr{s!fp~BOiQr!gB*LMoc1)6!iq{RtrYlUBjBTE}=Pvp{XxTKct*hr%RCfU@E z#rX~O;wGl!P#?MH5E!Z*3-W)6YXEJPf|ko>lelLn4>>&kF&@X@|lt z?O7e)UxsqtFH@!2?J<*F*F#$0o&|MWNnmsndJ~}!9eP5~eDeHvh**yIeuCwcKY$11 zq|!W;T65xMt9_{#PdmK3q)IFiQ-Q3({L2DWhALkcFg}IY!*f^_X+k11zcCf3>HC8f z*>^Iq#uYH@h_Yi2N%G%6A0$SxAI+WC@Xf(V;kfI2QZ5_mQ^795rRV zg-FK_XVE}kxu`5Ig-(B;40K6rJF?(5;z0Del{ncN&9{IRMIpg+g1?3EuEIkULuI|< zG|I#0jQ`$7{Hrh1ByO@Z;Yf{N;aD-3$SSgOUte(=(o!HS@ zK7iA?zk|M+WRQpVB>}Ic;4OtUeO%I4omo(g41!@p`Df>I5{?8RrLOjMNe?=+`aQj# zqGHY76t~hFE57829`X-iU6YLpoGxUI1RjCz_fp2B1hj!R;yRy^ba5HoU}ZB1Pf205 zjb~uo6)7y(RtA&H6kNkfrBgFfz*&~2oj6&%3)VZpLiQ&i9dRcK@Gb!$KJQlnPX3;d z{aW$oN-QdHI^HOWOE28%0_S(Sbe21&6*&7u=`u^yG=^Pgb$5kAXCrsIz&TQvzMxA_ z)X|A}Lwc(V>*hBD!tym7*>qfQm-I&$M2Ch}$+s)39c)1<0>hmSXluvZmRN2MbVfom zt_t8CrDULm{tlA@Z6`;Y540qMe4nafi*79JHQ0HymrHVVWf8*Nj?%uaEHddBE_k5_ zQ+P9{*qd2Q5h)l!yY}FOIwmO*RtdXgaqQ3Kl;1~S_)-!1QjYhQB&lIH);K5)U@PVn zvw#OU?Sem%za^1!yhkQUbGosb0o@44URvIyfX$T6DW8xe?d-+^jIJamo$JmjOP9N` zNZ%WZ(jgtBDyi&Uzrj6;682MQn_^*4m-KZiYi-;Dg!V+;%SP+DPCzP`GvKOpu6{QNfmm+LTgYG(UXM@Do0{a8&E~M zJCJCxQvN#f>QP8?H>JB^#;V{sA1mD@Kt}Hrl&M^6?V zKY@U%1sbbj(zIWmmP!TQ1@UBo^1t(krcsXfF$G*0&z1LGsbs}?seLaN++J>5qOV-P z3j~C_XC47TM1*fSVKkP~O1iK0e9nc%CY#*FC4JP3?KI9xaY=o9vmVAeNbKm%J{6{Q zR`zy+JM+CAV}BG>>&tE%ze&b&t{>(UXF9ng41WEMJ*+P2bU!xK7zv!l{bAP(;B@NG zS{OT{D62n9Enjp4s=jYU2-%3T8~s_8`u>=tVHX$O<2(s`PwoJKyrrYA=Qc|QWI6bl z2e8J*`5j$Sj{&TalsAB_HhzShbs#&^A`?jexnuNA2WqjB!>jkML52(f(cM)(%$GxTF_nXh8H-^?liXS-RT17Nq72$^JX`3?6%fIcs$=I8_}L`lzkKr8@M;h z`X?agh?{c>`gVyIgO62~(%)d+>Wphc15C!vF7|uH#$@}wE-|-eRBmV5GcOjmxTd(| zHHygYwMCWk6;b!U299O>ZG3Kh<=V{;RhAT z7s1j?VSf|%pXGfZ`D6t9w)TM57}S&(d1zjlm}5Qxdy~Zr9j9 zGfwHLe9Ok{#Eeg!eb8DhfDU8s$`SD{Y4j)r`44{wqobfN*Mfpjd^G`rAt2cp3rpv3 z@apZOSfO!eE0?roBCBHT(Ap*0N3*WR50LnIG|MuciNTa`4BKX$9_y0Ijb#CT=355C zLz5pCP!CN*yzAYPnvG?3jG-tVFcw{2I5BE?VdeLtj%&dCVD$KD&Mb8&Wn7 zSjjjh9S>c-C$e{p3!166^>6Ny_Dy7o#)U|@CbCT9_NFc=dlK8$v0JpFWXmquznikb z4$aljbs27exavpaSS{=p(aU2Qd?>|m!?g=|XzK5M{<>m<^Vg;H$*hU-M=<<&GK)3( zAaQFl>t*Z?hP)+2FdQ_6H874uB4-NPS&VW?zf57ZYbE~-?IuR?Sy=-f&KI`rl^#a6 zZgfowNMoS^E~w^adjzcUzhC(WSEb%*Y_#zlxE)SI)4h)bHJ$Mf(Dt3m!UxW6!j1Wi zdVvWn5X+0dq6RRct>Bn9s9-cSbT`Jd^J-({e}kgADAEkQ2)#&&5rxi82`*{rRMyD& z1vnj=%9a^}qg;EtPGikkkPq=JIg^AD=}huh%w6R!ja|}v(^-h^BxC_RUhB|Er>Z#R z8!Ih>dBXg7=Y7a2?*|CNUPcF%KW)U*XDR(2rE#!RjEMw&Z1RLNM(tyC`zg_#KH==H zOD}8ds;Mec;Cz7&n$S1d{v@Ffzh3h2f;1$ZB^m!|;F3N}XA}IIUr7^+_2`RN#zXa7dymdyTbMBhBu3A{u0Ta3mLXBcS&!7k zw8$Cjq7BT2JY12V9v+0GoE+|wew@R?jSG-qb6L31Gn^A`ihRmk2-%{pOBy>DLOwVP z{8OR8pUd7562nNy+V#T753p5>yVW;!yCMW=1l+0fP;>Ta)XcZIq-*m~Gqx^QFBo)( z%tsISCCnv>^H~RD&pPn#`7GC%AA&W)0v2QZ3pk%FU`>r1QTfIKNH^U=(pBhbA+>N~ zf>025Vs8r@^J2CZ$H6A$1_BC&S~UJU1h^awZ|GBp1C|ir8vsx^kJ5*gbQ-0Oe?UGh6Vr@GGn4!P@Xo~&1wLW$~XkGo*pYR1MF8ksR zz{j;wya?xpF08L-R<+vyJWS^%G?NP=D`MiE33e9@65bTVZ_=;J? z2`Ma-HSij@37;|Ro5?I?6HihFTxtQy#hGkUl$~V7L6Wk~MQ>5>ZHVgrQ+tEG@72v#j?!VPI~i^|7l)+yT1Qtn|m z;uar<9Zpt<9ohpa#eO8kj%&TqLl3AybmuOVj}0UN&`p&uLO9~u60}kcKpk<3L}4)~ zs5Y}Y67do>qD_GFc|#6ufXG(pM4-`7oF>FQ&BRf<^aaF}drMfLad-_x89SRKEc!s2 zZ^wjjr#}L(oi(Yv4V-Y=#pjmE_S^E>>KLi)thX^A7;WFi0qW4h(($|{TEGz<4tXK=KeV}=6@aLA08@}4Bxv`FeJjntH|m6ghoyBn7;iU%=#3n< zG|c3$n1D_RayTmrat}+ZmLhh%SIs3|S&Hid6Q##X*@%j}P&vh+ zehbYJ{pz4J-odODzo|+F%;Mk5!4c4ogHnNm^)!yg3*z~ov#L^~Wvp_ASRg4!ZI0-= z2c>Sym{qu0g@239w-7Rb?ZE?5{xa6icaD;saX>1&oVD_8p=4Vgkh(5salIc@R?M-4 z%wfu2N$&x{I@^?NQ#E^%vgyg7dS<`k->1$I6TF9v?N1s4?ORZhR`Yk|A(iM`c1Bxe z*P2}RM&ZrlgH4au%tTu!vg0s@5N;R*k2sFgwNE!GKY}X~1E$zlq3kZ<91-1vVjm z=LBjMR)qJT|H=#6@fT+9$?tP}P}huQdwH@h*hoEfNwBb7yZ+=oeAI`c-sgW+nTk=bWt*{>wkNj7F(rxB8xOe`r%|u zWPxmp^qt72vxZXqDpuWp(;n1=CF`G7g(pkiT`#4rf||copr-IWR)Oo;VUKiV6{}op z$$C`LRHLI6u39Jv$+gHXwR|Tl6<&TR`LD*r#9YB84PDJT`q4W^c*V-Hkha<#wf0JT zRw?P%9_WVzzsq0zgY8O|zF%`V1$8tKyj4Lb!xeyn|^0<)o zV<}+b*6^na+r7thQqSR3cJn4b9RTb90l2)u_wfy^|DqX!?qJ%S=hAbweR`26>i&a4i@#RPdOFl`O zUW0b&=nGwZOVWuc*!#G`_B2~M{yrNngwB>CwqirL3Fg{caXI4pENL?3?||M`=5K59 z5qjp=FJ8G4_8|@#Xi15MA0%C68Ov#wKlcH3f12I21aGHso8MAE7$*TgI0%__lA|CFoniJRd`EO3 z1R!3mJa|3J;k?M0XHnyIUNt>=-G(?$Zw_^<_IztyO}8OvVP|-;%jHP(c3!?i&r;6s z`Lne1Tj}Tr%u;{!Q@-81o_}gH!BlaGpL5$2_Xq?@cW)($?#Vq}QpFEhknJ`^8MOKN;voZO%8O^SpYNc|*$XKQc$5aa zCMvt{UO{`zN7H*9Xo-?TREhAVPd{WnLrE!x;&*5|8ol6xcjYhlqcQ(@jxve~&ODSU z+&-if=e8axygTKH{`P&Y7fy#c>qGQ1(*e>z?)FNm`Vk8@Z-ZgwF=z#40$AXr&-`oY zD<&Kue*}Bn*8zX1Sb`8%sU)4FgZI~^>+5j3>eA13=>@uUZ(ZHmm=!=68>XxU&R8YG z)BSYm%euq_r57OaG(WPtZa2D#|19gn^bnv;AZ6!n}=`68RkEDYi(!u}HrK@7T zr3n|IODE~lA7Oaba4u_Udi^C?hqOzlL4O^5qAopHC(tK4_+RBq7);Q?qjZ99*TG{! z$EHcNUsupm$Kcx%c#2~;zasBET_U6#cBuqLQ|;^UL|U7~JNuOsID10ETzZ*>xF+<) z`lv}hd^s93UD{Pi=+(O?Ue57BXR+G(JvHUifXbUXoMM*csZ@VE3+(5IE`lIWQ@Lk9 zQXf)KQ*azgAC>&~H+jAA9dH_N1E_ChOx0E?cWB1wh+FdzJtr6_{G+i4@HaRpDn13J zk=FWNq2Z`w$}V3MxHIgk;${O4 zBl6v!bmIQ&)4}mzJ&<@~&I)Gh)wf8or(}&ONNxDR&2}YNPLMCY(qz3?Dgi+UNv(l2^j=A?`s_4Jj<~=egI6C6VBs@LVS(}7SK%?6^9cB#JnC^Cc%zH^A2qB- zmQ)x$arhXJ_Hs+_tx(S3ln?WXtLmukmUn+5xae=iLtB!Enz9((g23zqpR0;qi@ggP zZ||f7whuEN`n9#zS4@O~rj%*%U3{KHJA3b|;%|6FmR_oUgEkdAtSPi=TWaAS`pm&L z&^c37)pZYxLk>B(rj3M$`XITKvEv_?iyZfn(Zm z_=+>qJQ#}y9D2fC`HMV7Dv)bwKLNMQCz}$5idJw##O%O(I5sPm;YfW#3B^|IXteMr8)Pm8-tF1YTF}bN=Ojw7C#!4GM zW7WFw38Hdb-%nn0?tk@|b<~ckN&m}ca~?@74{h=ncOgtW=Fn_$A5H2q^O-fK$n@6U zs%Rbhq7wm)+Vpg(g}&opHLg;otM=oV?2(g1lAMGppZkOa!*@k#QrB#|A|)q+<9Cnm zmfPgtVHF;|h$>AOaYq~Gz{wX~_UKm}u5L!FS5D{!NI8-#hsM?Fe2vSCBtJKhW2_51 zi-Jpz!45yRAq&YT`tb%qTQo$xr8gr2 zzYHD9G3{S|Z$A=FhI6}vTD<*4&`pK%{t3v|jad* zvu75do=w@VdjFoH9d&_!55$FNM;eHEUrtBI!5BwQ;)q@^DLi(4s<>QBiY7CNu(EvV z{6FbVy8p_?3G*(V-U$T9ssu;q3D#8!Vm3o@LVkSre@Poa(qcG_BoX10ExD+;bH$%{ zXOOqtJu=-w`ctdwr~jx}zVZ>RHMT0a7|Ndln8JR;u3dU9K4C~O9d2z&&OF9s0j;dx z(%WkB>}OZ;md3HxaI zAzvd^9MOx`C{|7dMe-?b<;wGkAm2ujv4PFQ{C~Dy8EONx|9zsbj!r>b8aRRt7mwtK z$tZa(mOdri%%^2di^tghgeSBdLgpq&3M@s%Hl>UTq`Tq^22xXC=tMqCfRgJJe zhAHcbc-R8YkKsyg_#G+fIpjh!-VNKTP0y8qQU)r3I|sPCA%{>mtU{>p+LqwSZ>mx! zxlVlWGeszua?t;~V7@~3DFT>C4Wo%pn$B2J(3qOeYZ9KXnQ4|{CZlO_cRvi})MjWd zKNWv>F&Tcn`oVV^%GWDjg;z%LtYc7m9N8h4GgAhh%}SaEopwkUJwmH6Ot74d$Y$@V+i4u3!cyD8b&r9y!kka4@dM_@RThiHD21F@i20;XECVP*Y?Z3N{jmhVz*b&_mT!{1eZMx{Pnz;OH z@45+4<$AnD|C=h4=W(92;=)^D*4Q+xL(XAJZFO{j|CgeP1|RNX5qR(?C_bWjg90}5 zo(wFY(C}z=^ufHhgO4?bMpD?Efb^rl&1nEJ9x!dlG@|`{*)DBd1`rD zdQB3SCdoW5euMIoH$jQ5_|{KB-PWnq(l{OlJbG$>p@3&djC2(%RmB>n$Kn~n>MFky zgD2Iog#$Y|^Ef_VM61l~Q}-1oMLYdldaeu#sjl$Z1 zs*}q{rYTlGQ-rdJalZLbyMYCGD&Y9!G1|jf@Cb05vT&!Ra|~9@rtH~Z_u8u2xuHaW z_=PX$o3g(EAoDIWtvZ@aL+|SREZk8iEUWzz?kVvlp(`cgh&&i_(cFQruVZ&x^5Fxf ztd2CQX%39P4>AnGq{PUktXh1y<6cby!il*1@?b`;o2hIHnE5&$Mom7E51sKIg)^9o zNIMWT6?Xb#3sbrAj^m!&%dnrS9LOPhP@n&Z8i*v%ZvVsv3-`xHsP?@T_t51yXi258 z=!iZF0(>Nsmv1G*FSYdJ@p3muP`)nE+fDK}k{k}BREBnhOWPE^pQ5rlFh*UDx}yw^ z^kInkfbmd zmRQd?><`(Ns_I6DrE$a$qVh5f z!M%4BdP;2Z{PSd6I33+07k{&r$6Z}aoevzRNKkG5su-BxA;PE2vG(9RqiyS;KFKg> zGa*B1xHJE<2))WnJ#QNT@?kU&Y53m~`EiM`LgHOPp+VoIiN~g=DJuq3VH^`^(Li2#SSs8-zjH78Nr&E0?U(12px?GW4BNbrz=58n)i6|h(!d)kXJ`P41}nhwW8 zeJ1|^!I!j0xV@5bo3@z=QyV56(Z@0VQiq>R>e00I77g8|*H*4Fyfe?+0loQt|!gYrmIR?bT@sTz=|kvaj#nE|LWRd7U4 z&QzQwVFTX%p6j|c@N@S0i)v|Vu2&YFP?z_(i0+ZJQbtFOe0e^j&8z$oGL z!as@{6h^d&Az%Fk%x2->k=o8oDh;D+N75ivNk^;&SA6Lc?PjXDz|VP|2VUhg1D!<9 z>q`~g4T(S6#SwIVe)tNuW}Jr!3}-GPSJP$yPVVxKIPXR9q>hk7K1#N;pMwY8;F}Uh z`Hk-eGf;jDM!^X0^u?48hc@RH0#+GykS?TjX(jy?rJrBs@ST*tcNzS(lddG3uxRNS zy7cvDCGfE4CFxupyq6AMPnRC5!x44xGw!slz?p{QC5`blcR_*knJ!)RMF~!%F5N`O zV2}>~g-(HQbm=;}x}Q+m#_v5BIDge4CF+oNVAEa`E=30ybZJSKKCeq}(xq?c(l2yr zn?DZwH3rRe>2A98P8_aiIA?SM_0ZvT(WS@g(!F$w{jIa~s8^h(a?m_fSK*Z|JyVzd zzqYOgF6Zn2pYN$}CDfDdDm@X)r4&Lpi-{sM%*<>Ra-A{6T%OpJ&D>_s^M8NN_xn7a`TvfW&gc6%pYu7N^Evm=xje(Q2(%e(t*vsz zsr9v!=o33h2id`&+riuH;MaQDr4ac9{%;Cpb}@=UBp*NQ{$ldnKXF|F4I*)dxN}H} z>@e>obagv0R*;k1K+-HJO>809%&}V6g5J@(@wl^M&|xJTZ;5L^q_+4MarQ7?KFRw< zm=7z@^7g-oXMa?@6(8}!kIJ<6ADyA5qb@k4S-P|vgLGgKEpcAs9}fdf!#ef1^VDsJ z1wW!hhfD=p8je9njxG%*D|M#Ezer}?4vC>haBcg$L!#&iu5EWdC(*AT7MG4FsY;q? z_meWzeeKV{qWi&}o!h1#e-;aWQU)mn;>J&SJ7mXM;dE3fFxI$WyRdjF-k_c}2HB@m zFp&@#KYop&p|N+d_~O>grRJ%gL_3UN9eH2G~sa!4@X6w6cNXi zVAtT&=u_}M@2n{C;xXlOe!FyWwX(RunUhk!``?RCs+ExbA09xCkZHMoeKL^jKxXB1 zwuHzbco_7SR`rC|wD1%KsM`of8B3lQw7E*S9asE&Cw;Hck!I~RXPR=H;%Ki%nm#F^ z-j$XpUk}10{o9B7ece>rtEn>;pA-|0;}&+;lVbaErDbIIYJHcaH2TH2wbFmTjC#vm zp~WZ_njiPipmbsDy=`i7Tr@m^BS_s(i0~82NWW$8SuD1hZS<#aPz3z$z)7(dRDP>Z zK+UB?tTRt}-spyD#c@${LTT#L{1~NN7$moL^stM^h2f;qp%2Z#lWAAkfV`&8#o}*& zzqzMxdF#s%nqfFob&^vRysLxFj;ThxlT0V;j=oC@c)_px+`ZW579}TfY`EEAvH2wA z-f%*kIEhE8ZX6T$Pb$rn1H$JNt`CM)ivy=nYSBOG({>zWl6kpddZ+Zi%INWmO&PvN zHMK`ldBEr?PjMw$OE~73h(4{fH8w&vYwyc(loZPP&Amw$w!{?V3ajsAQG8nQ@!UR( zPA$LjYD($UMAG@}pUew4ObBpXi!>G%&F~f%PAeXK+EGz|8h89(I4T;PQNnrW*`n(i zC9Go!+IPy_Gs!e1lr|)+JsKv*U@zEx)*ht!9fU%4N~KMB=;*d-{f}bd8Ko26(>QCD zM+!qX$X3b)m0Yxa7+Q>orb}rQyAZogSRm)sJ}(}fQ38twL0N==ymfmrKqr^grg)%J zk+H@@}BMokzRqiGW{DNV@BLo!=`#AqI_A^K+n z5pqNZ_8{1sU{na247hK1if;hh`A#`+&>uQP-e>K^iWDz6$=sGkHyST{AiNzY8OYMY z=N>@#Ku66`^b$Re(S7^8oM@KX6tV40 zb~CCX@hCXnC&Z7jxz9`x8NVnUdFxcM=ocj^Zp2V3TzV6GIQG3wBM(w5ai7_ddec(P zOogz)2&3aQS#zk9#rc&wQ|qC^`Zl6UFokieGpM+5*|#f1F8)Vr`E^u{MPL zV$;E?^0zD<-Z&r==R*%jVS-~1kPtzg!AY(HFPgd%Gd!LH;ivW%-7hLFU%ZFs{u;(LHvETGQ0;TArjOTUU$VIFDT1h5< zFGUXy17C2J%F-eK{OyiQopc>_w4p;W;O1y8nG2NEvhUY1c*7Rr}gHoPH z3vtudx8<*nF4!-Q)F{y-*CUNNNpe+vi<)s7mekl#B8lhZNQq5hq&Zk$3tt5CZHc^Z z>WH-TJlr$gOG5b=GFX;HBBdp}f+^6bse7eX7UBD3S#)p)f4wYv>yaIwL_Rb? z7ZkdXGn5D4NmcjTu~(|PskM+Unzk3&B>D%{PqzJ4s!bvxgQY~niK&!m$!n14mG3l( zQua!Tc#FNF{cnnIo41}sc7GE2RR5 z-)RMAgjK~>y)R6))wEUpkb%t|@K!^N!-@`$~fN>Y6ejsQ(@s?pMo+8r^iB zc>!QE_{^wsMk_&O$C9(zRh>q@{&cXyku&)wcI-M|N)k940ojp*n8dTZG?C}+yc z-y_LOm|TI5 z%5NKs-Dd_$FZ6(Dcks@k}jhp4+z~tyYN)IE7*`-FSntBk#Y| znbsxC2&OCI<62xhTJnuJP^+}}tdm0LVhbEXyL-?0VkuU%||t7^B{;Qh6K+QII2 zqO`DsXV@iNZpZ%vJDL*WW3}L{unX8~2YcE@?raASyZA&0Q}o1YCt)scRf9c~b9NHn zwu84{G$+_1th3|zh8>&=X>hz-tM0^I9`UY3A5fhka(_o--91Tc`5lkJx`?XZ(esS2 z5O;o8yj?G5Xtnv(Ny6}l;^VmHS5$rZ>(@RNBKZ$xFt6M$R{WuaxNk)DlLlsb2div^ zIQoYY?HbcltH=|liN?2;U>><$MBG-Mb+=U55nsua#Jph_@zrgmGcWjB+`0`rz`bbU zQm5qco}I;8bxJCq+(R6!!~151+sq4#3Iq6%ZNjA<)4F}Hh-d1RR~*NDjp?WHZ>4Fl zFWQHx3ZG=%F2={6>}<*hnM>7;>0)oa(vw$o63%yUT`A%#(3M8h{d?-k+D}A7)b8ut zP1K|>DG=)(Li$@6xj_>8${8%$(y)dlTg(SZVZltW{~wxo!M^(=SZ0rN48OOn>B;;-9-n zKj};1|2JO#4&NfW|E+lPu$RSf0J^~;-%;4W`C_Ql-G)Mc|)7;`s?(|;?& zcxihPbx(PYAB+=|@4>3HccWN-PYD|$Hd1L|RxLLzs3JnbeR6hRXL@g(P3HsRWQYkN zau!MR@No#npf2r66pU^%5&fyjVS@;`kLTc8Y}8~>H;R|;D;IdH4WjD4YB^%$}G@Fwd;>O-Y{`|jhc|(BIdQq87gK=aKaE!qmi+(xkM0^RnqS06j*Z zgsamS>SERjOEd209=y&rO5=wH*NN0eN-m#2SnPhJ1i7uF$yRAX+fSk6?OzDfBV|re z;1^H&i`QV*(z=PN+Ff?=H9PpB9UKm8mzBP^9X!GgUSLN*(T3k&yIzAeL#>~UXn*Zj zc0}9l;1_H(Rke%k;BRd-Rkc@Ova$+v82JBOK9M~Ws+Zl}lc9>3@L1`ba4?%ng-+zy zR%%^Mo<9MJrbyEXY5_Im$K24i8tFqSe(LAq@?%ULyj%(KoC{q^k;6Qe!8q-@LAK=D z4ItMi9;tIzYcmvWV7}D-2glICZ|2GC31>k@O#ufXuEN7sMkiS*c6#7LUIaUz25jwG zs`r{?m^6}52D#r}12QSq*)?LKSqY5&W(}QlfFfq$!F(K&gG_Wp0+xc|p+@(a;~K!a zGzlwz+C3wwVO<(Ecd8@Sh~oUeuo8X$48l-zT?#kuAv&Azb1&iUMq#Lc*PF2lM4 z9Sd#EZyG_}j1M-)FPREDPgE690 z@6=IpkPIF~k@V3OeJSuhz4GgWKpF<>CH+0q8KR&SgW0rxm00P(oADn%l~ti=0`)9p9$dO|)=5;`9#MNnWf(lhxmiA$*8hbRL=OVHpp2ddE*yMC^{9h*>t=GVq$fZr)O7j5_c3H82%ih zAx0Nnnx2S(mOy3JKugQCk`#@Sne)&|#B$!Y=oSC}x(+l-J85tuuX=ZlBfLrtJ2TjOu5k$@B>= z)^J-Rb?(Dg2`jS?myu&-9As!^?xeeUx-3Wchd?j z-J_q#bYnI{bu?4Joj2@+(RGta1Vfm#uaXgJ{tu6Q3NeQ5yP^`90_m^oc{Mrhwh3{VRKU?_r;Wh?u6NA#| zYly8^{*Mr7uiTfkB&ZN0mTQ^p5BBKn+eLysWfI#d*5k9`ocQ5np>|HT8re;asloL= zk>QoOu6kH{54d=zIA!q!+3?LzZJ5x)RuLx=B>@*UwQ%!tKS#-w!lmh;O*T?m%*%j_mc2bYQ2&OFL*5s*|rlhGpVu3J`#W6nIH$X#Dr z7h5Ih26F3RwV6O7d24M&w*u=1{q70zE2kimxsgo3UJtW=1&vKoT2aWQe+yLoR4^kO zZ9nRjhM8N_iaTXqk)Nse3pC#YxNTbplv@v&I$$^D8x_}DhzvY6h% zhy3wR#f-=9=ia}y+G?GEn76T*|Bsl1L0x+mSer%SNpA`I&#>wAANo+D|A4S__sytL z=((X}(Ypb651?OB*9!iJUg)oI1E^ORdB~fX*nkHVVTXd2DY*UxtX$;phfTwDb*Xi_ zw7>TB4^QB0cJM`Tm&n8?W=YH$Lu1su)}Y*gZJ6N z3+?Dn+Ts6%rQ9me13P@wp(psHL*^%^LHgP;8f-^2#txog2QRXN-R^ERq`W zp1k8!F|QFfMy(WP%TC)2YE*aGJ(%A92-t=wQmsQPjlPHgnih=sNc`G}59HJQL}X(g z?e_zX@N<87GL8Hy5zTk+5;3(g4|dqR76 zTrB#yp`nlbP>gfqL;2iAqRNfO@}Cw8#hpj;dC!WD?tEbIi-?4NG6w5X^kmdsRSl%7 zEA8*DK4P^ye`etH5A_k|zG*f>O83uh1BoVQpg+IsMaF@G(P<3T)(!&CLh^=URWd~HPJ(&%8BFix8uFr7r8F2C8d zn1U(W*v^-Jz|))Kq+Pv8@=KC3$)Umut3y!@ETq+U+inb6Zzo}grg@4&TYO( z^yERjy{}03#C&l;A5rAV1NoLR*~7VuGP@q`y)yB=Cl76%1tes<7^^8ZyT5(WAnSV3 z1T_;LUfj!hXcy#u>wMA9i@#VD0~KQg$)5|{zaOAaOTwDi^cx^+Q*K`Q1nyu5KW7L3 z{hgJjsxT@B7?-QEmzY_zz zd1&|<%;w$stUoylNMO``I~n!ef5(yD7vpqt2h+Y%am0r=<%>&&$%nrX61_8 zH1kRHEL&x-Glk6(t%AY*!Avm(W=4KsrkE4V`|#Ihic`USbkUEP=bCoCLtWVY+CMSF zFtwja%_1Q!5CJW)?52P_sNM2Mg%V;2-3Vx{idEG*ZnwhwYoqMo3_Ey=4gR5ap$)F8 z&E4MZN#qT-fFEiP!bEAU!#!>I{k4U5a6VwM)=Amo;{b8GW6p@5XXzALnoQCchcl7u ztSodJhOEh-^eIia)Q$;*i!$7ye!5xYx+u}YF@$^b{ju6e(Q>*rQZ$@yS2*TkkrBe% zIaU`Vv9yLbZZ@P5-s^TNGK-0g@b;kpJ7%%CkrLeI^=Y=6MW)3u_qX&tOdDD<_Lr+VE&TY_j;U4Iky) z&f2Scv*2vf!H`i8BO13n&H*1rfo43_#|KCwnaDnO1{|A zmQUid3q)8u9>Vue6n)$A0^Wb3sBFjk^A!_?A)I>~dt>H`BSN zUm_`-ui`E9L~S^KfgjBki4lBEqrpSa^yXIG+GcW{Sg|dFrz&3=!fKosNAe|3FBD{s z&W;uTMDk~gTzlu_j>yb0=H?ZS&7DvX>uNNHhmXlEC^RMy7&O=@-JtCJ$=Ufv!cNE> zpKT1w${v+DDW@>j7}cRmL?r%2wU+Vna`Ov~X#)oSH=e|T(UWK~UAuH{?dl4?A;frm z<^%{dK6^qTC6DJr!V9z%DRmK*%-g}w8Cy`O;|oBQoi*0_DXHo@@zBNu8I7aHX6IxT z#EN0jyiJkOn4dj9cXIXp_oWW-0j4J-AF1pU9iPnxR+uS%Tu{;m?p;)1sKBsPs+?`ZPf%Z zL{w3q%tOVwF1(|M%(;$^Ctp~SxpzxjMrDu;NT;0IiCSP3U#9TDBH%`67l!LRj8AA0 zKnBZ#SmSsoE&t8*g2J&Q#~G*CK67#l@ij7UlJ+;fKtp7WEg-51V@HBR-|RQRz?eDV zO=I8mHd>~Qqw;gd8wQ&Mknd9?vvSVe7&QImC!MwgR5)Lu>~WYQ62K%jCB=$vAl~@_eq7h;aT_vD&8U_ zKYKK48EWL~V++TSXdsM$1k@&EeGunjc}Rl2a;8{6pouAvi~dWsOd+LAfl4R~#2_pG z&G7t56T~xdJfulM_Jpjl6Gj^gbM<6gEBuprx+2O`c&2#Vj|U3x{=Addh|GeqBT)?b zAdZbKm^1=l#n`^whl^4WIre`cHC3$b$MJ(RB5eSlD6l!;xBcT!FcgO|nn=NkLvW=+b;X1#j| z(?H&=6Xk|!g~i6_W@YEF$w(wOpXKKkX0pQk%n7Vu>|5E)z63?{K|H~0WbT9s*(0fU zN!JQv{D?g9${@bn9m)ayNUJ#F;UIpakyW2m^TegW{GEnY3^Xh7pF-sfqrrEL#ejf~HUKoV-V0g(`5qR_aFp?8>{Kj)pXg<=T!mlnZLy@GtZM=+ zmV@xCLoAkflyzCC#j=_FD2pWnMV*FInLDtijEu1qS$bm1P#Fux@FRzTG0Hp=CqSy< zSJU}QlzHXH7E2}k&Fd|et|;@gZ@>_K_4g2%%KQN0!OyG4HxkG=VX^!QpPjT=ygU&f z{!sWCn3~UlZ#-?WoFe~BJB!5#NsK>REIIJmIg2F{m9YAP#WDqc;w9t+e)(mKWtopy zHH^0k%D`SIHbc+^oRLSyLh-*7{vS+++QqeDyhVq~erAgdqi{IlT!{ZW2#+dab&&u{ z@V{og*p$uNxDu;M{Lk4SCcMm>b)#?-{ugdQm4eTDxEV@#PdC5W4n5tBgI(SHdb=5t z++2D!eBRBkyPKhhn+xj-vOopO-XLa=7fD`?Q-G_U{(N}o~rwqW4_X?+U-lHR?_tGhErKJvJ z${PmfkE44r77)LdUjV;@M1a=!w?1kkfs2}S2trp|Dl?Np+cI==7l0Y^P#X=u+SpPDUg z0kb4G!)!hbsz(#V{~Uy6+%;PeT{YTqsx6#nXOzk91WcpgJ8o$v1v5# z{N!<7yy>fL|%qiQ#C;ZpF^_ z*@{Ox2SKy!6J(2Mx;GJ@kL6JVT_A1|^wEI?ai@s&$_#b3V~Im464h$vDTu%1vDwm} z5NI{CsYT6j=;vm9Q?{b+&`ubFXqc;fEC#;DTRDZH-^}_~OnVIlI2>^OzgmkWx-xuE zF^lV}*d})^cEETZ(y=Ep*xVX>D?0lB z5qk`1N(|_xsceP2$Q_Te-2vnSOe8i?vTwVK@5V#QUx7S}k>e3ENyy*E^Q5+v{dP!V zCPm*wNtAJW0jZaIj2e=-2QPBJ!oxkOMU)^?Sg^&ijWqMJJGF>VQ8ar(CqywSar>6)On73;2N!C!&Zq>=QSEcfSgu%bHm%HB=@qHWtt3@uW61LHYrD zSw%_3BHgEQO9^3e#14KhHs$di4e2`#->C;JB6uY4?)nB0%Yeu`Bp&7Q$xeP~`B$5Z z$rJfNr#!%q4~wG{k-8ToscvDhjDsQ^M>Q1x6z~?JS3YmnF$*Ex(lCQTD{?#mbv@O> zQjx+O&>ZOjV_7rMR5YU4%^fRU_*pSOgL}vHYG?$}Sr9eDdN*s-CT2+lyoY+Jxvx>K$grjXH8?gQLJdI4%kA&|v5`gH?2aqR6z>9!PW z3%Jq!AVT(J;It6n{oWw zUEC@}l93oIoL)0qE>m@^b{Ef1LMQkb)0*;iV%Q{%baO!P7*iM*iZufSS?E8vPU3C4 z{fdzIab`<8MSYjjto~2+r>=S}CPb?j{{JzDv5HZXd4N)6Q9g6*hiW!kRTuPPJDt?? zeOSE{!Ao5T{7yP_V&C|_ zgwWM~>fvPem7lu54?F3nzJ~<-)UC;^&d=jf68qVoI9&5rkM&{GoA$Zcn_X|JR`g*- zcbcl}da=C$6nr9p@_I3Vax*=U1o|UT{i_d~8Px30UTk-edZQ0J7^I%)&FX?EbU|>} z?J4X=uxjqb)*2J`rLez@>Yij~#@{4%EuzX$M<=PhN?IboQG~rP)I~l5Of^ebg z?PNBus3kGF-%?$W!rpJy>|$^BLo0PQL}{h2=*4cf>W$E{u=kb4z1hyz>X{_Aq)qr4 z@Mxp{mclN!QMdPE@3kWq_u8pPQ&?$uvje@^fpGPo6m~pZz1N%7hpTldY)-@=(9Dfg z&!w;*B2%yTVvnN;7SSD4TvEB+;fS&{iLH%J2i46k#T*}dW7Rdu?7e5tIjl)yk9r&@ z0*ggacXE|gT$#$l9E+C5va#ycSXQBoUlYrAbM;XyJL;e==*B*BRA+Z%I~~!fZ?U?-i_H3{rDCv|B8yXU07pTJHztNY^ERcCd39J}wVu8U(;F6xRncEv@- zG03t8>f(6zSp)UGcy_XZYK~*K8mRZ;**;hGW_%Gl;c9p%fo*Gu4|cAR*Tr}?y|Lj$ zJo~Y+3iwiE^*}uPy|MaDJp0#;FlXG=+p+97cXdG=+hrikA%k&t9GmCynSzfRPjyo~ z`@>T`lfVvmQSeDG)T421e+Qy`ucLagD4wn9sGf;sw>qkOV%f<~ zB<1x^q>Ou=4DZLXmDdVR@ zP_9DIhmPvTI98*of5fo;P84gov-)>ecF|e=ES|mZqJ9MZqZp8nyRPc)7q2@7HeXFR|>PoBD4oyJztFDV8nwFdUC#CJz;L zj-B-nEsbYiG$r_#rs~c(_H)3XsyJ31NSLdE>dH8FCs3Um#|{M%=1h=rQ5@S7s(u#3 zN?H--`ZL3~pg6+Ry|Jvg4PicSqaICQ-?mXNqe`_^|4LxD+6_4!&o)P>598T)MG@+` z1a=`pJrvJAiBz{Iu&t5mAEbeA07pd-!XGf#d1*q^H)N8TqosQ~?1h%xJdZ8=3 zBjIzMR3v$$QH8p89tH`&m(U2eR9a>XtzEsk8b~AlvM$P6zC=O(_jzr3Mv$ zmm3V91+p(a2)^N=&I)4xdZ-Tr*-xH?sq<7X2eOZR2>*qT;ZPu}@*QD^`p~)soHgR1ddg_dV4;E!jI> zK3iL|Dlc_uOLo;ueZM8E^HLYIV!wM+=zVXWWua`J55dQLnpB3e_kC5oy1vm@o!yG< z@KqnRWGnnA^b0@V+b!8aKg0G`Y+ayQ(}Eog-m4&BX^5EdEik&EF7LS59#K(?TP`g;Id-axGh zV6$9_rp(p%Q~=xRYSWu?vlR0sg|xw)kyp{@=tSQ?h+|n%lVq3 zGCg0Fdh`$Ab1aS1KGYDAI{s%JPfu%-qbVmjALN1Pt9ATI4b8^r_|1znM0ZTk$TfiY zL~mRpKZ{rw%nr$I&;!^<+Bew)$TdVnijWbjeUnLmT&|7}#8G*2WC0*YZ>ST!wV>K+ zXjTfm!UEaE4w?cr-NU4~3;~Ypjzy=ld7tZy4Bu&}N8Xi-kis-pV;sEDzLdW1nq8eIp?V`L5ZUz&RrcuKhJwno@r zr(dVzYjk{-o<8!VtFBI?tkfgi)+6NA{}*qqM3Hwi{B)iE6{v&~uGI0guqW3IYkI=Z z)-ynBdvZR|zZT(d4Ph=!+t+M*$>5jtYgM~pi3*6>#P1v`=%u;IeNjF7zN_m5jk3n zlG~%>2fm_x)2fr)Egc^_Li?sQCOKa$MDc)^fo;mt5VV9O7bgP@jE~X2X@y8GOUGXw zt9{e*kKDUD-Z~Pr)zG%qbmyto^c(1Htwy##J;H6BQS|~Hp?mc@p6Ok+HPpdV(?sG^ zcz@ujpU8VE;g%Bb%a)L}Sa&aypQYAt!``rqKtcb>flf=_>yq9JHZ?`u z`kc4yHwy^HJX!s3x~}LGZiyuHXBd_=g#LG>#5ZNuq0Smu0elk-V4f;%1V|{z1gJUc zL7F_zjsxyGaVA#h8to)2RJ0!u(bj*Z5e?O8TVl5$g!!>@J%dIa|03{2zqvw_TOX3x zXF5J@n?^`haB>FN4Gb)R`9=OWKfb`D@D_f>J=8V?Qyzk*03z<}iWWOv^Vmr%h5Dxz zQXIv^wcOW#D9i~YXr(S_njYnIEqHMlV@9OUo=X2)8LS+UUePTu@gRAsHL>*u!XD|& zjjc85t;}gNM{0PxM!!f;G(*SNtkV!yJRQ#>`V2Dh!QIe2b_)0=%+Q2wZl+<#z(ww^ zSc%N39{z|YOSc^$O-IiX4!nxjYoxWB$HrPI)G1ad>WEHTzguI!UvJ2?Gm3Os+BhvT zZ5)t`6PaId->6jVK~WO*dNGhCom`2IXWwYwv_C`cx{M|&zu-=u5bUIeB}+KDv0^Wn z_S=I(Scy~dE!Al=bf#q4 zCwJFM5#9nBgDWdrwBT1n4;5>Zj1 zt<$nV<~MRU%S%*iH1Au@`$_XIYu;Vy`6n6ma=k1g+9t*sVm@&wkX}%Ul}fMN+cjd= zxwD?P%=4firPb?7!>4p@LNxwQSO1whKJBJPm#1ZbEk)y`9F^8&7yh zlDI-kgAAhN<^xZa^XcwuxyJRO=Cu~xHzAE8>G{tO)wJ+*SNK>4NA*Knqe_sd>y@?! z$z1`S+DEzGbz0j;Q?d6;Fz+Be{~^$k2S%_&y+RsvRpw|^vo!CV=7otnh#HmfjFvfL zH;tI=;N*q_Pm&nF)xNF8a#u!Elc;p4p=Evuh&u77JJFRAkM*iPoN8^bu~UUinSBniFk zNGNu(x0a~h=`*KrO-RE|4R7rvoTRP-_pW##ECMvKc}qV$zs z^s*?8*V9AN0Ue+A)G&Dwcq7#;<&k8ddUQZCvQN*lLEl&*|6c%+sCoKSowno2O%W@% zL5RiDQ$0HAJhEE?BKoIi5mSf)_{~L{rf8#u+^0I;_=<+7?HzJ|>U_$oG<+}3W5c6$ z@zrrwD0&tksm{F`k+m%aqtm4Jnh~WHi?zK*TRT(5L-tc@FDoKt5g_W&=I9+-u@naT zvA|OjX|)={T7BreKHS5{l|b601LQRv#v$E01A9+KS$doYg-nLjL9L8x#j>=wk8Gzr0I> zat!BMJhNdOr^1nE@ZWNhj#7#t%AeSgUGJ`lx|FrrTm_XIUYP_-flS@Q% z3y)}MoeRJhFI#x$z-qnr>3+RF3d$rFUT)|qDlOdLVO>vH{dVHA1*sVI8K>3%-gi-R zhlrr7W{s)UFVtIvWIBI~=b~Z Discovery::discover_nics() { DiscoveredPart p; p.type_name = PTYPE_NIC; + p.kv[K_NAME] = ifname; p.kv[K_MAC] = mac; p.kv[K_MODEL] = pci_model.empty() ? link_type : pci_model; if (!pci_vendor.empty()) p.kv[K_MANUFACTURER] = pci_vendor; diff --git a/services/device-inventory/src/client/main.cpp b/services/device-inventory/src/client/main.cpp index 3bffa82..b6f991f 100644 --- a/services/device-inventory/src/client/main.cpp +++ b/services/device-inventory/src/client/main.cpp @@ -3,52 +3,169 @@ #include "common/models.h" #include "common/protocol.h" #include +#include #include #include #include #include +#include #include -// ── usage ───────────────────────────────────────────────────────────────────── -static void usage() { +// ── help ────────────────────────────────────────────────────────────────────── +static void print_help() { std::cout << -R"(Usage: inventory-cli [--host HOST] [--port PORT] [args...] +R"(NAME + inventory-cli — device inventory client and hardware discovery agent -Global options: - --host HOST Server hostname (default: 127.0.0.1) - --port PORT Server port (default: 9876) +SYNOPSIS + inventory-cli [--host HOST] [--port PORT] [args...] + inventory-cli --help -Server management: - add-server - list-servers - edit-server - fields: name | hostname | location | description - remove-server +DESCRIPTION + inventory-cli is a command-line client for the device-inventory server. + It manages servers and hardware parts in the inventory, and can run + local hardware discovery to populate the inventory automatically. -Part type management: - add-part-type - list-part-types - edit-part-type - fields: name | description - remove-part-type + Hardware discovery reads from dmidecode (CPU and memory), /sys/block + (disks), and /sys/class/net with lspci (NICs). Root privileges are + required for dmidecode. -Part management (manual): - add-part [key=value ...] - upsert-part [key=value ...] - edit-part [key=value ...] - remove-part - list-parts [--type ] - get-part +GLOBAL OPTIONS + --host HOST, -H HOST + Connect to inventory server at HOST. Default: 127.0.0.1 - Types: memory_stick | memory_slot | cpu | cpu_slot | disk | nic - Keys: any K_* field from the protocol (e.g. serial, name, manufacturer, ...) - Example: add-part cpu 1 name="Intel Xeon" cores=8 threads=16 speed_ghz=3.2 + --port PORT, -p PORT + Connect to inventory server on PORT. Default: 9876 -Discovery: - discover [--type ] [--dry-run] - Auto-detect hardware on this machine and register with server. - --type Only discover one part type (memory_stick|memory_slot|cpu|cpu_slot|disk|nic) - --dry-run Print discovered parts without sending to server + --help, -h + Print this help and exit. + +COMMANDS + Server Management + add-server + Register a new server in the inventory. + + list-servers + List all registered servers. + + edit-server + Update a field on an existing server. FIELD is one of: + name | hostname | location | description + + remove-server + Permanently delete a server and all its parts. + + Part Type Management + add-part-type + Define a new part type label (e.g. "gpu", "psu"). + + list-part-types + List all part type labels. + + edit-part-type + Update a part type. FIELD is one of: name | description + + remove-part-type + Delete a part type label. + + Part Management + add-part [key=value ...] + Add a new hardware part to a server. + + upsert-part [key=value ...] + Insert or update a part, matching on serial number or natural + key (locator for memory, socket for cpu, device_name for disk). + + edit-part [key=value ...] + Update fields on an existing part. + + remove-part + Delete a part by ID. + + list-parts [--type ] + List all parts for a server, optionally filtered by type. + + get-part + Show all fields of a single part. + + Discovery + discover [--type ] [--dry-run] + Detect hardware on this machine and upsert it into the server + inventory under server_id. + + --type TYPE Only discover one part type (see PART TYPES). + --dry-run Print discovered parts without contacting server. + + discover-only [--type ] + Detect hardware on this machine and print a tree summary. + Does not contact the inventory server. Useful for inspection + and troubleshooting. + + --type TYPE Only discover one part type. + +PART TYPES + memory_stick A physical RAM module installed in a slot. + memory_slot A DIMM slot on the motherboard. + cpu A physical processor installed in a socket. + cpu_slot A CPU socket on the motherboard. + disk A storage device (HDD, SSD, NVMe, virtual disk). + nic A physical network interface card. + +FIELD KEYS + serial Hardware serial number. + name Human-readable name or kernel interface name. + manufacturer Manufacturer or vendor name. + locator DIMM slot locator string (memory_stick/memory_slot). + socket_designation CPU socket label, e.g. "Proc 1" (cpu/cpu_slot). + device_name Kernel device name, e.g. sda, nvme0n1 (disk). + speed_mhz Memory speed in MHz. + size_mb Memory module size in megabytes. + allowed_speed_mhz Maximum supported speed for a memory slot. + allowed_size_mb Maximum module size supported by a slot. + speed_ghz CPU clock speed in GHz. + cores Number of physical CPU cores. + threads Number of logical CPU threads. + disk_size_gb Disk capacity in gigabytes. + disk_type Disk technology: ssd | hdd | nvme | virtual | ... + connection_type Interface type: SATA | NVMe | SAS | ethernet | ... + connection_speed_mbps Link speed in megabits per second. + mac_address MAC address of a NIC. + ip_addresses 0x02-separated list of CIDR addresses. + dhcp "true" if the interface uses DHCP. + +EXAMPLES + Register this machine: + inventory-cli --host 10.0.0.1 add-server my-host my-host.local \ + "rack 4" "Primary web server" + + Run full hardware discovery and submit to server 3: + inventory-cli --host 10.0.0.1 discover 3 + + Preview discovery results locally without contacting the server: + inventory-cli discover-only + + Discover only disks: + inventory-cli discover-only --type disk + + List all parts for server 3: + inventory-cli --host 10.0.0.1 list-parts 3 + + List only memory sticks for server 3: + inventory-cli --host 10.0.0.1 list-parts 3 --type memory_stick + +NOTES + Hardware discovery requires root privileges or the CAP_SYS_ADMIN + capability for dmidecode access. Run as root or via sudo. + + CPU "ID" fields from dmidecode (CPUID family/model/stepping) are not + used as serial numbers because they are identical across processors of + the same model. Socket designation is used as the deduplication key. + + Memory slot blocks without a Locator field (sometimes emitted by HP + ProLiant firmware) are silently skipped during discovery. + +AUTHOR + Part of the homelab device-inventory project. )"; } @@ -89,6 +206,172 @@ static bool parse_kv_args(int argc, char* argv[], int start, return true; } +// ── discover-only: tree-printing helpers ────────────────────────────────────── +static std::string kv_get(const std::map& m, + const std::string& key, + const std::string& def = "") { + auto it = m.find(key); + return (it != m.end() && !it->second.empty() && it->second != "NULL") + ? it->second : def; +} + +// Replace LS (0x02) separators with ", " for display +static std::string ls_join(const std::string& s) { + std::string out; + out.reserve(s.size()); + for (char c : s) { + if (c == LS) out += ", "; + else out += c; + } + return out; +} + +static int cmd_discover_only(const std::string& filter_type) { + Discovery disc; + std::vector parts = filter_type.empty() + ? disc.discover_all() + : disc.discover(filter_type); + + // Bucket by type + std::map> by_type; + for (auto& p : parts) by_type[p.type_name].push_back(&p); + + // Hostname as root of the tree + char hbuf[256] = {}; + gethostname(hbuf, sizeof(hbuf) - 1); + std::cout << hbuf << "\n"; + + // Logical display order + const std::vector order = { + PTYPE_CPU, PTYPE_CPU_SLOT, + PTYPE_MEMORY_STICK, PTYPE_MEMORY_SLOT, + PTYPE_DISK, PTYPE_NIC + }; + static const std::map labels = { + {PTYPE_CPU, "CPUs"}, + {PTYPE_CPU_SLOT, "CPU Slots"}, + {PTYPE_MEMORY_STICK, "Memory Sticks"}, + {PTYPE_MEMORY_SLOT, "Memory Slots"}, + {PTYPE_DISK, "Disks"}, + {PTYPE_NIC, "NICs"}, + }; + + // Collect sections that actually have data + std::vector present; + for (auto& t : order) + if (by_type.count(t) && !by_type.at(t).empty()) + present.push_back(t); + + for (size_t si = 0; si < present.size(); ++si) { + bool sec_last = (si + 1 == present.size()); + const auto& type = present[si]; + auto& items = by_type.at(type); + + std::string sec_pfx = sec_last ? "└── " : "├── "; + std::string child_pfx = sec_last ? " " : "│ "; + + std::cout << sec_pfx << labels.at(type) + << " (" << items.size() << ")\n"; + + for (size_t ii = 0; ii < items.size(); ++ii) { + bool item_last = (ii + 1 == items.size()); + auto& m = items[ii]->kv; + std::string line; + + if (type == PTYPE_CPU) { + std::string sock = kv_get(m, K_SOCKET); + std::string name = kv_get(m, K_NAME); + std::string speed = kv_get(m, K_SPEED_GHZ); + std::string cores = kv_get(m, K_CORES); + std::string threads = kv_get(m, K_THREADS); + if (!sock.empty()) line += "[" + sock + "] "; + line += name.empty() ? "(unknown)" : name; + // Only append speed if the name doesn't already embed it (e.g. "@ 2.27GHz") + if (!speed.empty() && name.find('@') == std::string::npos) + line += " @ " + speed + " GHz"; + if (!cores.empty() || !threads.empty()) + line += " · " + (cores.empty() ? "?" : cores) + + " cores / " + (threads.empty() ? "?" : threads) + " threads"; + + } else if (type == PTYPE_CPU_SLOT) { + std::string sock = kv_get(m, K_SOCKET); + std::string name = kv_get(m, K_NAME); + if (!sock.empty()) line += "[" + sock + "]"; + if (!name.empty()) line += " " + name; + + } else if (type == PTYPE_MEMORY_STICK) { + std::string loc = kv_get(m, K_LOCATOR); + std::string size = kv_get(m, K_SIZE_MB); + std::string mfr = kv_get(m, K_MANUFACTURER); + std::string speed = kv_get(m, K_SPEED_MHZ); + if (!loc.empty()) line += "[" + loc + "] "; + if (!size.empty()) { + uint64_t mb = std::stoull(size); + if (mb >= 1024) + line += std::to_string(mb / 1024) + " GB"; + else + line += std::to_string(mb) + " MB"; + } + if (!mfr.empty()) line += " " + mfr; + if (!speed.empty()) line += " @ " + speed + " MHz"; + + } else if (type == PTYPE_MEMORY_SLOT) { + std::string loc = kv_get(m, K_LOCATOR); + std::string max_size = kv_get(m, K_ALLOWED_SIZE); + std::string max_spd = kv_get(m, K_ALLOWED_SPEED); + if (!loc.empty()) line += "[" + loc + "]"; + if (!max_size.empty()) { + uint64_t mb = std::stoull(max_size); + line += " up to "; + if (mb >= 1024) + line += std::to_string(mb / 1024) + " GB"; + else + line += std::to_string(mb) + " MB"; + } + if (!max_spd.empty()) line += " @ " + max_spd + " MHz"; + + } else if (type == PTYPE_DISK) { + std::string dev = kv_get(m, K_DEVICE_NAME); + std::string size = kv_get(m, K_DISK_SIZE); + std::string dtype = kv_get(m, K_DISK_TYPE); + std::string model = kv_get(m, K_MODEL); + std::string serial = kv_get(m, K_SERIAL); + if (!dev.empty()) line += dev + " "; + if (!size.empty()) { + char buf[32]; + snprintf(buf, sizeof(buf), "%.1f GB", std::stod(size)); + line += buf; + } + if (!dtype.empty()) line += " (" + dtype + ")"; + if (!model.empty()) line += " " + model; + if (!serial.empty()) line += " s/n: " + serial; + + } else if (type == PTYPE_NIC) { + std::string ifname = kv_get(m, K_NAME); + std::string model = kv_get(m, K_MODEL); + std::string mfr = kv_get(m, K_MANUFACTURER); + std::string mac = kv_get(m, K_MAC); + std::string ips = kv_get(m, K_IPS); + std::string speed = kv_get(m, K_CONN_SPEED); + if (!ifname.empty()) line += ifname + " "; + if (!model.empty()) line += model + " "; + else if (!mfr.empty()) line += mfr + " "; + if (!mac.empty()) line += mac + " "; + if (!ips.empty()) line += ls_join(ips) + " "; + if (!speed.empty() && speed != "0") + line += speed + " Mbps"; + } + + // Trim trailing spaces + while (!line.empty() && line.back() == ' ') line.pop_back(); + + std::cout << child_pfx << (item_last ? "└── " : "├── ") << line << "\n"; + } + } + + return 0; +} + // ── discover subcommand ─────────────────────────────────────────────────────── static int cmd_discover(Client& client, const std::string& server_id, const std::string& filter_type, bool dry_run) { @@ -148,13 +431,13 @@ int main(int argc, char* argv[]) { } else if ((arg == "--port" || arg == "-p") && i + 1 < argc) { port = static_cast(std::stoul(argv[++i])); } else if (arg == "--help" || arg == "-h") { - usage(); return 0; + print_help(); return 0; } else { break; } } - if (i >= argc) { usage(); return 1; } + if (i >= argc) { print_help(); return 1; } std::string sub = argv[i++]; @@ -255,6 +538,20 @@ int main(int argc, char* argv[]) { } // ── Discovery ───────────────────────────────────────────────────────────── + if (sub == "discover-only") { + std::string filter_type; + while (i < argc) { + std::string a = argv[i++]; + if (a == "--type" && i < argc) { + filter_type = argv[i++]; + } else { + std::cerr << "error: unknown discover-only option: " << a << "\n"; + return 1; + } + } + return cmd_discover_only(filter_type); + } + if (sub == "discover") { if (i >= argc) { std::cerr << "usage: discover [--type ] [--dry-run]\n"; @@ -281,6 +578,6 @@ int main(int argc, char* argv[]) { } std::cerr << "error: unknown command '" << sub << "'\n\n"; - usage(); + print_help(); return 1; }