From 683865a6ac84f9ef93cb4fd3f93468488580e844 Mon Sep 17 00:00:00 2001 From: selvamt94 Date: Tue, 21 Jan 2025 22:59:33 -0800 Subject: [PATCH 1/4] Add NeuVector Monitor chart version 2.8.4 --- .../generated-changes/patch/Chart.yaml.patch | 8 ++++---- .../generated-changes/patch/values.yaml.patch | 6 +++--- packages/neuvector-monitor/package.yaml | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/neuvector-monitor/generated-changes/patch/Chart.yaml.patch b/packages/neuvector-monitor/generated-changes/patch/Chart.yaml.patch index 6ac0488a9d..b0d2cc04a2 100644 --- a/packages/neuvector-monitor/generated-changes/patch/Chart.yaml.patch +++ b/packages/neuvector-monitor/generated-changes/patch/Chart.yaml.patch @@ -4,7 +4,7 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: NeuVector Monitor -+ catalog.cattle.io/kube-version: '>=1.18.0-0 < 1.32.0-0' ++ catalog.cattle.io/kube-version: '>=1.18.0-0 < 1.33.0-0' + catalog.cattle.io/namespace: cattle-neuvector-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux @@ -12,9 +12,9 @@ + catalog.cattle.io/rancher-version: '>= 2.10.0-0 < 2.11.0-0' + catalog.cattle.io/release-name: neuvector-monitor + catalog.cattle.io/type: cluster-tool -+ catalog.cattle.io/upstream-version: 2.8.3 ++ catalog.cattle.io/upstream-version: 2.8.4 apiVersion: v1 - appVersion: 1-1.0.0 + appVersion: 1.0.1 -description: Helm chart for NeuVector monitor services +description: Helm feature chart (optional) add-on to NeuVector for monitoring with + Prometheus/Grafana. @@ -29,4 +29,4 @@ +name: neuvector-monitor +sources: +- https://github.com/neuvector/neuvector - version: 2.8.3 + version: 2.8.4 diff --git a/packages/neuvector-monitor/generated-changes/patch/values.yaml.patch b/packages/neuvector-monitor/generated-changes/patch/values.yaml.patch index a08d7c8981..87788dbfb1 100644 --- a/packages/neuvector-monitor/generated-changes/patch/values.yaml.patch +++ b/packages/neuvector-monitor/generated-changes/patch/values.yaml.patch @@ -16,9 +16,9 @@ enabled: true image: - repository: neuvector/prometheus-exporter -- tag: latest -+ repository: rancher/mirrored-neuvector-prometheus-exporter -+ tag: 1-1.0.0 +- tag: 1.0.2 ++ repository: rancher/neuvector-prometheus-exporter ++ tag: 1.0.1 # changes this to a readonly user ! CTRL_USERNAME: admin CTRL_PASSWORD: admin diff --git a/packages/neuvector-monitor/package.yaml b/packages/neuvector-monitor/package.yaml index e4c57c9c07..fc79cd01f4 100644 --- a/packages/neuvector-monitor/package.yaml +++ b/packages/neuvector-monitor/package.yaml @@ -1,2 +1,2 @@ -url: https://neuvector.github.io/neuvector-helm/monitor-2.8.3.tgz -version: 105.0.0 +url: https://neuvector.github.io/neuvector-helm/monitor-2.8.4.tgz +version: 105.0.1 From fd8f40796085dc6705b2b5a6d400d9852828e969 Mon Sep 17 00:00:00 2001 From: selvamt94 Date: Tue, 21 Jan 2025 22:59:42 -0800 Subject: [PATCH 2/4] make chart --- .../neuvector-monitor-105.0.1+up2.8.4.tgz | Bin 0 -> 8353 bytes .../105.0.1+up2.8.4/Chart.yaml | 27 + .../105.0.1+up2.8.4/README.md | 22 + .../105.0.1+up2.8.4/app-readme.md | 5 + .../dashboards/nv_dashboard.json | 2036 +++++++++++++++++ .../105.0.1+up2.8.4/questions.yaml | 27 + .../105.0.1+up2.8.4/templates/_helpers.tpl | 40 + .../105.0.1+up2.8.4/templates/dashboard.yaml | 19 + .../templates/exporter-deployment.yaml | 75 + .../templates/exporter-service.yaml | 29 + .../templates/exporter-servicemonitor.yaml | 39 + .../105.0.1+up2.8.4/templates/secret.yaml | 15 + .../105.0.1+up2.8.4/values.yaml | 59 + index.yaml | 31 + 14 files changed, 2424 insertions(+) create mode 100644 assets/neuvector-monitor/neuvector-monitor-105.0.1+up2.8.4.tgz create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/Chart.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/README.md create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/app-readme.md create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/dashboards/nv_dashboard.json create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/questions.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/templates/_helpers.tpl create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/templates/dashboard.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-deployment.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-service.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-servicemonitor.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/templates/secret.yaml create mode 100644 charts/neuvector-monitor/105.0.1+up2.8.4/values.yaml diff --git a/assets/neuvector-monitor/neuvector-monitor-105.0.1+up2.8.4.tgz b/assets/neuvector-monitor/neuvector-monitor-105.0.1+up2.8.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..aa8d94dcdcb1885f40c81e9230a28b63ba311c15 GIT binary patch literal 8353 zcmV;SAYR`eiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKBfbKAJGXg>2-^rg=^liX{`S}Z$JojLD0wlkA=$0FiLXdvkkpv)%6Yx}9gO_U3kL^BJ^m3xQcr#06r{ zS~rGO9NZImP!Ldo1fc=%TL2Cc$fKjCgM{#Klh6$ZGeL#~yM16NaK@NbR&xmtJv40u z$j5znkE2hDtKdL$Rb`vAXn-3N%s8PzAAb7R&+TUWWwX_2!9Sth>~`g!KUKDrP+jOYEF=`7!gy;MD*BDafBO$O0L*ijsVGlbVVi+cf5j5~Hmy3OXAw-;G7f2u|h%p9% z{m?@K^QL8uJUT#LtZ{^gi6rAyoYn*c@R(`ktG2a$n&sk0pLIm!|j7$ z5w-w`k47G|J zR~Dp#bXQ8>3lYDSjg?S6t|*qRCQbpvnD_u%neA$2_V!S{^C)s(BM$|Rd=;Y&U|KU8 zu6)*jV>TfUZVs?OO=)(p082(BbOZerG2D>-H3o5q4H5{<0_63>0r zZ*byb2eF1gY=lL_B}~owv=1A?4>#NdJ8mc^HPeb3v58lU`dW;P5-m~?9Ov3K=i)oF zVb!?S;Mid(l&e}`HbGufE`PbwITq`xtIXH{Hx__A-$u&3h+|iSN!}`Hq+uLj!H9E& z73#Y*7?P1*&SB_Hdlzu@_>-nvVfX|9`u)z4HI><@xq)<3C|S z{Js>8%A}L(_Ge#`#Tny1{O88il_hIg`xhY!TqQlF)&V+He=Co#X~p##Qk;?igPj?X zvbGJ4tXzrPrVcbovjdu+w9_GLewbj!h>PJ;ngD?VTV3@h@sFe7kX(S>$U4J;tNzv) z?lO!729&}WMxHl?KO^L+5QY?A3iqb<8`iz6`a;5x6)V_8?awLHYmi>CE<2+UB{i6z8iS6RIyLK~w4tW*vl zX>Lp8V{B&-SJuiCm<&^TCWR?YlRC8(79zUGv!4E@2GIX`@p(1yOlhHeX~tHKZk*zp zd%HA(AtQkpg8g^i_&c`?y=l11a9Z8pISw?YRxX*?k(bk|rZ?slT}vshnNzIl*|h^Q z>8<~cqcw0T{S^;680`PD!9KN@T~ir0+BG|kC;2pS$11r_J9kN(snV&d7|e!!tqyW? zZO@*shZeSv@R_CmQ@j6$!Jv8Z|Mqq<{V!IWOBtg|>d%UcH$qyW z0u~VF${1F)6Gp8tm79sMjy- zVZ7E&H!3jhS6RoZ{JwZR1`$LsOPHe=!HYA(L> z&`lTGA@zte?Zb|Dj;6fOteWHNb~p17YT19r5@>f8Kph8@d}ql*P}{{jhi^}h_m4ik z-QCYs0=?y5?R@Di;5?YD-~Io8_~Gbe|L9cySKVnr*FafD8McP8Pi;Dym7w3h`Eazm ze{_0$vU74=1N+;z1%YIaq^&kA?L1%C)B6phev#%{;~n8)d1kAIo!@#dju!yR%3#5^ z-@a8WJhRKW08)cc4MVwVVUYI@B8X3 zro&>@kWoP$>h1B@;|Pzv>KR~|FPLB%KuJpv$vA} z_wm#jr}^Bz+Hhc&#ou%&!;~lIAaY6|IRx?mx*$J{??o*vIBSb8&w~32@+slmta(k=G3i5-!aF&0=kcwuYCuolFhRbkF?CQlR& z@>FS$Tot&4!PX`Y9Jqu(BPwF>g@Zq}-6T~iyQz?R<@JBGzq5C+-}K#EL9PmAhj&@w@y$UQkGTviJK>PV-3ukmbJDPr+`IF+0&MFGR82Z zo=4ARRUt(Qc!UeClV6j{@^y$9^0B~-Ct2kgRvL*o^PI3WU>~1TwXDOWFvd;tQ?%5@Lt==d63YXSbisk?CVgDeX z1bzu$1LCPF`K?-6dx!JL#|fQd0uT;J1=zErit)iBP0i%&^*V5x%nKmBkITVPdC6Jk zaaui>cix2m#yHdo?TWmBIB=E4EWs9j60-iPS=J8s#Z?`U#qppSNKPK=~355$ETW zxic}T?yGXkFUOYpo$78suFQeU>Ly#loA~@;h?zS695`5xhSOkOuBc?dvP#NSF2x+) ze>j0K@;ul*{J7y`pE5ak$!$YM{q%q?Z%WZ*J%lS#*8eCB8*-|Ad|NiaJo|rZbE|m% zzuR8v|9g4X*4E%C3K}QGSK?V?KKa08YI~b*5r-neGf3bui}}L*n81%)g4x$Dq}TnaB$;Lj&TejvN#OQrbGy zACLgMx<|R*lsu7(8Q!5OX0UC*84`xik>@p&fdR(>CxT2cNb_9xVhkZ`nvOxb4RXyl zmo|yuQ0sdionhb+!*H~Jd;&X%Z&UR=j7bZ*N6c(>vak=fTrT=yalU&zh=tUzEyme)HSkb92e;?yyfK?TwoBU;6j|Y3$$AKErx2yOa z!+%DE;fhfvIK{^#GJwRbe4S9`mtsMD&`*}NTg^_h8)LR!4KG9i_KMI#f^}%31n!W; zvY`^-Y*1C?CbfhP$|SBFW3$z4U1NyS!YTth&b?iDWR(zYaKf6_BwQWy>)26Fc3(o zwqtAn{sVSA%mg><>D+73wG&M3__~u^p+F-gYQC&j(<#=g)ugDc zrbCfmthl<3T_OrpvxkH`$oq_u^n92&pn(|MeNec|83@NGlzM`M=}R>^LF9Srmq&uL z40T(YdhhAEIY`Z}6_T`uL1wc@4RfUQut$uzhm_~L9IFX2dXX4*jo%l^@Z#Tcnp&m4 z73l8E^tZmbt^muSZi(YP6pSJ?(yP})B*@7FRfUh~`8yKe_mMxqj90RWtaCsDa)3hH zyfvrD5%Fbq652mqG66289{%|cC50NuBcq`2;6PyZhyAZV0s#5%KYq_l_IGqdzdSG8 zmbb)Zc`yDsV5;Nf|KD?0vt(V<5C;vHIy@f^%i3=w9em`{g*f(*a|XL(6a?7Ix=Aig zl(_LGmz5N5h&f|2!F*%4)!llt_5b$%=jCoi-@g#?Yc$BZtGa6M#UH^R!9O=#GWnOu zjlQ02+ehrorRPDJAGICwsif>PBZmmJB<+m;hm5+BBjBA{TqSczF;At2n75=V^mn$T z{`M_vepMcb3P$O$ZNBq3q``|!@5BPvd})wOj2Y%*>bcy^qP{8!%`havh#PuGKlwgu zmZH&(aHI&ZrP#_XySM_wJo1X7JfohZx16Aj9lKOsOq;$ccApZThu9&=%XeWmFG&B4 zKD9JN1LZg4!kBC>a9Acs_Mo6K$ z_@PzF;zGSUN2Yfdlj)sa=BeZqnx;0o*h2yxs*I7mYOhlP9%Tpd9BKL)cqpx!lq!-K zh5wGYAj4@=j3PnJV#-J&MP>1rGV&J<1TwkWX4s7!{GoD1*befXGHcjAMuA<+i#iaU zbIu^;4L(yB#f#@#@m<{r&xwoQp(%}oZQSd(oJ3WIS$>c?8q}Jm^F$@g6PHlpeSD$z zlUd0qRb`=CdcowBN4}5P^fV3g<_WED(oF39(}FFps;I4=Kvcm=a*WCon3TLhQt{+1 zc)1wx2nX()6!^DqnzmP0`ED2#=7lzdRuKmG1!X3Hj zu?vUP{l2}y5P4V#+;BX^IdSTF#EH0|ez_xbLHKLRT+EKg`JI+RrCk-`$L{}NMrTzs z#ZzftBChl<*}tzUJoJ#Gw$LkZL+mzC^4z9{Kh+;;Oy6cA-q2Y&#}@Nn-Sh#(;x7yhpfTWDvz5N(4!kO$>VG zsQ8$kr@GJ%@C27|PgzZkjCd|Ey{ORE^jj}rqyu1~le(5Z_9Qdp0VB@S}4=!Y5?>?8xN$oTp` zLLbsnB0)qW-Z*kUd%v(d*P`t@{g_I4kBr8mLA6a(7WIl1TzpX>>?>3WfZdr3af&^U zp3jEWSqN5lF048QX@Kh9z&y~R+?rAOUX7k)NUh2N{}?9G9E;^iCh-+B7;21`$7-{z za`=7_QzcDZNFC$vde_GA|KmKq@78izB`!P>^|y)$+%zeoM!B|M-JNzFAm?nvXcV}s zu)thhTQWs{aAoTf?$98>j==8zkB~gSXABt1BVIuBI@F8&V8(POx?(qC3kku5EsCu#J+=RP~v(PRa_+S3Gwj`f6M8O7r+kmb2*Ari1mIO6 z0#M8e*eb!);q{pjfNC!vd)}{D>P}^AnF(w5kWx{aVOw26dqmHx??2I({v4uFOw}rP zt0eJm@l0?9K6sLIUQ#PCuLh2Tp8D1yy2;!+Jlb=0h#8pIN)Ll-U&E7inHub+& z^VN%@_n~Wbx7VTFd9@CkEm`elO}$=g9opNSb&$Qbny6 z-X8q=Yu_*AXBzS0PCiaRg0o6?k6p17Z64=?3n3B$Gc~UV>iZjoY*B_eW|IuLipzvh zK!g?~rA3r;^=fXVie0B_x2pDVSM`ib)m<^+buq6Q46(M~dcE0d-5&?kMg5Hlstltn zLgGN(1yxPr8jGhQaP+8xdyD7YR*3&B`sdNnDW0fX8y{n+uR7tjJfbB-f5{hvK|6cz z=*S5BF%)n)d^?wPdx}OQhDS&g5{r`B=`DXX%%Nvje<|aHzR}7xHwHuVU(H?dx;r1U zf**aIUML%(Knk$Bj`EC(FVu(VUnd&1WLYX9RHcfQ<)J?qRadTza9&qR+}aYwj7}}w zf73x-QTmOOx(Xq!1sh)~TvwdlY*<}N(~-_Ju2nkDTymF^b?i?`RBCh9G_b&(?xn|(Gv5);C z?_X96WO(kQix;yZebuBXTQkYQAQeuv;EAUOeedVFJv=P+usYAZI?ug2&z%SK;5*;N z>Nm(@yYYGM!Bk-W&?mWT;@It(dE%>++^dt^n4RkHZ{-hjUnA1=1dnnb=r51`0H?Wc zY`Hyz5poUfwPbFw(ew^>WwkG{w)2qtvcHni_y#!ww~$X%t$(kPMzok-zPovR{gCr` zfL)T`ysg0D$z_JsPpMUWyMWnb22mIK>PfrqR>b8mz=`Kk`I}6xj>Gu&W_|ct}M;>NgT^kxdt1xp?Wff+w0JI7- zU;Elns}AW!9O6%<6hxS%A>%?t<aK&wVK*&c>@Jf>(kcW?HVd(m;w=*G%~I$3(-K=t zhe}r0NW|AjT;r05Cl*#&E?uK2U+zDV;KrYYSpQyT#mwt?qVuv?g2yLg)C6-m;8+f? zGChpvo-;kZlhcGxA&hv#OGteZBq<2JAMhH|O7(w_k;c2a6m9MmeZ{L*D}g@(Bm8Dz z#AU%eqG;?94k?$Wz;xrSk4Cr;C#XDM^_;zmlg@!McZrl!lAc0DZ*c^bNWFIRRcxsa z@coCGA6g1L>2pUvx*S+7F( zam9Ruib(6VE@mkGpC@wQ=&{8K=Tg~>0X`u*FBbPZ!Xv^3n}TwVI27W5tKgsUtb%{5 zGhVARUaK=+t216tGJ3s$FYxHD60_>ieH6!iR;RlX2&>awtLd&9^kX>P^|I8v4kGlH z4kD~hcRlKG!SbiKp2~%Q*F2@Q`g&U+!ydAQ zngU_kcAD`s4l!eL@fTDIoXfGNK7(5scS}BEdsxjiS+w0?tIA~~C1~NIED|Wkct?Fc zsQ_AkEJJp@hXexsX*AQh)a$I=F22j$TneVK6INYiZvPo!Hm!GLRdI4lzR7dO%(ZiG zNBE*xm7kIDBlC`@fm4BY!XyUTmdSWhWMAnyCq@)O-Hoqp^z%k9k!QA`@jE-$EF{jE zq0{A@xH!mTlMLxJSxlz5v3o{@rrk1sm?hm@NhW3Oo^Q7B%@$@!ygU3Q8I6<##>~y_ zt)1mC+grxp?T+!IvuXaw%x`U}Iy zgUP9j_;^4Ob6c%eTNh5!#jTjfKF9d%SRkz|Z0qXT>iG_z07nzWAq}4fL{PTzXN0+8 z?&cKv-fh5WwOXyM%}w=xtJNz0-|lX8pS3r)H#ghuZm-*U)@t{*wp-7jbsNCvJrNg( zJ!{<_}~0FDZOM*1@v+-krCF@gpj?n9gf%$jPapvltoA`2jnkgB*) z%v2kh25TfuZB>;!j3^nJ^$Ds^$n_}|Q6F@gnFXNKa3A)Q7AkBHhe(Vq02MrnFFsbu z%yCrTo;3o2Mmf|=*lDB$8o`jVv~?|NIFH(i>b@Scwd{Usa2O6;90-EE{1jBy9R(0u46w|Z93>RCOH;`!eI00960RGg5501^QJJN;iE literal 0 HcmV?d00001 diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/Chart.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/Chart.yaml new file mode 100644 index 0000000000..88358ae6b1 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/Chart.yaml @@ -0,0 +1,27 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: NeuVector Monitor + catalog.cattle.io/kube-version: '>=1.18.0-0 < 1.33.0-0' + catalog.cattle.io/namespace: cattle-neuvector-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: neuvector.com/v1 + catalog.cattle.io/rancher-version: '>= 2.10.0-0 < 2.11.0-0' + catalog.cattle.io/release-name: neuvector-monitor + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 2.8.4 +apiVersion: v1 +appVersion: 1.0.1 +description: Helm feature chart (optional) add-on to NeuVector for monitoring with + Prometheus/Grafana. +home: https://neuvector.com +icon: https://avatars2.githubusercontent.com/u/19367275?s=200&v=4 +keywords: +- security +maintainers: +- email: support@neuvector.com + name: becitsthere +name: neuvector-monitor +sources: +- https://github.com/neuvector/neuvector +version: 105.0.1+up2.8.4 diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/README.md b/charts/neuvector-monitor/105.0.1+up2.8.4/README.md new file mode 100644 index 0000000000..897f52ed5a --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/README.md @@ -0,0 +1,22 @@ +# NeuVector Helm Chart + +Helm chart for NeuVector's monitoring services. + +## Configuration + +The following table lists the configurable parameters of the NeuVector chart and their default values. + +Parameter | Description | Default | Notes +--------- | ----------- | ------- | ----- +`registry` | NeuVector container registry | `registry.neuvector.com` | +`oem` | OEM release name | `nil` | +`leastPrivilege` | Assume monitor chart is always installed after the core chart, so service accounts created by the core chart will be used. Keep this value as same as in the core chart. | `false` | +`exporter.enabled` | If true, create Prometheus exporter | `false` | +`exporter.image.repository` | exporter image name | `neuvector/prometheus-exporter` | +`exporter.image.tag` | exporter image tag | `latest` | +`exporter.ctrlSecretName` | existing secret that have CTRL_USERNAME and CTRL_PASSWORD fields to login to the controller. | `nil` | if parameter exists then `exporter.CTRL_USERNAME` & `exporter.CTRL_PASSWORD` will be skipped +`exporter.CTRL_USERNAME` | Username to login to the controller. Suggest to replace the default admin user to a read-only user | `admin` | +`exporter.CTRL_PASSWORD` | Password to login to the controller. | `admin` | +`exporter.enforcerStats.enabled` | If true, enable the Enforcers stats | `false` | For the performance reason, by default the exporter does NOT pull CPU/memory usage from enforcers. +--- + diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/app-readme.md b/charts/neuvector-monitor/105.0.1+up2.8.4/app-readme.md new file mode 100644 index 0000000000..e0faed5b50 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/app-readme.md @@ -0,0 +1,5 @@ +### Run-Time Protection Without Compromise + +NeuVector delivers a complete run-time security solution with container process/file system protection and vulnerability scanning combined with the only true Layer 7 container firewall. Protect sensitive data with a complete container security platform. + +Helm chart for NeuVector's monitoring services. Please make sure REST API service for controller in core chart is enabled. diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/dashboards/nv_dashboard.json b/charts/neuvector-monitor/105.0.1+up2.8.4/dashboards/nv_dashboard.json new file mode 100644 index 0000000000..1da8b12e94 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/dashboards/nv_dashboard.json @@ -0,0 +1,2036 @@ +{ + "__inputs": [ + { + "name": "datasource", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.2.3" + }, + { + "type": "panel", + "id": "piechart", + "name": "Pie chart", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "text", + "name": "Text", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 10, + "w": 3, + "x": 0, + "y": 0 + }, + "id": 38, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "
\n \n ![NeuVector Logo](https://avatars.githubusercontent.com/u/19367275?s=200&v=4)
\n
\n [Documentation](https://open-docs.neuvector.com)
\n
\n [Users Slack Channel](https://rancher-users.slack.com/archives/C036F6JDZ8C)
\n
\n [GitHub](https://github.com/neuvector)\n\n
", + "mode": "markdown" + }, + "pluginVersion": "10.2.3", + "title": "NeuVector Product Links", + "type": "text" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 0 + }, + "id": 25, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "nv_summary_enforcers", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{target}}", + "refId": "A" + } + ], + "title": "Enforcer Replica Count", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 3, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 0 + }, + "id": 8, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "nv_summary_cvedbVersion", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{target}}", + "refId": "A" + } + ], + "title": "CVE Database Version", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 0 + }, + "id": 20, + "links": [], + "maxDataPoints": 1000, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "nv_summary_pods", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{target}}", + "refId": "A" + } + ], + "title": "Discovered Pod Count", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 34, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "max(nv_controller_cpu) by (display)\n", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{display}}", + "range": true, + "refId": "A" + } + ], + "title": "Controller CPU Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 3 + }, + "id": 32, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "nv_admission_denied", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Denied Admissions", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-RdYlGr" + }, + "mappings": [ + { + "options": { + "1": { + "color": "light-orange", + "index": 1 + }, + "2": { + "color": "yellow", + "index": 2 + }, + "3": { + "color": "green", + "index": 3 + } + }, + "type": "value" + }, + { + "options": { + "match": "null", + "result": { + "index": 0, + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 3 + }, + "id": 2, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "nv_summary_controllers", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{target}}", + "refId": "A" + } + ], + "title": "Controller Replicas", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 3 + }, + "id": 19, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value", + "wideLayout": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "nv_summary_disconnectedEnforcers", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{target}}", + "refId": "A" + } + ], + "title": "Disconnected Enforcers", + "type": "stat" + }, + { + "columns": [ + { + "text": "Current", + "value": "current" + } + ], + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false, + "width": 300 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "string" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "log" + }, + "properties": [ + { + "id": "custom.width", + "value": 101 + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "color", + "value": { + "fixedColor": "light-orange", + "mode": "fixed" + } + }, + { + "id": "displayName", + "value": "Event Type" + }, + { + "id": "custom.filterable", + "value": true + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "name" + }, + "properties": [ + { + "id": "custom.filterable", + "value": true + }, + { + "id": "displayName", + "value": "Violation Type" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Last seen" + }, + "properties": [ + { + "id": "unit", + "value": "dateTimeAsIso" + }, + { + "id": "custom.width", + "value": 200 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "fromname" + }, + "properties": [ + { + "id": "displayName", + "value": "Source Pod" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "toname" + }, + "properties": [ + { + "id": "displayName", + "value": "Destination Pod" + } + ] + } + ] + }, + "fontSize": "90%", + "gridPos": { + "h": 8, + "w": 9, + "x": 3, + "y": 6 + }, + "id": 29, + "links": [], + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "enablePagination": true, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Last seen" + } + ] + }, + "pluginVersion": "10.2.3", + "scroll": true, + "showHeader": true, + "sort": { + "col": 1, + "desc": true + }, + "styles": [ + { + "alias": "Event", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm", + "decimals": 2, + "link": false, + "mappingType": 1, + "pattern": "Metric", + "preserveFormat": false, + "sanitize": true, + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Time", + "colorMode": "value", + "colors": [ + "#E0B400", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 0, + "pattern": "Current", + "thresholds": [], + "type": "number", + "unit": "dateTimeAsIso" + } + ], + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "nv_log_events", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "range": false, + "refId": "A" + } + ], + "title": "Security Event Log", + "transform": "timeseries_aggregations", + "transformations": [ + { + "id": "labelsToFields", + "options": {} + }, + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "endpoint": true, + "fromns": true, + "id": true, + "instance": true, + "job": true, + "namespace": true, + "pod": true, + "service": true, + "target": true, + "tons": true + }, + "indexByName": { + "Time": 0, + "Value": 14, + "endpoint": 1, + "fromname": 7, + "fromns": 15, + "id": 2, + "instance": 3, + "job": 4, + "log": 5, + "name": 6, + "namespace": 8, + "pod": 9, + "service": 10, + "target": 11, + "toname": 12, + "tons": 13 + }, + "renameByName": {} + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Value": { + "aggregations": [ + "max" + ], + "operation": "aggregate" + }, + "fromname": { + "aggregations": [], + "operation": "groupby" + }, + "log": { + "aggregations": [], + "operation": "groupby" + }, + "name": { + "aggregations": [], + "operation": "groupby" + }, + "toname": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "Value (lastNotNull)": "Last seen", + "Value (max)": "Last seen" + } + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "left", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 6 + }, + "id": 12, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "9.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "max(nv_controller_memory) by (display)", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{display}}", + "range": true, + "refId": "A" + } + ], + "title": "Controller Memory Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "mappings": [], + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Value #A" + }, + "properties": [ + { + "id": "displayName", + "value": "High" + }, + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #B" + }, + "properties": [ + { + "id": "displayName", + "value": "Medium" + }, + { + "id": "color", + "value": { + "fixedColor": "light-orange", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 14, + "w": 3, + "x": 0, + "y": 10 + }, + "id": 24, + "links": [], + "options": { + "displayLabels": [ + "value" + ], + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true, + "values": [] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "none", + "sort": "none" + } + }, + "pluginVersion": "9.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(nv_container_vulnerabilityHigh) by (service)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(nv_container_vulnerabilityMedium) by (service)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "B" + } + ], + "title": "Cluster CVE Count", + "transformations": [ + { + "id": "merge", + "options": { + "reducers": [] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true + }, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "piechart" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 12 + }, + "id": 10, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "max(nv_enforcer_cpu) by (display)\n", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{display}}", + "range": true, + "refId": "A" + } + ], + "title": "Enforcer CPU Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "cellOptions": { + "type": "auto" + }, + "inspect": false, + "width": 101 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "exported_service" + }, + "properties": [ + { + "id": "custom.filterable", + "value": true + }, + { + "id": "displayName", + "value": "Cluster Service Name" + }, + { + "id": "custom.inspect", + "value": true + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #A" + }, + "properties": [ + { + "id": "displayName", + "value": "High" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #B" + }, + "properties": [ + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "displayName", + "value": "Medium" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "light-orange", + "value": 1 + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "exported_service" + }, + "properties": [ + { + "id": "custom.width", + "value": 300 + }, + { + "id": "custom.align", + "value": "right" + }, + { + "id": "displayName", + "value": "Cluster Service Name" + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 4, + "x": 3, + "y": 14 + }, + "id": 36, + "links": [], + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "enablePagination": true, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(nv_container_vulnerabilityHigh) by (exported_service)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(nv_container_vulnerabilityMedium) by (exported_service)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "B" + } + ], + "title": "Vulnerabilities by Service", + "transformations": [ + { + "id": "merge", + "options": { + "reducers": [] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true + }, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false, + "minWidth": 50 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "name" + }, + "properties": [ + { + "id": "unit", + "value": "string" + }, + { + "id": "custom.align", + "value": "right" + }, + { + "id": "custom.inspect", + "value": true + }, + { + "id": "custom.filterable", + "value": true + }, + { + "id": "displayName", + "value": "Repository/Image: Tag" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #A" + }, + "properties": [ + { + "id": "displayName", + "value": "High" + }, + { + "id": "unit", + "value": "none" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "color" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value #B" + }, + "properties": [ + { + "id": "displayName", + "value": "Medium" + }, + { + "id": "unit", + "value": "none" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "light-orange", + "value": 1 + } + ] + } + }, + { + "id": "color" + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 5, + "x": 7, + "y": 14 + }, + "id": 33, + "links": [], + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "enablePagination": true, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(nv_image_vulnerabilityHigh) by (name)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(nv_image_vulnerabilityMedium) by (name)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "B" + } + ], + "title": "Registry Images Vulnerabilities", + "transformations": [ + { + "id": "merge", + "options": { + "reducers": [] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true + }, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 18 + }, + "id": 35, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "10.2.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "max(nv_enforcer_memory) by (display)", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{display}}", + "refId": "A" + } + ], + "title": "Enforcer Memory Usage", + "type": "timeseries" + } + ], + "refresh": "15s", + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "Prometheus", + "value": "prometheus" + }, + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "hidden": false, + "refresh_intervals": [ + "5s", + "10s", + "15s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "UTC", + "title": "NeuVector", + "uid": "nv_dashboard0001", + "version": 1, + "weekStart": "" +} \ No newline at end of file diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/questions.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/questions.yaml new file mode 100644 index 0000000000..b8d51b3791 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/questions.yaml @@ -0,0 +1,27 @@ +questions: +#monitor configurations +- variable: exporter.image.repository + default: "neuvector/prometheus-exporter" + description: exporter image repository + type: string + label: Exporter Image Path + group: "Container Images" +- variable: exporter.image.tag + default: "" + description: image tag for exporter + type: string + label: exporter Image Tag + group: "Container Images" +#controller crendential configuration +- variable: exporter.CTRL_USERNAME + default: "admin" + description: Controller Username + type: string + label: Controller Username + group: "Controller Crendential" +- variable: exporter.CTRL_PASSWORD + default: "admin" + description: Controller Password + type: string + label: Controller Password + group: "Controller Crendential" diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/templates/_helpers.tpl b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/_helpers.tpl new file mode 100644 index 0000000000..5d21a18241 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/_helpers.tpl @@ -0,0 +1,40 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "neuvector.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "neuvector.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "neuvector.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/templates/dashboard.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/dashboard.yaml new file mode 100644 index 0000000000..9a6840a4d8 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/dashboard.yaml @@ -0,0 +1,19 @@ +{{- if .Values.exporter.grafanaDashboard.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: nv-grafana-dashboard + namespace: {{ .Values.exporter.grafanaDashboard.namespace | default .Release.Namespace }} + labels: + grafana_dashboard: "1" +{{- if .Values.exporter.grafanaDashboard.labels }} + {{- toYaml .Values.exporter.grafanaDashboard.labels | nindent 4}} +{{- end }} +{{- if .Values.exporter.grafanaDashboard.annotations }} + annotations: + {{- toYaml .Values.exporter.grafanaDashboard.annotations | nindent 4}} +{{- end }} +data: + nv_dashboard.json: | +{{ .Files.Get "dashboards/nv_dashboard.json" | indent 4 }} +{{- end }} diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-deployment.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-deployment.yaml new file mode 100644 index 0000000000..8309f8a412 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-deployment.yaml @@ -0,0 +1,75 @@ +{{- if .Values.exporter.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: neuvector-prometheus-exporter-pod + namespace: {{ .Release.Namespace }} + labels: + chart: {{ template "neuvector.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: 1 + selector: + matchLabels: + app: neuvector-prometheus-exporter-pod + template: + metadata: + annotations: + prometheus.io/path: /metrics + prometheus.io/port: "8068" + prometheus.io/scrape: "true" + checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }} + labels: + app: neuvector-prometheus-exporter-pod + release: {{ .Release.Name }} + {{- with .Values.exporter.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + - name: {{ .Values.imagePullSecrets }} + {{- end }} + {{- if .Values.leastPrivilege }} + serviceAccountName: basic + serviceAccount: basic + {{- end }} + {{- with .Values.exporter.securityContext }} + securityContext: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: neuvector-prometheus-exporter-pod + {{ if eq .Values.registry "registry.neuvector.com" }} + {{ if .Values.oem }} + image: "{{ .Values.registry }}/{{ .Values.oem }}/prometheus-exporter:{{ .Values.exporter.image.tag }}" + {{- else }} + image: "{{ .Values.registry }}/prometheus-exporter:{{ .Values.exporter.image.tag }}" + {{- end }} + {{- else }} + image: {{ template "system_default_registry" . }}{{ .Values.exporter.image.repository }}:{{ .Values.exporter.image.tag }} + {{- end }} + imagePullPolicy: Always + {{- with .Values.exporter.containerSecurityContext }} + securityContext: + {{- toYaml . | nindent 12 }} + {{- end }} + env: + - name: CTRL_API_SERVICE + value: {{ .Values.exporter.apiSvc }} + - name: EXPORTER_PORT + value: "8068" + {{- if .Values.exporter.enforcerStats.enabled }} + - name: ENFORCER_STATS + value: "{{.Values.exporter.enforcerStats.enabled | default "false"}}" + {{- end }} + envFrom: + - secretRef: + {{- if .Values.exporter.ctrlSecretName }} + name: {{ .Values.exporter.ctrlSecretName }} + {{ else }} + name: neuvector-prometheus-exporter-pod-secret + {{- end }} + restartPolicy: Always +{{- end }} diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-service.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-service.yaml new file mode 100644 index 0000000000..9d15b115e1 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-service.yaml @@ -0,0 +1,29 @@ +{{- if and .Values.exporter.enabled .Values.exporter.svc.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: neuvector-prometheus-exporter + namespace: {{ .Release.Namespace }} + {{- with .Values.exporter.svc.annotations }} + annotations: + {{ toYaml . | nindent 4 }} + {{- end }} + labels: + chart: {{ template "neuvector.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + app: neuvector-prometheus-exporter +spec: + type: {{ .Values.exporter.svc.type }} + {{- if and .Values.exporter.svc.loadBalancerIP (eq .Values.exporter.svc.type "LoadBalancer") }} + loadBalancerIP: {{ .Values.exporter.svc.loadBalancerIP }} + {{- end }} + ports: + - port: 8068 + name: metrics + targetPort: 8068 + protocol: TCP + appProtocol: http + selector: + app: neuvector-prometheus-exporter-pod +{{- end }} diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-servicemonitor.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-servicemonitor.yaml new file mode 100644 index 0000000000..25ca23d121 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/exporter-servicemonitor.yaml @@ -0,0 +1,39 @@ +{{- if .Values.exporter.serviceMonitor.enabled -}} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: neuvector-prometheus-exporter + namespace: {{ .Release.Namespace }} + {{- with .Values.exporter.serviceMonitor.annotations }} + annotations: + {{ toYaml . | nindent 4 }} + {{- end }} + labels: + chart: {{ template "neuvector.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.exporter.serviceMonitor.labels }} + {{- toYaml .Values.exporter.serviceMonitor.labels | nindent 4}} +{{- end }} +spec: + selector: + matchLabels: + app: neuvector-prometheus-exporter + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + endpoints: + - port: metrics + {{- if .Values.exporter.serviceMonitor.interval }} + interval: {{ .Values.exporter.serviceMonitor.interval }} + {{- end }} + path: "/metrics" + {{- if .Values.exporter.serviceMonitor.metricRelabelings }} + metricRelabelings: + {{- toYaml .Values.exporter.serviceMonitor.metricRelabelings | nindent 6 }} + {{- end }} + {{- if .Values.exporter.serviceMonitor.relabelings }} + relabelings: + {{- toYaml .Values.exporter.serviceMonitor.relabelings | nindent 6 }} + {{- end }} +{{- end }} diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/templates/secret.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/secret.yaml new file mode 100644 index 0000000000..a751795995 --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/templates/secret.yaml @@ -0,0 +1,15 @@ +{{- if and (.Values.exporter.enabled) (not .Values.exporter.ctrlSecretName) -}} +apiVersion: v1 +kind: Secret +metadata: + name: neuvector-prometheus-exporter-pod-secret + namespace: {{ .Release.Namespace }} + labels: + chart: {{ template "neuvector.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +type: Opaque +data: + CTRL_USERNAME: {{ .Values.exporter.CTRL_USERNAME | b64enc | quote }} + CTRL_PASSWORD: {{ .Values.exporter.CTRL_PASSWORD | b64enc | quote }} +{{- end }} diff --git a/charts/neuvector-monitor/105.0.1+up2.8.4/values.yaml b/charts/neuvector-monitor/105.0.1+up2.8.4/values.yaml new file mode 100644 index 0000000000..debfcc73bf --- /dev/null +++ b/charts/neuvector-monitor/105.0.1+up2.8.4/values.yaml @@ -0,0 +1,59 @@ +# Default values for neuvector. +# This is a YAML-formatted file. +# Declare variables to be passed into the templates. + +global: + cattle: + systemDefaultRegistry: "" + +registry: docker.io +oem: '' +leastPrivilege: false + +exporter: + # If false, exporter will not be installed + enabled: true + image: + repository: rancher/neuvector-prometheus-exporter + tag: 1.0.1 + # changes this to a readonly user ! + CTRL_USERNAME: admin + CTRL_PASSWORD: admin + ctrlSercretName: '' + enforcerStats: + enabled: false + ctrlSecretName: '' + apiSvc: neuvector-svc-controller-api:10443 + podLabels: {} + securityContext: {} + containerSecurityContext: {} + + svc: + enabled: true + type: ClusterIP + loadBalancerIP: '' + annotations: {} + # service.beta.kubernetes.io/azure-load-balancer-internal: "true" + # service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet" + + grafanaDashboard: + enabled: false + namespace: "" # Release namespace, if empty + labels: {} + # annotations: {} + # k8s-sidecar-target-directory: /tmp/dashboards/neuvector + + serviceMonitor: + enabled: false + # labels for the ServiceMonitor. + labels: {} + # annotations for the ServiceMonitor. + annotations: {} + # Scrape interval. If not set, the Prometheus default scrape interval is used. + interval: "" + # MetricRelabelConfigs to apply to samples after scraping, but before ingestion. + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig + metricRelabelings: [] + # RelabelConfigs to apply to samples before scraping + # ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig + relabelings: [] diff --git a/index.yaml b/index.yaml index 77ce8094aa..3464195931 100755 --- a/index.yaml +++ b/index.yaml @@ -7575,6 +7575,37 @@ entries: - assets/neuvector-crd/neuvector-crd-101.0.0+up2.2.3.tgz version: 101.0.0+up2.2.3 neuvector-monitor: + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: NeuVector Monitor + catalog.cattle.io/kube-version: '>=1.18.0-0 < 1.33.0-0' + catalog.cattle.io/namespace: cattle-neuvector-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: neuvector.com/v1 + catalog.cattle.io/rancher-version: '>= 2.10.0-0 < 2.11.0-0' + catalog.cattle.io/release-name: neuvector-monitor + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 2.8.4 + apiVersion: v1 + appVersion: 1.0.1 + created: "2025-01-21T22:59:39.254559651-08:00" + description: Helm feature chart (optional) add-on to NeuVector for monitoring + with Prometheus/Grafana. + digest: 83f60ea328c2ececa017e0b32c89f17bc9e4aa911dfe38c809854396c3d49496 + home: https://neuvector.com + icon: https://avatars2.githubusercontent.com/u/19367275?s=200&v=4 + keywords: + - security + maintainers: + - email: support@neuvector.com + name: becitsthere + name: neuvector-monitor + sources: + - https://github.com/neuvector/neuvector + urls: + - assets/neuvector-monitor/neuvector-monitor-105.0.1+up2.8.4.tgz + version: 105.0.1+up2.8.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/display-name: NeuVector Monitor From 4cb056bd3e10b4850d4cd7bf2d5e0fc2abefd6f8 Mon Sep 17 00:00:00 2001 From: selvamt94 Date: Tue, 21 Jan 2025 22:59:44 -0800 Subject: [PATCH 3/4] Update release.yaml --- release.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release.yaml b/release.yaml index f4c73907a8..47fc8e7953 100644 --- a/release.yaml +++ b/release.yaml @@ -18,6 +18,8 @@ longhorn-crd: - 105.0.1+up1.6.4 - 103.3.3+up1.6.4 - 104.1.2+up1.6.4 +neuvector-monitor: + - 105.0.1+up2.8.4 prometheus-federator: - 105.1.0+up0.4.5 rancher-aks-operator: From 67d13a292af12d7fbd2adde99a15c93313af1d89 Mon Sep 17 00:00:00 2001 From: selvamt94 Date: Wed, 22 Jan 2025 11:23:41 -0800 Subject: [PATCH 4/4] Update release.yaml --- release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release.yaml b/release.yaml index 0db50af8fa..658df2b3f1 100644 --- a/release.yaml +++ b/release.yaml @@ -23,7 +23,7 @@ neuvector: neuvector-crd: - 105.0.1+up2.8.4 neuvector-monitor: - - 105.0.1+up2.8.4 + - 105.0.1+up2.8.4 prometheus-federator: - 105.1.0+up0.4.5 rancher-aks-operator: