From f3dffb9540c779205a9232ca4124c8f23bb2060e Mon Sep 17 00:00:00 2001 From: cmk-bonobo Date: Mon, 9 Mar 2026 16:08:08 +0000 Subject: [PATCH] MKP 0.2.0 released, bugfixes for rules with no levels set --- mkp/Traefik-0.2.0.mkp | Bin 0 -> 9162 bytes traefik/agent_based/traefik_info.py | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 mkp/Traefik-0.2.0.mkp diff --git a/mkp/Traefik-0.2.0.mkp b/mkp/Traefik-0.2.0.mkp new file mode 100644 index 0000000000000000000000000000000000000000..e463b5378aa927bd74de86c1a8c2ff2e5dc7e463 GIT binary patch literal 9162 zcmbuCQ(GkrpoOz-Otx#X?RGY1vM1~&yQZloV=^b(?QGk&ZP#v}@0`DIZr1bOtgCgi zUWzCrsPe07I~d5N$+_D;U*fb47+*lOh;?(Up0yjt>aWoCgyr6th+i|qyV=sbLM$n*J7D4c|PvZbhFxPm=vf1memWnbf-kn?cyh+y>#IncN57^5S5Cu;sKWU!=);1}=SsgYOJkkJzqfdQX@?iPW~ zRxkgy``5{`$N)T5oRKz~vsGg6(BSI;w;;~ozzFUa3cOO5ZQgp*>~^r?0sQhmStBk% zF;Oa2&UliKNoA)I@vN0|T+{m)&&wg?y1R`p{Ug{!71(&5iJWcR{O^_uzB&(Px@rfp z{fy8J4(!5e~D^oTVXPyupt^R=w77`F@<@HG>u3~ zer?Bo=U@sUSYMo1Mi9T^*VuMp;pK08LToxSo~9^{4NSHD#9K%8@^|RPVbKeWK>P{$%z*Qyve6sC!V0Sy143QyxGM74XE;%uRUOhE)Kv;tnX~lv8DCg?n z$4|j@!OUN8;k>gpBOXwB$ICCO`!*K2*&Ay*8LDIDB;|i$6mJza=0{siW8())JtD@s zL96A=u|TV}oj0-ycHzN*^&;j76D)jv`CJn4_0vlFEHKQlP%nCZaf09P@ z)A3do{ra`?A`EaQcxglAUR`81Q1&*RQ}~DM8*(Rm=igL>jL>Q{O$38WqfOJjcRbOxUuPiP>PQR(zW@))Z|xtQ-#yFFJvA z1c6*cjkn*nS4(pLJ_dpsJiYX*Am<8NI;%LtkcgP)tJzQN_jb>L!@P!dLG%4>JI@_1 zk!?}inq`Rc2qx^ahkaN5^E6NATU@r{mrLVd;zI~sae6C+DY@6lIY*TCM zuU$UIs`el1*pavon?D#7sjpEcDq0kWs4Nkz@STT|Nz~UD?1_R|7g@(~tc~j;?F^bS z_@#WqXtzf2bF)uKmd01A&0f048pFBAyl<5(Z5An%mCL`_&)7*a zn)Xk8LM~&)1uW(Yj01wjcC+f^^vsa5_Ku$J>UG-%UT>b}kE7Tvz^FeD=qT8~ zC(dRZ|NP%cxM#U~Qeiz69Q98+2b$08&M`9uFkDkd01iL3O5pHBf+sj@w;-*WItuCs zl3&@f?DC9E{n{;&JPcv7_CQN3F~4hJLSB#M9_0*A@bL=1_Sox0ZvJu&Sx;mqD#gZ< zA~0HZ(gY2VR^+Fo1*KcDQ*E8l4b8A^_u0mC{4c8~I>u{B)19((s$c=v5o{DwQNlIV zy`6)92?typ*{RbMr^&pvrNJ~w|6wYuiDG&%A=+W0t$!ZmNn8B3g6`UNz=CJM;i8DN zo)KZ`!!)^z4q#<=YSNRM$DY_lH@k*?r|w$)^S9DCve66L$g(_&@anls8DDcl2-$o? ztIbAb`6J2d2jc^yLoM{pZ_gR?wU&oY)bDLt!0$4+%L^(?QLiDjhsu3omxgWP^=Jm_ z=zZt8Yr4dwLQP&MtzfXI@{x9iN_@ZlPt>S0L5K2*yu%n_F|NbkOPzfiu#V8z_}RBJ zooc7z7XlX3iI&J71Cp8)hItPrcduy4*PWV^p<;m+`cI~n?WfcabSC;!t1Q~1rI(Aq zT{fq-O=nF>W23o=#IGJ2+`u2K?#YIo-&kg5DHO+aMwH4^6fhA^QS^kyIq^COnzf%6 zbn2>0my64VNfXi1&%ewpdJHKw6nP&Rx{q4HX5E)zR)I9|_`MVMhO z0AtrnoohkiRRphSzCsZ;iqe@XDHh1|~q*h*k3f%(f)3I2Ut z&ncXEXz!M1P1ff!!s_SW#LFW&LnI|v@ni=#~MrjQ!V1C?UwIYE?udgaNV;;DiA4M>K^->2?=Y{0BhGfS!Im2?cCmt znY=&oTq)xwS{x^l7LLq!G!KeLwwuQOhh{4#gJRtJ8K93~C#R7}E&DP$M)$x=f|O5; z?<$Vob+Z(I?!t?mMor#ccciL-VhhC~RDg@?OsINoWCrkd@_@Uk=u5i9uSelvAX>B^ z+0V38IUHM(*Kh<4s4!WMU`7=+iJz3NIE6HhpbUu}T37d8%d?;0l13X;PX5jzRZCPs zS-?jGeej6yz9Ns;M0=zOnAYcWJ}3zLvpSxBkP>E^c}-<-DLk*PGHfXBQv)IDNrW+! zDk`KkiHFi|;)FG{H8+(Nm_Wr#{6u^W;H>wo7GkFJ_gQ9Vn0aP{hm^v`JiCLa!Rcno z2D(_#O~cPVD-#d5h7b=C?U*k!BwFQ-nnQ4ta0AVrq=GQ!5o5Lye(;tnUMbjSttbje z$lYqnVm-i!%Kq;fqJEY#mV(OzlZBX>^_?nQ*?rlHE zot)=`WQihd6yMU{G!Y1m$ppz<8A6s6gQa;=HZg6PxpCPG>+g&naDU|+Lajh$4BpTI zZ~Ro{5nF^;=XS*yY2);`Y$CnT2|xYBKM<(pOwj7`Md=|(BU}$cWuzZeF|Q=Vzt(M$ zf4DijzKxwWc;hjc9jqZY0(_7gHqu`d>2U>)nRL^V$f~4`wv7^)DJ{7^N)t6<}gGY`-Y$BrLv z!@}p0hB4%@xxxip5yUJe%Ez}H6A_kmDJ^q0+#jhI`L#WT@)I}}i`Hvu%Pq3+N7~+S!{nXP1F* zG9UH=cm`iLJsBc4WibdN9O3eOBU8t0>iFI^fAz%?^bGP0Y+C`hu5X1wjN~u-3vw~z zgv7yBo2Sj|yo-+;PM5v!xfsIozTy;LF38Bq7PM`+W9&_-4P~!5_&*)&OV7UUK~VO) zIak!;AVR-(YxcTxv_A-)LO@(d6PTe6Ss|=PAz`=uvDPvmUTPVZJTr~pa|}~Ns$^XP zI$1(uALgLj4XGzXP`e!-fj%Js7(DZf-uv3PwTsIam8E&VZaq#`(R$N#Wzi@XA&+++ zk<~uRU%bT3{(@WdYA_F+<`0o4daK6mC>ExBI-ynAa7ewbR(+L=^(XaS#%6C-w2k{q z$NRq`t1+Uf_BMWgaO9uH6ixUp9nLQIcy3 zXuDwFUGb8PrX}SgjF+tZv7fK-3m8xz&&FtS#F3d-P)jiAsL~p9eN_0)rbLWE3pH3pAvpv`wst(+(TYhe%T)^x?Whd1lrqBAe_vq7^^Kql z{AWUTM~-lNFBcn_W__*^mPaQQU5?Z@_AwjZ@ zYpgLS-LjVZa3f(7n2#uV#m}9NZ&xWyXyg;&oPrwT;QUf%<5<>Dg?E7l3(P<;pW>s` zmdCi(wAol24&or}?6b0n-I|tCN);w8)Uo|dC9pJ*QA@eJIHoy)O^m(AJxe+p4{KP__uGt6yzJ*Q&S@~+FUb9wD zXz?KivFF%Cy>eblf;@&|n|mIkEYnc1AbSMixQ(d*=Z9%DnKzpdtNA?rd)!&_)<*l^ zI479*=$aK$_kDySFEok)DwC=dp`2gO5f6CFxaU&VWyPM<3n-m(B5(+F20*O4a@?Qh zkEJXX?tVURp9hb(gQF#J$CDY7SpH`1sE! zaBu{&0S80K2x81!XLE>v;S${ZuT+B9(%Uv#{7!;;{=4B~&?GHhH^%$z!J%eSd%Q5` zV!vRQQ)8ikdkop|ock*($GoU(+?}Rjq=MQ!zi|pxc;_gg zTzjapEiF;(m6m5@W#t&=8BpHR95{m6t$&zFBA^7N*=f><34}(H)OC-Yi`43Q|B$$3 zzSfa(dP0#8AKZsz{#GmOk@Y#sJHcd{(;ud7?W5F;z8=Go!(5uz$Qi!y8E zn3s&&sJni6txGOlP{n$68FpcOp?*M=kt)5Hn2sK0HyOc}g#uUQ zK~QeYiQ02GKqjHSRz9)9_CNssX1u}y8oU_wZ)|u~rwq}5rJwLdW@8!xFev=}N2oQg zIk<@zg&cDy6{DFN;WFEDZ=8nl+dyY}_WUp>kB^tcC_`h!8kjxIF;A0#&Dwb|W`#JC zbNvUF^CQ-CR^_D1(OOpdjK~~c6~~%9&>3$nD?MgpZ`dbs%q~WKzoZ$cmBUoWw%6?g zpK&3Zmc+fm+?@5E`)6N#%{N?r@3RE_)XP2;c+rf>@_wy27#Q6lFcjr)I@a^)?2GlZ z3J?c;MK-M?ag6ew&C=9YVQOt5(NEmk2*uUxLWu|%diQ+sT;XnWjRxIBG~}UKGw)Po zPxK@ow7ais0F=w~rqZd#e?r9o1d5*XksXqLKSi!2XdC#saOvmxi@8~>%Zqchj5Gmr1P5MI~JzSHf@9?Y4ueF$omE5{KUQSF)khI^&#S81`U%4N)i$O6GEjbNxN(%CZF^5@fh@yL3$7F1%QVU#wJ1A9j{`YI~R|2l_%uwQY z--jQ|D)5;p<8eHwcNT#QDjg#?R0e`e>1gXe^T+rwkl}qPLliKniq#PLlhkB`?A&{m8okxkHWM}WW=Rl$mIJdSJ2{_%&1>sG^0Jsw>G0;JVB=Aj?ECh zp>7r59QDDl+GMuNW?_qPYp#QjOq?sHi7b|cU@UB(6lrHl{-^jv&B{JqprKcGeSgDf_`@jXUwnZ{#u2>?OW+`)9jR@j50$ePXR&*-@ z=8Q8;YVelW$stVybTxW^-TAhA)K@&ziM5LuwJo0@K%OBZL?&eU3;DudC;$_JA_1xwZg7R$CFAZ$^C1_OG$%)-o!oWv>D;{rBpb ztS;TRlN_nZ#Vb;w>0_1b>_RYL3ux$$cH@i2Y|6p?J>z=I{^jyAE2}W%Y*rimb}tV$ zk%FrLMA+$Wn%bZz=aqnLiZk`i&<*d2MoYlX%)gFdi8X#KGdrL|fZV(da@pbXzw$FbNJoRD9`r14-v=Y`0=6OwSm z2G$!Oa51T&AZWAhd&ZG1EM%nF7|*XY)bSe9Aq?q6nMxL~a!&Pgu_OR9`5jdJS@Tj? z!HvXBpL0{+ly)DvS2;~IK|$_>o70b>9_@=xi3PAP{i&;ny@?)^(BWM1&iqaXW8uvH zSYVb^kZBL3{j*2{|e4 z3#_vF;36u>gjUZUL1o|?ECZrpHlUs)=ySe)JMZV4!mMex#2GM4?qPkD9G*2=+sf{$ z3C6JkU2CpKP7cm4XZ(amxiFq`?sGmNYAagNFJs>`&Q}u;g#7ofs?K%KR-{eRNg}F9 zS``-W_@|$dJCkE9uh^U!t1QcRWNivupT4{dd&irvT4%xFa*G-#YQ zb6G1l%1euDbC!&-!Mn@^aquJp(pQf0`d=`*c}Ec`#ejY&6HcS8s&4EX0bJRc7pEr|yo3 zNbf%nHm?bv+8aR5;&VfIt{m*XX))jnV3+3Sd}W+{kN8$#fbieISI-%1`w+hpQ*V}o zjX3*})ph=hAQcBBm31+cc8|CSvR{#80oiMXr?P+;VJkYc6Y`%j=9Iq$rZe*E#0k`> zXIJ#_RKHrmn5|4y-ph{(`|s3FEl!hL+8mA2*s$9KJZd4nrrR9ZzK&r{hk!EDeRaZR(XpV#h)VnuP^w2{U$d#q!^#DIgveU zRs(9MwL>=+Z2oxA1Z}iKI=+E5f_2f^y@88#queFZfuBjk|!m;Z8b3(}bL(*3k`)fEd7xcFHPhP>@THvFI{ zuijrb-HF+0JC77USG(+%1#VHZu=GI}@0lVU`8SO zd@CQAT9~6j38>N3>cK@=K$J>_t>ds^<`s2SRs&~2rDQ?RoP=W!y1#9WC`Y6^?q#hI^oZuh|C`=UMtlBBoR`W<(+;uzvutLjeUy38I6hr& z-p%&8NeYlVvOktIwXW?O2y5Oa7Q?R+GQ{%m<8MO&le@>_K{?n}&PXVHSHmA#I-Z{g z*=W_}@`+kDc$RiXyLhAU zCD@~+9+JcK3Cjx&<6Urx4C{Zh{VRZ${XmvVe5JPqDZ!Bl8)5BX9cx8G08}g!TrjU_ ziQ9X9DEXkt^oH7IKRZ<^iw(&q*lf?jama0JS6WK~Cr=rp;|vnmX&8D;(T}q4C+aeF zqw?zY7bZqE0@%N8bgV+dwzk$`Tm*ePRWgMu+vk2vAjm^OQLSO8n@Niy)U;;5hLK8B z6tvJ$6xg<*gibGx4?>~6b|)rXU6_AO3yv@?3_@DSC*MxyDwrV3&RtbNPPr?j6;0_^ zU{unX29)eHQv1aojcGJ)Gy)xg#fLKdB;&UJS@VHfsHb0;*PMM6W8}-e#~e<8t63WB z{|R-s$+582xUzxs;5eAjVP7-n7(Oaw0F;Y^2dPGRQNeO50mUFS1{QvmRGjR}2NmaL zRb3rdVvOQVd(_6HHQ58bIo)bOPAwRm@{-bOckG*zrr3YGYd`7>7WK6PpWO*2CREJe ziG7M|@!=InEUIBlV+3if<)as4zgk@tCHSwjrXv0g{99jvm8Ifam(fs7Y-nSg%!Q^^ z^$P?3AJ7XUdUgT0Gjmf;q7;@cHMZ=?nE&Jx5q5hCC*WH-oTh(CK?As~5Q1XgB-(!I?wMKf@CX?+_r^y(mSTT6=k*mon zYrzuF$jdz}XNAcdo&3OJfTF9EgBC5a{;AkrSxL{-R?RcRnpvIr^9*-kh+-_t$2*fH zH38<)$9r69Oo79U^^e{7T`-PBDS+t3GXpl&Y@JcP@L0H@B3Rm~ec-Kbk=*b=9@sw6 zHTMr~VG4(1+_!?$rn((XFa~U8dZGAJUkp#-lKa%(8w427Iu~@awm42t_w$2@A`28W z3)JAQmg<0wC1Od|)nKmECeh9q zMA%oa=7qR_c;Z5~d*7^>gR^k0BoQVKk9Q?pm6;`G=}#vHq^ZI%_$-(S;e9#7l-k3p zMyJMezZmk?d`}6C7h?NFJ^$VhcFtC9Pl|%9)l5P7$RI^DWH~>+q}}cN`_QK0F+S;` zqj0kto+BfXQjIx(O$<<9`L$yxYrFFBhl2PEeL$)NGNuuyzy-J@P)taG6?7&p#Ox@y zZUxXB*#B7Kkez1CQd`j!C+@{fFDe*Nmz{d0#nguf4INjA(5t#aUuv@ z5=E*NDDP0HHwL`?C^;Y*AwI`EC5s2H|M`KX8Mnc8sn8b<`~59Oh>Lc(gdwK;jqR__ z8r-K==c(Oo(vIfGadk0dSNgql4ub!A&k+OBF8K}*socrM|7b9^uY?7cEw&oml)T~$ z4c6w~f%Bpy#iN)eqCd3R-;A+d1jB|zTGYT(Q-fx?)=Kzi4O0HPrPHau-?BW|uG%DX z=VYhwj~e>?bknBI^}l@rA10;64t-a0F@k1Y@ZXc5{Fn*5#jCD-&Ro>MeXoS!Puhfs z?jfR!8M&xST8D3n5~6O>Ey#r>t~`_forw~R9EK?^!cZINdsZu-Rz|f|7j?5Rz#Mxh zKLNqjmt-nZx2eQ1X8zQi&L=6`qe?V93t?q%&g;e;!ba{Abv}GVEh0!hux0EWVn(yI zv@cE>=>7=`e!+BqG&FjVPw)Tt=Tl$jVVLKGzci@m1Im{8)7KNCJ{+ib-`y9e_j1j< z*R2!vQ>%x*p98BJex7#uy>CaQO|t8&z`PtSWB8kX5*(oFxo9^PV=3hOS4T(wvfq3m zZ@SFYc(Z$dPLL(Kmg!{XS*m}|TKt@y5Ar4aV82=8nL|bJtKNYpp$V2OTi7=i#09C{({LWuH$ zAKO;}hme|^z(Bi?Tp=*?$M-NuCK+YP_>>S7&@ej_exz(d1cNfXksL9erI?dj0z*-R zfYK&UBX~9iS}qfD=}{kR*<#i(kWD|u0Mij6^+@KuL+;J01?j@L`QS*9=>TeQOAD4hjDv)jm(^fOlSumjQ0~zMb_i!X zzkIGF$V||3;MGf#PY+?-4~m?fN|nrZSM$D(nb)fyM!~pGcwFDZj2_UtxyRRveZ;N3 zRt!KI<1p@CatlJoAl=X(aczv%=n#uFVh-GUtzEydqi$pfEVC*4OYRf)#M770V_Q%L zgmef}+Ljjr>9Bl>vp;rXp3!+is^T8esRp6An6UP^)8HhdA{hVgP9PL}6P|-_>o-oC z=s(~-3$%@y{te>K;s!w~l_QGvj8Ff`4wQ~~H}^vMP8xMO1((BIeAf-~?=_p8gS|ji sT_!-Q State: """returns OK/WARN/CRIT depending on the given parameters""" + if levels is None: + # a rule with no levels set is active, assume OK state + return State.OK warn, crit = levels if value >= crit: return State.CRIT @@ -62,6 +66,9 @@ def check_traefik_info(params, section) -> CheckResult: """the check function""" _level_type, levels = params["levels_traefik_agent_execution_time"] codename: str = section["codename"] + if codename == "": + # docker hardened image + codename = "DHI" version: str = section["version"] startdate: str = section["startdate"] startdate_seconds_since_epoch: int = section["startdate_seconds_since_epoch"] @@ -71,7 +78,6 @@ def check_traefik_info(params, section) -> CheckResult: agent_version: str = section["agent_version"] agent_runtime: float = round(section["agent_runtime"], 1) state: State = get_state_upper(levels=levels, value=agent_runtime) - yield Metric( name="traefik_agent_execution_time", value=agent_runtime,