From fa85a8a39ed658eae85f0e3525efc5c793d651db Mon Sep 17 00:00:00 2001 From: nicholasSSUSE Date: Mon, 18 Nov 2024 16:13:49 -0300 Subject: [PATCH] re-implementing fleet-crd 105.0.0+up0.11.0 --- .../fleet-crd/fleet-crd-105.0.0+up0.11.0.tgz | Bin 0 -> 36648 bytes charts/fleet-crd/105.0.0+up0.11.0/Chart.yaml | 13 + charts/fleet-crd/105.0.0+up0.11.0/README.md | 5 + .../105.0.0+up0.11.0/templates/crds.yaml | 7104 +++++++++++++++++ charts/fleet-crd/105.0.0+up0.11.0/values.yaml | 1 + index.yaml | 17 + 6 files changed, 7140 insertions(+) create mode 100644 assets/fleet-crd/fleet-crd-105.0.0+up0.11.0.tgz create mode 100644 charts/fleet-crd/105.0.0+up0.11.0/Chart.yaml create mode 100644 charts/fleet-crd/105.0.0+up0.11.0/README.md create mode 100644 charts/fleet-crd/105.0.0+up0.11.0/templates/crds.yaml create mode 100644 charts/fleet-crd/105.0.0+up0.11.0/values.yaml diff --git a/assets/fleet-crd/fleet-crd-105.0.0+up0.11.0.tgz b/assets/fleet-crd/fleet-crd-105.0.0+up0.11.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9c7b0599118fcf85ff4dcd125333a34c3bf201ce GIT binary patch literal 36648 zcmbTdQ;;A{xMze|A%0OI^-bh@ARob0{#gIvr-dKsnLQ{!@RZdlvRYuL)(!kc(U0K17 zN8H5P2H>LW({-aciLIOOy{5OoCFVkvDITfB=HtQ^PvtkJ&4&v$8ONt-2Tbtbq`t^6 zY5>V>m-ilDI9h;i7>GYiM5`8|dWcry@T~x}SLesHOoEHl2&bn*m{2U+JKXOnKrIbF z*EY8&=r<1+*ZJ4;1zXSSgu1R1EJn<5aNG7VQ>08fuo5$&NRF(l-xInQN)Gi2Ko1R7wHM36)AK3 ziV@R^2-1$lGeQb`2_tlPKIV?^Dsr86Z2lcX%w~{H?+o zSZJU-GP`fkO9{f6GFa~6{cd5W3hRUeh3EV>o8i6A{+^l1mOcI^SfiVLXGt=bVDc{& zPNe965FOTN79gfuJnF@=waihjnCT&Ok24TCuppcdxC7jN^?h4iMKd$oy#Kyv$@zBS z{Dzw|ZO}Le9Rwl4LpFHR`|WejRd!vuUJ_$VE|mkP>lyPq-##2=iBVXrke_^48Y0_7 zcv3ZR%5EG)BavBZDoB0Psm1KRq$iEfGcdLd8jVDXDL$TXKO>W#_Cn>RN96I818;^h( zNjLWRq$$B?UJQJdV?A#QURKGn^-3#GqqcQNBdue5is_q(!!zRV8%MfSkP5{yMUqG` zo8vvl$qI{5-^3-}q9~jwrNAm>`F$o+dF#pPr^*c7+$LFO8pQ;j&-css)T8J3*R|L+ zxGbBP+!yyuSfZOqbGJK;-8-LocBglEgJD$88sE6F%x~?51hl}cp02m6`}1iy@TS48 z{j22J7GnwtNVOvR=L18dA;C#S;^ods#lcp~hp<`y)MZ6V@%;L!4~6sN>*YWKYqs34 zU@hfB_I~m)$+A%XRD$userkeHIxRY4_6bcZKX_Z;02|lF5v?(p7J(b=X_&)z+KNVTw&R z_@p-`(uC31(1OhDG6fcalt{1Q$UIIb9STwni^ujP3sbgzI&a+gcycOk2HGNu{J!>=L zxj+(&cBLz-$3Ec@u_lv8mNzuG1xWWZfUh5Sq?4#$yzOwOye(Wt_}Uu=kws2r3mf0gB2@*HYPC6K z9eM#?$2jo-=mq=ka#JVJt;Qz77*9@12c}kMjsJQxuuJsou>?6;OpeaV$M*O(s60ikvQ+;t@ReLMt4 z`Pi!-PRkKj)8^j;>cinoC%Ad~IGi%^punJ7Um>G*)L=ua+ zNM1P_PU;{u9;S|tZ8l#%aNV^P4G?TKxQcl!{sD$|DVk05d&y)DA@-o3{mvsaxb zFxF+uGzCeR9ljx|`)d2%N6+9w3Z#8TC-Cc5DbGSWs>?E8t$Rus(}>aacQn+L=vQ@( zDm&XZKS(j*sN{5CaAw?6hN`rk7qOGz!*Q9gN5jURv=n4|50fw>5!=mSvUQ`)szpl& zOUhBSo?^V;;r>amb+jx$4`kg_uaUmPcwW|Q30;y z?tWtj48tYkQ}&QENB`8zfe3b8vS8 z0+a}bz5Hlu6H6)sC=DH$V|QVlC{0harESI^1FCG+IM8YuN}Tc0pka)5Lo(D(bjA8X zlVVC=yF~=9?u*Vtx8EqtC2CEHz?o{hARx5yzi$L#d5xp*KzHA$9MNEnYdnUNRxQJc z`Y&j4k};UFH*yoV>vm&YUb5%-viNFoM`lrQO$;F=9Vx~_3DK@;b;t+sCr-7~HVbt1EN|5Dk!w$)|jiCGU!xpd7uT&(KB zvF`d~oI10-j!J7L@Z0Ac+bF_@?5;Fz?vT-z)2Z!Z+OHbDCB<%9Db%V;dm|u$A!HLH z?{PEIv0pKsuriiBE&mn2CvvTZflaUf{uk7pYQ(jVcd?@@n;z3VUq1>MpgXpz*@|`r z7JXpwGJ{6K0jOIXfsrB4OSUZG!%bgYhJ%%Np4|b#zyKg9->@|YHW+-W0}*}i@9%ah zvNSl(#FmV`U~2;=)xyp0Gxja%Uw(Yph7g3-^fZH|j zx?ATfOl^Q=Hzi}JkvilTe}&dD8$IXld;-t!bsS#6DcSvTV#yxh76VUN=o*le#}Um0 zq*5%zOtZxprb8L3S%4?tpEs5^q~VFB^D*^}<%rmlEQnz4!J7wU9X%_a<9JLShkr$B z&M;1sJjgcyE1k$Le83tmVOE%baOBKhy%usylf#HsPl*=mThz2%L+}{Qq9}Zs3%azV7@F9Ph>eahHq4X zx%)GE2vw@b4BarEQr!bXDBhUX_TxgP)!m6v86MxT#}9(4&X^VhHBR1)n~%}|{e#tn zFGvUACW}ECk<@G9HW6g)%-?=ehAmW1U%CWeWs)h4)wtJyq7V-LaM_U(3iWWbH_nA& zW-kU+`JA_fmariQz9@AfO zhLWfN9?53=2**t4I5_Sl5Qw?}(pI#C^gJ!SrxkC>d!bG8W`BB*nVoShDC{hMd;aHb z-E{c+EM>B6BsoTTAIMw%c2;5hrMO!RA=%NX>7l`B*veNQa$aaZAeyEovR6P+rX=tf zYFu!g4_$+Qm8NHodoM=0iwGoV0L@qD6RDD?TMB;!PZzOS@%;ECVg}AZ16f_q>w@F$ z8t>-9&a8p%`{N}f?XyR(jgRN`bN@Tt)7ST|Lhs6x$O3`P2;!|(&E<#7k0#&>E?DCe(5hMDu8|#|7!f+jvYls?|sTE z?k0lbFxyd4)6jjd5cB-i%W2CUSr8dUD={03-`W0riWovWZ7_rK@AcsE){Ae)i z@q9aMnBn7kztm{gE*!IPXy6jlO?#mrF*-kTlq8;x)w|S7)~1|x|emS4~%XM z7=G=al`q#AFt82CEBq?@jW2>}SJ!Aus%}z)kjL-b^E}P|DK@SK|L1mQuCGz$+p0Z3g2Ho>Mh$7|IPIj&s0~e=-z`0)sqP4~s zXu^1own}F*`q$}3e8`DMi%7x`!T;|sCzuq?J0$elD zlQ_@1wo07-&F;l*C`o8*Avm27m_kjf zbKm|L9tG)e@61*aMRZ3-`I_J(COhBYk`6e+(9W0D_8;rYi8_ z`Y;_nmb}Vm`}g_%f@SXO@R!~7@nrw{Us!Lf{T^vV1lG0PJdpS#oO~5a4FkxT4u50H2v>lG-v)Tbf7mNC(+a6U)*4DCIc=f+_YMp z=AY0%%X91IG~g1J_Wn1jxu5gz5wd?`yZOXJR{XZg?^X(lAS^KG4ET(N_z15zbLjsd z98l~+OO-hJ=6PHd)Y9H3Ngn6iS}w#TP*gD^X4zt!_Byu~xAm83(?nvZ^c1sZ;K4ys zXE&t0UIx~6TJS?>Wy|5Brdo;e7EMN?xTSOv*Gu6rWfHK5+;x325!QfokFX9>%%}fL zIPIUp%k?Ksy@~u?S^%Ef`)LZ-H^?V%K9DLOcjBt{iO}Y|3nr{X|0#E_X(@RRv9Ux25yn zNj-$Z9YGE+e9y{|{KvCQd761e4HyS`#16&iUBnxQ#TP(QSL`cLYn1_{KpfRyXaNEA zf|@<0DBYDtzbA=6D#@obXGjY(-#^jy!NU(6=pGv2=gB1ZPBvL6Xe3P#B)KQkwiyb_ zQ>Haj^@Epk9|KOyuTYce4}<0|dAv1G2h)@0Hq%emrzj}}DW3zBHG7*2h9-~w#H9?O zVboWvtRHF0<;TPN40c_i6=L|?Am z$+?SPO2YY4(hi4#_jSS6ub{tz7a*|bi2>Rkf(2@wa>Pi`muin-P z+UfRuAm#SF4Ln1s_KEj5s85D)|bk147P zp3L>u3@cmzIi3xF5pD=HC%@gRh<~NdcYGwMqtoFVC|tmGgg?VCi%tbn$yjb z!S^|(y@1SG)x@lfMKuyzL3u0%E-hZGh>@oBC5{RlE2-+AGUT}Uxq2nTgvZJ9ndAKCh-PpCq-=#gJCoo|^8j!|HWcp&7I7#p1f|A45-pR-d61emyzpv#Oa09T zfwWt8N@V#IMJ8E0ISSexGf4|ESCSLU0HKDG2qMi*_MZQ=zQ<(Y_t7aGrRZ!D87N2f zD%>(LQP|qjBPWyvVQg%p+&Veb%etNvAuD_x;3;=G3BOGQ!f*-c1T-!%Hy_%`qMTV$ zrJmR9yPztd=?{gH;1oNa{Nw8krY2BrnkLk{i95nUe}4%F`!MA8S0$x?ORA5I!TA^! zS-T~44$|c`a-)4XH&?KS*(^EVr(9s2Cvg69YW^h{!{IRkwI)QEi>#mXFLD7^JqMtU zj3Z!1xn(;#b8H`iE5wn^OQp^x+E!r=D$WB~)tS*r-Z#J-u=+DLg!D}iTI8SW!#wB2 z@FrB{#H!Xh=0-l=27(q9l!nUeeMR~Zss`cC>Z zYaulh#J!(!`+|5qJ?Bt>PltT+er2(aPOyfr{NvL1?it5xC+)sqXL1T*4|kh;lYhPS zLyeDk9T}zfRe1$mt!T$~!c|EqqisizPK?mISB#NJc6mB{`mhTCCqgkT4Obm05Hvc; zVE_mVW=9WflTin8<0H8yDRcoDw*eUcY>v&3I6i)MJ&r)h7ZSj)gB;oLI1bH%OiQ=` zs@ULa766|xnngqHhQcjV7qb455O(?hVd+0eMD?u!>WnT9%QHTlFG8!#O+elvumra+y4 zTU!4TO01F`WC~r_Sfj=Xo_p@&+`bIi=KJz>{M_pKen)U}eK?qL#6oFd@jth1mz)8E zJ7eT#b+iqMTm+;aJ_ha2lR*bK0VbK_Z-dF$+lXtZ#vFpxE`=b*Dtdlanoh%JNb$7ONoO zZXGMwF`YjQS3q47coOtR>FjGAXuGioz!_ML)+>gw%s#nI7a%2Io1qN2&pk<5)s7O3 zeXUcTG=%l-*x6ieX)vdQWp0di>WHa`J=png1)Q_M`eZ>0KEzspo&$F}<^%1(Kptr1 zXPMd;%L-m<-Vc6Mp~>S_aNo}K^zHh1FHPc8CgU@nhg=-l?qT&|zuVGsFg^BodE>ph zM!Zyo+CGa6$O1jv5$hcu`rFf!vi3}LwiQCU$09zs*xu8^`P_&3%(dJS!uj;seA~D7 z6b6z@;p6tcOMca0aV5a?9>z@s4Agz|4)qL2 zKNwP-1S;Mget~ENJB0^*UmiQPAALE$MQzcAJKBkHiH4HNL2bk+SIbigyB}ngctYIF zcyoAXUo3zBdZ#?{K=h>F=}-rAL9zKc*&rv|xr;rUnUS;+I0h}} z;hGznIWmFAM^fF@>~P`;muSITRc1+nb|J$4nPal(M?(nmJ{In91Fo7 z_n3-@3GZ=*{BV3{j6{*I#&Y0PIc9Km;dzj*(8kDcAJOm@AD-aG%&l| ziSbXY>$9qLTG?&>lxY&~rBAJvQW~5`d9PSY;}*|f{WP9d6wc+$bSXeZbe76=@tE3B zU3%8J`aNl|jg0)~(=bo0s^W>#bDe4pt5_+tyY7AI22Yh?wgAYTMeQ>IUuYnlAn7 zFy-5yatS>!bhzyjw~Em$AGEj5{x-dL>e}8^pK1)LLteS6;-kc5qbjr5R>v!x^W9nJ zJ5K{`OCfCI0HSd}&|Itag1F)Yrmj8_wQO7D3t-k{Cli4AUzXE(Dp+~tGJ|VZ_4x@3 zt4OQRV@;IMCHg!n^WzMx9d!m!8YDK7qwHbhio~lY)~rr;MkZtEV%T9wM@g!w4Y!Oi z2$|F&vTt?~W5tqLo{XUJOH|$X8BMJKv6>H=QRO2eoUFUjA)r;E$M@yY)ov+yRE41U zHaKl}ds+m*?B=Mf6jz;`&dtFEyk;quakY7Qp9?^y z;`kUg8G&~;dWIC>Jr?>1M?^*7tnl>q%OG%<1d?DWT^THTaa|Ms52b`TiqYs=w*!$2ja0g#>#%F{Ayy=&W8^96|JdV-Pt*{tzrPs~{ZtpEf^94IF9x3D zrb9t)J5heY;|6392mBONH==eSZRFe_mQY9p>PD(>HuSQ$3fE_4t11IbL7O z`8-bO*n!e;3SUB|;LNHl_56dA0lU<0%6VrVdgd^g{;y&_!XLbft5?Z-n^ zSbf9A+p2QV6CD46$*8vLF(Z_20=p}8gx@k?O>-`FsYh49QT1&ay#Emh{1)<_-qvOQc~Q>;BqyqP~Jk{WOwbkQvgl9uFe zOWGbS;+!YS&)5kVpyo_xYEkod`gm=i^}BD^&J?u*rf2xGHOcJ#cPf z_a0$9u|KqdXypAAwh&_x3{|rbL!Jsc<#obzuUEDT6Lpna931J4X*4acM46?DY~{od z_wMT{BNZRv(uLC5ra09`1lGn{vtKYG zC9E4!tiJ@#^eFFr0_)&9pykyCv5X3+7plmD(adPB~(!r2>2FRT>N58`(z7HbA+dkgkK!j7^H=zvFY*g~$ zKaz`yaZr_dp#dpH$B?HQY1yfh2bPy!l5;@_@ZnG}02hKJ#zyN}9Zrd9pK+zMEG%o6 zspP0Vc(|(o4gN96JxwGWM8l`?55`?AftV2#?x*2)?ze&J$TR&7@MgjzeH|dXEpc|Y zaW!sts|&Qh`!*njSE6!;0vFuDA~(~M`l!A)rai!gcXfc-M78m}<@eXYv4p%4ml;P3 zn_Wd6mPKA5@epvych37CB)i(9nB0WpWU2E$5kWAxP5W17Xtv7wI1EV_U{YPzdfX|n zrp`_e5|r=TmQ@RG~YmL={O{SP!I+{K9sfnkKOkU4DE7&np> zHg{cMnJJ>^^N6c~=#DJ<6sO@$^V#ohlp$VyK8$|_WB~B$fv?L3AOH*VoGO^DJfWVS zp@_5%(>H}AtyzxlX(yFBHsShL&$DYX(07M>WF)B1kN*5_Jne-sL=rf6u02ejH8c{i zaVgO=hvQ{t-#C8?@v|g7uFugI%1wfksr_~CN#G;kaWskjWAe_fy@U%)xH}wz7*%kn;82p09o6`R1k$@G40oPEc`gwa!D!3{ zz3()9Cxh~DXaeR?xNRww8j^|Sf)LmY797w*Jj(va(o6r}C&)G;dV=$|DfUQAJ z0@Wi%;^E=)RKt40cqlA5WFBM(PB=j#fqXYuo@zIO4g47w8)xa z9FM6w*rcu7NOvsravm_V*Bg{0e*BMX#u3k3=a_*?!RJt|AlP7?pke*e$idq16NDzH zi@`m0kw@$h=b)#74nZO&8U^kvly(KS!L>>FqEY8z+CxvNfSTc8jxL(2|vwo$89ol@3^!iSBl@^EgNX4xZY8Ye(; zBASAphSmiO=v(BOuTU`qx`Kue1PkJX*CM#*)V0mUxM`VPQX+>B!`qtHO;Vo*j|86s zW`1rt5!`oZH}tShwp+ugfQkyqjc~K)woS26<+~+8O<#g7EZ;smO4yY=EOTzkZFclc z-w;S@mGtgN36tSmEliN%)KJcFs+S=9DR_q2PK~?ONVBN-cK>xqklpjNR>-2F5gTgu z(%5QNI(B|On4jE??!@&TduAS}#z5NCaTb?qFqM2&plaCc&?l20P9BT9B31emgBlS_ zua6nou8EKSbySulG?fy7kZOqf`Eh{TVJ0}1=%4t)UyqK6EA)b zN2+d!-1cMX-R)|-nb6H&;G`~6ppF`+6x|*~PDO~WRQ{_L>u$AyLSGn>I>oA@+uO@J z*Ah*GYc&zT8T%p-Y+nQ~`w&$xLew?wzk#S$qb#>hx-<;(l`;FB2bb|WZaNIp`E0f$Jd`RnWQk2%@1fl((tBYvseaS)BaT@EgifEV;-dboG`SQ8*D!5L zJYZCND+gM(nJ87Az&*)aoqe4CLxb5}qLyh=t?ic#&$8CXiDmuMw#%T*`WY{lH0#FYH7#lwH4h805=$^_+$0?`SB(5u zfP(T+i2ig9wEk;);ASEhNHAD7N-(Th`k*}l`7OS{R^0N5=IV0zYN=>JXL`{30iUtN( zfESYOJm&vGnd~~`VAjDa6^dpF0%_-!hSDx&6G(#|QwjNP^i;&$OT{we0K>H~e(;1n z6cje<2CiMs(^-PXQ`3x6n-2cOl+6Jo!@b;BCZ>&&E*0|=9DFVF*c9(vUhk!i5;z%o~=u-Up-WPmYhX}~^B|6s@psjhQTS;igFtLggsOzG@(iObBz>1@`rtb{d= zvaG!St!(~O_^_H1pac+|DNY!h8z)8flO)$;<-ZAj>_6TnO8t3ip8KBtJyX3vi~hz$ zJblruJ;s}0tTG%n9sm3tKI}ZgjB1)TaFk*jm{Y3HP6``hw`3ao-$vs&Gp4giG!)>R z+WKtnJ&(Fbp)(%>4qY%0q7RdW zO4AcR-?t3E{SF)Wvfl5%oY+F9+A173fvcP6Si-{zSmZY-^|j23lTpPx(mIdoxc$sY z@sZ@eZ?ERH))#r!)te@&&}{Vn9}9`$58A*W{UQF3h4gM8`(q)E9t0J*?w+MHXstZ( zx;W}KZ=WUqZW6LZb$pa=+L|SjY>!SQ(D49JUR%hYIOHEQf{&yQ<)*-3fnX%huSKVNbX<;^om{2gBzR)htm~x0L-(I_ z^oIyq0?9~-y-}uu_s!@8Ok!e#abK(120L-m0d4clz9~bzR6dAHm53f))gVm-1p?p$Mq?t$90l z@MZKy4@NT)Zpfp8Xe}qNlS^$@FW@*;kOWs0q&|gRw9vaHSgflMa`le!IbZ@02DCq> zfNdq~auJ6$;rbF1Gb9JI+aJNoY$?~Qt%L2RXF#j1ZerR7xPcuBd=9XjY)?r&{$%P8 z$$r)?L`-^eGRvk|5iXTzB)Hs-Okzl$FbQSB7@Nx{RiUM0k zC?~7K1?RjQ)_o7n`%XQMEU261m~j1MY!eEjmCqjAVll?doVnlU46Mjs=~M|u@D<~K z?H<(Z%(VZ8!RuB8@-hXSxJ*&JJj&B2XxpjZiS<*9MP*K?t=p;Qx`k&%3)F;_CR+L{ z15iG&&HTE*9SEzINEVabv5G%j>a?JwZIR(=j%-(`sJ*e_rQyxQ7l7P?23%1RV12r0 z0MEMd-%<|Fnl>$l`cF$zXV4!PKq~@?tvoxf28Kn>3T^86MIa`9`Xbl^FdRe41la(i zdAk};E&}}av? zcS|MxCxyFW29kRw;(d;hke}gf?8ert;r?jqspu7LUQEmB>t$M^ebjkErdXcxzX?q)b!6B3u5CZuQbF~~8iQX-llnI7NIE^fd5 z__3-(x*rJ8V}o@|&tSaJQvT>q%b$L>gDD&$!Rpi0@r~<@>pbjjc#C8$xrWP6@GL13 zgdQVsrs1SIcN|kwX0lG@W#V0G97nSryRH+LmMd93PuEn+Svh7VIO!@@0Nmj7k-?;9 zj4xNx!m{4^@DzKHJSy;I+SWwn?e)He(~nQqMom`a3i$PZF49FR5_fRr6 z69*|%k`9B9=&8tS+7}+C;~H~TON{P{ZOf2Px?Q<&B7JX!5lj*LA#x(yMwqkS;LPwq ze@|*4^FRLn$NZG5k;_cvh?z8}lp`XcK7Zcj5CsTFt z^<)kQVUZpDM!}R;^#5@HkLV>yl)Kl{)9~{DM@ibwX`}!DuOzXTd^|jzmg(xgqJ6re zeKzg&xV>K7)4`?b7?6HLqHV`caUoV(HZ*~f{&JK6HW(&}vPppt@eupVIlgyByzr9y zJ}0{DNxj&bpySb~!nt%F=E0M*LtgHc#rh!o#)RC`W495gt|^CB>Dk*lce2wrihPOg zU1|_@M~+VG)Cy$Lh6&uf7J$k!aZ2ye&4@FsFz}J6YBy-`q5j1dXlv9zxyGnPl{{Hq z9j;dX1yu2*>G1xK4k%zQK0jJbOMt%;+K|-!V*@az)w9%0l*T`70RBlx^&C`B_x}n? z*c!&blSak8I?+Q>P(e-2m9>(jKSw$=;h?>{aOoFs;>q`|LCiWu{-jPFx!8;zZKk`?jAtqgiE!<>>BZz1V?~9+o&{F4r>un=Z>D8$5UMBQn&x1# z8JoHIf=|K@or!j!7~%AB@$KpdVhM)VxdU!9Z=YVNZ5mkDdSy*J(DmK1O$%XU6y3=j z&PU!}dy*zA?%v&9czIo%7ei1(klgle-N~yXP{0t+yIO-O=lUy|VmBx0nT|Ci0@#Yn zJona_qgdz8I|FLWCwmAKY{Cu-;gyk|fLCIZov+E`2xV)b0VkjKm}2ERTZZR(nC1rk ziL6mgtP-rQsa~IW+tGqWLUIg%yh7CI1f-$aj*khlEk=#RLwQ`AN#EgRb-U#40kH-p@z1oNMOsfT*; zAh-Gk47;#A0gr$s(vsIk0Tco|HA-OB=4lH7H?kyu2Zyh&?i_IHswlf2RBwJQxmTmh zx^c{JQ>SPGAiBZv&sj_t|AhsRJj}>Ot;dtFf zkj39c*e!fb5O+nDDY54m;cZ2D^MuL9jVLiC16bh5T4=f935_2Z$lef$^P%CpI~$+H zVi25mQ{-MN+6km2NVE@Fl7aLYolW>r;aaNlNX~zKY1UUi=}65QETz`5YHtjLaxT5> zeZespU|@~<#-&Kq2&f(2Z6Kqw~mou2(=<-yz;q2-$Jz(r~~zVz7qaIWbQ zjFGFwab4->Io~q$cn0l@(&@i+$wgck3D3YC0=UE){bi^c0+|gYY3!;g_OfRkJ$?D0P(N&Ka?=2is6*L# zhIff(_KDT&q?|EAod~ld^=Jd?%k2@(=QVLdQylEZ&|t-Vy?5H8R5AXRx23^6%qO;N zyc7C!>aJ6n^{j#U_Stjhjs}%dwbYyC=4fZq^LVaMv`1Le+1f$uoithzT!NLpc53EH zY7~eC6p|3J|DpN3Qppj1Ut)4pr@4(j`HWsek1e}eF}i%pXhza81`d+|vyZvB18~RU z4}IgW^Ox0I5M%VhFXb=R!Ol7}p)Luk5{jEIUe z3pTif_sg%7Ne)E^K*Yj%sAbd+7fDRQ9Ql~A5YFiXX;B&C2iis}mC-8XG%;q0;8hErDH59+%?ky~ z575i#IlD(fH*y6cAs;L{(HvvkJDSTw1Xf@dZ3JaS!utu~%!m*Prt{Fp&}T3A(f(?M zqtc^qZeTB@>{x(fo`r7K3r)BuGS{qZt!KMVpNWIhTGE(G?$1Ff>Tea=X#=qRgO8Yn=58q+3~lrdBnyPhxWNXzr_Qnw+Wb_LX1U> z%YX9B(#;gdpXbhG-=n)PV;s=_F~O!*`nD8OYSi9)ZZgmy~2Xu zl2LDJZqBM&pAXx@u&ESpZsC*A2UG{i*-9#BiE6H;VQ$j{31-;Z)%Bd;$E$n=#vA8` zcCkt(bLkxClTvvt*ETmm<>ms;FWh4T!yPC_ZktwspK7@sQa1|TIxRIr#W;-__yukl zP!zwSOtf0g{;*ZmK`BL9{Lm*h+%zp~D%AF|C?k1Lc-znfuF3gWK1fma4<%9ifh+Xf55d`V zk)<~5uz+*5{0)ik_Uvgrd?3Mha3DrT%158?#Q00`?HDY=OO6D9xBKMCX#q#1Ww~nk z8ELaw#_gG+!&%hFE`Obz0f%FbW^6o>d9v^sB>CGSLL=u)gmsgF3!3(X>ZJL$1A}Az zJQd9aiD{PIh<{V`rs4`*EUx3#(7H)~xf6jG495UxiCvOjn5$+@JWjABK3ZSU=DoK? zEoE4@g3k)(h+B$;665ncbU%3ZuZfD#_6BTX)$IT4+6h?MT9szv;88ssJx=fmKuDZi z4!-W@3A&5kqI*MdfBr%&p2G{JXoO*sv(J-67>>7Qh3xy48&D;oD&C7PQjeS*>(ThO zjG&Wl46XEuSQTkyo(2=_3+;5*faJr6ON!8tyyF0iaJNZA?zjrW z<{5q#^DfrU(V6-wcw~*H>61@+c2HU6um;M+Jl^U|0_~#f1E(fc`5YBJ#A4vdSn#1$ z`x`KQRv_WsFcIMT*u%ssS$KspFY96b64`!&(xqIj>uZA~_TgNlQbezx1JoT3e`0T0 zCkBR4-eC9!l1wj0-zleg2W#QryI*GqaDZS@^hO@P#PD{4`(_4frQExQbG&ae&g;=e zyPsbs&TD3-sK|E(;WYp}N`tQb!ZYH*!+*8+Lwgw+-kT zP#OU#RwXFe^&1K)jJ~CciHK?4md|?0U2v$LJKG8F~wh>fw+Dzvk+k~^%h8@a#V=mKGY-2qwP-$w|9Di%bUUolZyhC?gPz{u^u zbwXeMob~GmN+AZ|e^31%w%#$ymSAfZZSS^i+qP}nwrzLswr$&X@3w8*wr`(v@AvK- z`ZxDD*wcVYs3!gxW9g5Lf$#(?j3=FWDn z=5_1*d(!6Lre_ff@Qf$$BzX5+bH~T8B}#fVyc@ReLOs9^?q}YR@f)gnGFfU(iBV_T zsAXI|s*&XP%dMuRJZYmAZvZ|tZb#BDN2_ASeX9Wk<#gNy#ws|O0mE%{X_p!bQRUP0 zqe3&>AhPbCn%nugGiS}@u_Qmz6d?Qc4nPd`d*I^u?;9tPe99cC^0YnfvQ$ISB!1tC z@E$T%Rc}CN^2Rw5$Nw*-^>dA=5~=f`1F?(x&>Lc?6R}EJ^f-xc9!tm#j*m}lE4NzG z>W@E)hQr(}lG!onYif4J+d7_$+wDn|?XI^l-torPw5pb8<~FMiHwm+5wAyx}VT{4gebc%x zRvSG@ws+m6JvOgqR(o&0lRFlN;C^`yKgaLgem^fn2cJIoC+#YYtvy~_EP+qnv)mpZ z$Yw*Bd@f8AnQeQC1n0P@OfZm^^2;tSsCDLuPL_TN? zrcfEvE2=z%-1EE`mW>9is3O;lVSOnQ#KGmt%h=ijscH_)oP~p$uH{cLakS}VdsnI8 z9@hUOxvz-ht*(;*^_HX0!uWFIa_nJ4r2W6VS<$d-jICeAJ^Na2VY6b0x36bM!FYXR z@QKG**?Ja`SwWEgc=id0*eaq9OexL?J0E02(;A9f}S#UvljzQMT}3& zu&jkXR*qKxb>`}YWwLhGawpo#O<1?re-!uUY9Hi>%W{b+4J7=-3z%r|2q}Uvxwsb5>CHED`MB9Fb z@;M5+^jWgz{U|oV7sx+acfdsI2tgyR)a5M?DBh#{R)!9ukt*I(@@bgZPX5Oa=6xq% zCw)eBwVq+{QtTS1=`~yf^cQdh4|!LHB>i0?&TB?b4;JkZ10~Y+8Y7wKaOrFJ#Yc@m zXj(UX4rVPYZJtnCPX$PA%l#bz1ikL>HyM`uPQ#3k(SYrHq6wIJA)hUYr4Z5ApV?>r zO*iBIJT(xd&bA#66pL{uW$eU4RfQhYMpGNn@FEb zOBHv}wO291;x+z$#eMN2`|G7aQv5o5h{EMP{pF8U=A?9*BfP&hsz318$9;&5pJS{f zf7R543?jf!o~?kD5gZu(s~%rQUpKG}9Q`EjlV(AqKwl7^Wg*MgXh)f|V0^nI|3(3V zIRbO%3RwL($*!{fCks#W7~u z<}IW@mTjk=v{3YAfJ@ykL9!_I9o6hzG(^zvmy_#zG(q!s4`i#l9UC{ICkWq4+|Aor zh*ga2+y9%CinGH|j7()-^uk`Pl`ZLrJ#dHnZXCCK(9RH=xD)n!b3KTI)?3S7y#YrL zeL*}QO(=xvz3Fmv9OHSXdl3`a>Z@fC!Gt@k!ksn3twrcTiUa>Z`3c6x^=5aqR5JVO zOgfpf6FHsIMK+nUbwj!QVWE7{g65d0YvMUNtY)FTE*B={OxyYmtfl0!T=^`^ve*~0 z5?+t$iCvw#nS==@QLpALTenfvltAZwUX@@_@DWY5TkhN)gVM_Ec6e;D)=T$(blG7J z=z!#6dUfEwnNMe}x>JD8d8E*7cU!@-5@LZI<#}2pRqBNrJ#Kj721;d8POgqyh&<4kxIH>UYB5t@3 ztE&=rr^YABqQZ2VdsFQ5uDn^gYevkbic;o{lJ0WO`|#@Z^_eO~r+jsIH=Y@B38Y0u z5EK@IlK&rg^-LjvFD)*Cq^Q^^BQ7yzAUBGA#Y#Z(i;)!PgOeWPMH%i6WHaLuybsdj z5)5;4{}YUOKK^zn$(fS|GQqY)(nmL-! zj*$2TZ$og(QWkc1eJBR8CO&7sK8|Ovj+5bSi~gfYPCn7TRb*lZo(Fe)=m#Pm{{&9t{4()7o+DP*-^1V93sZs%8D z9%AZ1Zh9;5FscBU4v7a%UIAr|T+f%%0B+7-NvrfJ4)%iUcv8>Rb;w|}Ra@-voj(Mi zmDrApRXk#oZ~Sc_rkyYoXR{*%I(Y2&P2fTq>5Xik^a1E858{U&ocej^N4uxGoteLQ zoaUoCC1Hyx53=%#g5#VaQfuXnL2WZMJ5w*gWVQg3vHk&pG<9&*AV(9vl#fdP8t&p%OUj6|Paw#Q zwR-kq$ zJ`r-Sm+BNi4XQ2cdWMyDW?$i zCQ&SQ>=;H*t_nmUzkaR1c!m%h`rk>c_YK(bXdbOo*fL#cZWUlN zbr36Zz+Ed|An6wj_nphh)Z$=CbJpP&e;2*e4Q-D4$f zCyXvK?hO^FeFf+F_`Rw)6u=Lw2|-1f3LN@;p6n8oQ>4%>kP8%K4$$wKaUh>i>^lf% z?6}TcDY=|A!9PgHdI3?`UA(!-3lJq2;5a2w^*)cDdWZ4OS>0I_aJro(rBYkIkoovh z{Sld$?2v5{lW{S(iO``*btZ%(55$mvIBVMDAi0tCjLER6Q8njPDW!scYAPlIqlmGZVMNgDz)sjzgPyU;xVbTs7g&()pR|JxM~>Zw${FFE`OhR8n1fUcriHdTP5e zatb~^7oVC$t_*d+zp9^h?zyCy3VxabH`N_k3wM<32$Qae4lm$OzSKH_^JqYIaAXatc9 zY0Jd^AhN7wYqge3p8GsGkn=fqG)?iMtwTt%sM{L$W{gP+;m8{0H*>|rG5Sy0wYbOgcJT!}^$cl1|s`MafD^chPJyh>-Z zG=yj;?#5ktf60}4U&WT;xJI*9S)0ns*{G*kP4qa1C>Ok)T|)rKTk`TIFUB6iXH(UVZD=WXOoZ0hSU+<3`k#a}mXhm(l(8s%>=F z#Xivf7i5V=z+7^yA6$t+W)um%7Q&2BB_w8fRUoD^TH}pfc<>Tc}GBVK4`X8 z(@Q4&2LO0GYeI~8iyO(;Oq2ah<6yD>Tzwy=)h?Hs#32l&gy(qcSB{LXmj+=taNkN;tuGG(Am_s7Ijqa_S#KeAHpxtP%j zi#sPeG5DS)`k3d*Jm;6Ou7w5KG{F7BF<$1iFwzhBce5rqndu=3_sf>w|H3ly7Tr4W zmK`GY|9pghV}y+SaiSfbu{yyRqWQMo=)ij{0X=JkG6~c{%S`MY}i)o`<-cV3HTlS+Jb;(9mnm8Got)~%Hd6s%aP_N#gUZdC{>z1OLDSw zl3hW6jcD4XV3;1dlI{g_Ta^AJiwmfDi``lWFi^Y^6be`bTZntK@v;qoT3FT82V<9! zh=3$CHJx#4Dk@2EH!}>Nr77={iylR?kuxju>o}9O)3M&FngjPJ*L)8f#RLrsM`CuR zpTx=4${ha{Awt`W+TfMh>l!Y3v<>D@*D(;LPuTb z8rovUpCj+ib+PDwjz)te2kl`)cI*WPnjh7THuEO zrK~9Ma8lVUyjxl_N1q=9psF_&qM$~%4i;QPo)KtqRN5rrtWj8EIJhxS7Hq*lbYhs# zEr(XS2AZo|i7gb2baeI(p$=)+G%n+Z; zpDZ#bQ=-7Mp%v*&lb)kBRcazqfD@F3M+lQ@e{6jPqWiKb-C8kih<3ozpdJb78T+mo zB4>a3K_|M>rz}#PuOcg%i)_SawSsP0dNH7R}nq;Ced`#YB;J3<+mPag~_;M7>@Sr zfR?vh{~l`X`q!Gncj>(U46DunG6!>yJwczX19+&K*_uXeI9#NW+BKCLToL`;oPOv@ zG>)01#T${D%3GA~1V8-CRSDZ9YbPmW!xWZ+#Z@_pgxl>6kMvUO#>b1&6pWkcA|>>Z zg$KAT-iC8EmPTtd7F_C)$eaS2C-ge^6P;_-6DH~`Ew!&P&owSP$eLQNN#x(FZ{+>&$kiVyiqfD4kEudU%)L)JWC(GZot zTYU47!SzAzH(e5{N;;19c@~oBhXCzofX*(N5QDaSDJ|7@b3|M-#C&Jo$RsGzb*8xT zu=z_~%<1}X#Am?O*LLuN0M=Fl$hK*FG#{zq^j!dEf|)Bi^`RlOt~ZEPk^-}kRDrlc zBf|_PFT&vLbr~n<4xUZu54Us4%DB6v=dSbJQG{bEYfdE-r@N^L2NAYGQ!lM&%aBdE zZ`DgY*KjTlHudRe*Y6xVI+H3b9CcXpub|TN{vX1ZxU~fX1dVNH%IFTTdph0iyH6Fq zHe=*w)0MoQ#-T!PK@NstN6tRe;UGWw5}6{wQ{vL8b4nqDm+OE7^R^YPTMow+cp+M{ z^oggVLv8_9D=yB+GY;4}t}Hzxem^6LkfE4n8b=k`5Ov!>1ZLHEm>vGC`x9l$vFAr^Di`_ z#KnM)Nn~Na-h>L%tQfsPVo^1+8V-9<`>wI+f+Eu8MWzaNZ7R4i-KRzPI&ksKpThIf z`s@2Mw!;AsJ*JvAt)Q_Ym-EIj*l9puRJ2n)i}12VExA>lWNk@{>G`-#3u%rJHn}C3 z;V?8ZLBPRdx|?`8$d09pgbEl6@4^)8<2!hhb6K`#== zY)G^(T7;@Y*eMRJj{`F?K(kt#;8)m0`#y~2Vm}f-+^7(Y>kxJw-0tm-2Bs5}mc*7z zD;awkU;<0GNajDmP1$V=WR}yH&gWu(tPk?HofSLKDXkR?{3M=yY8w|P&S4K%&pkH&`6mwUV`2S|4Lo548^1R5mHfLPmwEY2TRmlk-=I@;8? z0!STz$Jt~<3SNBuP8gAAd0w`qzMd(W`RJlWEF4k?cv#+7D$B63pfz|YaM|eX@UK#l zCZk#2hKT(0DT?|)f%z$Ki6u_gyC`^wXcG_z?QD7Cy&&EV0?;T#Nta5cemF5V|dZos^!QX!~z^F|FuhQY(!(MbGDT$_Syk> z>zl54(!lk-9C(CdQRXKZxCqB7DqggDYpK*H5rN`!M}M`J*Wx4G1rT4?hZo(-iv+k=4i zS%3uQK?tXH&LamUQz&enbDHPxA$@%&;Ci8KzO2BoGl4vB13eARP8g{$~E zPWmjD4mzBt0ssBAv)SX!qnV4@Wt?Z{O0xqVMeD-U-PkrZSJC3O7Uz{NLd6SWc83?_ zRsMn*TrOv)-}+^~k|`OVUZIR{&)5vx+Z!pLUga;YX8kYB`-Q_$iMcZ^V>4zOhbJ39 zdp@7uMv9^%C6U8`^4QEOkGjZrI!eNDS-76D<@p~aA>V^n@`Z~0H#A=lx8=D;^SmR) z-WhFQ;kE}vA4Xstlz*Ls395xi?5~r%Jp2czP7hFWchNGd-tHQo3nKa$MP4XCHn?Mf zm-PRXhS+h)C@4^B@i_{MtoHMkO4jG7Ef+QFGaMOq>(ENFBu9RglB01o(UoM>ciU88 zaBcnqrKwf>Ov_uGLvfs#)aK)yel|a7Ngd6 zWhT~&-|w{f?e*{eZ?x{}UQ=r-ljh#=id4}nph~{{fAt7RH*Hbg-GU}-<(`+yJgybE zTq?0wR!UE+)vPM9HqF1S!IV7tk}pjVDxQMLIr7D1%4fgu&uMQ=k-c3efhtUTx>e%OU~=J)4!{(qke-rJH2iw^PtKs z8U3Dp$S(c{Z~IRlm9;gxU0AFPBG}-&r18Mq-_r`P(oZwAgxKMj2p_E^?pPcu9s&_4pg9_vNJ&$r4ql^PV;i6MkM`D ztPHyBa4Z*65S~fqb{yVl{}>)<=9~94`C_P8b&RIXV^OTj`44#-xGR3Tc8pX zgL1A$2}~7pbaL2{E0-!65v`2V!hUnZinOKPCUj=QyFh& z@>Z-uVpFBvIK8t*q!vzM8AZB|QXs4Dm%iKrfmL3rNeIKqWfpbeuH;uY;|DpFLZq#sbGq~mgQ^Bft1F{%9J{Y{Do z-Xk|(5!IB#g4MG{oVtc682<)skrP;d#v&0rF$m02IW+m@HqQ)m`+2QaiWJG2xSi$-AFPw;{i1ddfkdr}{s_(ULa}s!&T^Pt0$j!zs z;mOdi!i|jlJWoaPeU04R<@#BFL!$jIeYW62;Gk5u&opyZVyymsD^33Rk1d$=8XmH0 zaaL`+vYMR`Qav0Rcekh4{JYv{FOFaTZlJGNFtmPE+Oj75hibB7?l1jz&#!m>;uW>h zMO(i=J5N$zH$S9kcLK>R2z~G9`D{*ruD%#+ca&lv>(YD5v^t2P6E!RRZ*Fh5U~6c^ zpDbPO&a%;4hxAY(mRC!<<2_G@3ndHlnf`Woe9@39f5r@@*?k#g!gxye9X{5Z$;1Ng z`kNW21gHA)Z;1$&vE~Mb#0aP^$b0%1n+1y}x&<36=MA4Q=se8;Dam}1O6vo6>)B(J z8AZzZ-WX)mOe)Pa{-`ny8?#vwTMyOWv^AP6A$PVVw1+pLgDTNsA>fGGxpcZ!O#2C z&vee`_uT>Bw5i_r+e++@73|ML<*$nQzV{lh*Z2PL_fU_=)5wdR-e)@R+YX+3`c9hP z*UbUmXe6JQ>;2)_jUUJKf?I8SoehkkDgKgty{~n5d%&5HGsNr z7(=~stO36rq&SwrM+Vl4v)P%HWQm8|ZzS;n@U2OLD<4I}|T2DEZ4ZF%i@XkJ{9Lx!?(??7#V z!DGr>GPW(I_Q2Xa`WHNAR3n2oy(g3+KgufwD0qP}y1{y1ZEJhU+allAMYbS&2a#dm%FtgQ`6*^N&)}o2 z8loD(GuJ%^Kj~r)c+zaATDnE87QsU!W%qs*J(nbf%xCt8D&;VB7cpIWF@0k3i}l)$`9ri~^S zAR)wyh$2PShMuN4j*qR}m^|*B?V`t^vnMo_#bqN9dYT2^b37Ch6t@)nLgK9616Y6I zZoH+Auh2dKt=vjeR|zj|E^mxBdr!8j({B#6n1Mr=_WImb9S688!i6U1liV}5>9z93 zfMy%94tfM4Z^Y2CexFsWf=~p4Wck!e{^w#?75Xz5{%iHLtV|*QbNqe72WDJWXK28S zgoXG4lp~r{%v_GRGbJq}mcdCco14D^(woVRT$sVn5iZL1eQ81Nq>y_y-lIX{kMNkW z5kY$h(hcg+{vBCrRz2TyTyhSzMrSx@DqRog2x0Od<+_qaC@+Y|dO5}l_lRxv; zj$0jI>(du+PUk*9wZRADn{`i1X?I9ZDr-thpz&C4+g<Y@qEH;}lM zHIIKR9mET;75k==Et#3O8VE`xk#PXXV!LkNuyMz78SCdio~iY$83!+0XqgvKuxx~7 zG{XWsm;~oJy(6UIo5@voU8AWn1ge*ZMHGfj)#_kymlC(S<)KAmykdT3w}oAM2FmU3 zCK5?d!EPhJd66lv6m5R`w}ZvjBZBw06w>oC>@PpzTX{?%A}Xcp;hZq%h z)i;T$G)#=hm}0fz%)Oi+u^Xo-5RLwF)-ab`CZF7%MB>8W^2&)kdQWeIT;{Wv|5&_L zCPDAU)p1xzrWH&~=@Z60ak5W1{U9Ph_H=P)Zo=@(G6!iR@V_uFm|#60u>YI*C0fxy%dHf63<*bW(nSE zQBtt|EtDF(TRpa39BU^3TJ@HiNDxZiw2g!I+5pcjm1x_dqnWlDxVfJH7>*UA z&F)=`s`ZDGMqz9>w4|Z~uRh5{c7EBkU;3xvkYq#j9cz_OHMxx*xDFc~g3!Y9!d$@> zu2Okd@p_Kld9r>t#Z6=BAgSzqB6TlSg`PSl5{AM}ZEc zdnlrd2=wQ9YvT4)E7pp)w+OGwQrfAjflN1-#;pPjd&xZc4s^PyX*~W{az6{O;6iqO zo8#fbV$l&ua};}QiU~e?<1Xa2ULLi^P1Sv;!kl!N;LW+ z{{JJJ;fILt_JMo0LKNsQeq77Y*EyIBUYYfXz7S8>@T&8pb}#?LA~C)j|6L;sh9=E) z{$zbV!(>pPoW;N@kZ&Lzi{?`lk`nKWwtlY7$sa-NwuTHyR`HR)bu|<6(?3=)55j^N z8oix#TPWzE_PaUiK*?dcbO{~r7W;j72^!-FOLJI7ytdEl9d2ODF9i->_Zcc9u=?_o zNic_i{D3dfV!ZJO>~q*nBKO(LWd86a(qea>0GB}{RpE0isCIjl#$xO0xwRTad5FH1 z{vfji1d){&wVR~i^78`i`yD=xdHJ5pCF}>5u5#Oi0RUWXjw$z4s{Z zDBj_3fyoeBM0CCW@cpvcuDRp~F~8t3dXAm7_}n?Mgyq2pvo$5doKlA5yzOCd`Z-E@ zQIcB>ofRDfrAD7oD|Whdl8r_Q7)+-xRB9gt036a*6}r!pS3$0_#;Q31E1({>l58+s zdkT4p6(9AF2evYOYfmOqWw*Eol8S1~|5H2D7|d`Xg*~xIweB1^XW%6Nb|jP9<-Vo* zt8VyrwUd6;AsSXRL@I78o=jQoNPOI;`-I5ghT8G~33s=KMW;~WHMu8`hTy}?M*bx) z*qck%k88(wgh8bef)$yuaPh^C58fEoceEg|TNkxgw*v8f9>eu%`B;cRMUb8R$qr8PQ-~{D;2UgYAgjqou>O^eKVF1rGS66+p+t$& z!Cot!sq&Q9BOBfA2Y-9>V|KHVdC*qv{ng3~8d1J@xxF8kaInJJ>_R6qj%a5rC88*M zC8KB}&1MQ_3O9>(O2Cpi?zZ!fgP#wO*)udLEA1<`+JMd8{+4rQr=NC8Sg@7`)2gGN z4_}k{l!Ye3zQvI=q>lExkHg@I=8@i}nI*6ejycGoUF0BYJKc~zP)R;!_zEbt*)bz8 z5#polMa7s*r8+MqcSD)PqBdp@$FqzNIN;TJ-f9_VtsReS8GVcwC46 zB5mM`W|n7MAyb_bho}YayaKXbYUvtjZCf`cHkSURjQ57XD(i#q^9cegVB-{_C|Vja zO8sd)gHXWiz(50ZX(_ruQ0Rk=8$&K-Gi!ASm+M7`A-IanLpfqgk(vlSEfQsu+>~2udI1|kBOuu1-i{Wbs_2u zu*2<7#p`i}J13>RGqL|RU@weY694?0jt=FLohV0Aiq~;_FB%d3FtirS;D{~iiJ=Bd zXrM7rO=$DHs&b+cx~q=_X&6a=LyDmiXK^kgP(MALNm4tpO4-tlkUP0lS7^?oa;1$7 zG%+npEigQvhI5|X8?Bs8#s8{=QDHAWuJxb|=FzMT52Pc8n(2#mX&IMrs&pwHY#Hfgav=NNV-9pqJ9An)PwrVh1 zpKQCoVjl&em~2IfSb9_K<1q@nGAUF=p3F_rPm|7!agelHmP4#rRe`Lvrk&O}#fpih z{9O8$bAJv!!A3Iob#nYQr-M-$X!Q=-N`8!N82JH9M9Hqv@2fr7)`AHjx&MrZV^Qz) zumeIIh1mor9PU4d!Ow0omdybk2!6XA9fr;G>cSGaqsD%#8Z57lWUgaA_nC#Pg5P4C zuBfDXd1>wl3*d#&+$jO&OU4Vh2Cg6(F&xVMKjjhWwE!#Y1~ZBIxU_(MP$vsdEe8#Qg* zwxiYsMAv+rtjtBcw%Nm_+Ke^s1OA)oMH7jJ z)kisb<*lc%yQ}5}eJ{ryS8?hJHB=@-l@$Aqlf>4cUa}gxnN$w+0R-BL$w)i`M~cUm zfQbzej&y;Jm#gq}8+x~^HsKbidLh=l=7!mXOn1a#YS=wsXkNvs*>FV@qZ9=Z)pCw6 zmeuD4N|efMoSR9!qpnf}1Sg^-j+)|>QS8kTI) zY&>j@q_$0Ul4&Oiz?7Oj_l0t9{MXhE50p#DX@XRBe)csZOk*(+ISXN=efi5~vDm1W+4iHR&EJzAnOc zV-`4YxiVcAmlV5pamwrOHY@i*YBp;&7k7)Y%~+nUIp*Y8G03ct+>9vW!K1O2cXgkY zzjej_n&%S9vYknIy5tU?GsgLcBhz69`NSf;WU=JQkEh-s`9%oi3a6tHHq)A4-+7vVM|K? zYDpnmkK#7QdBUC>E>k{VTo87>~VzXD?}m~zl&$Ha7{<0EUAVlAa=r` zp&+4*epsm{Vd@Y5-KLzN7b5sXna&md?+kg^wjLxe+L>xEP+PhWBc+pj80%__dW^F8e6iX{ezB zAf&f*lq>(fT2a>2YpF)T`C*w{3PlA!*@K=<5K?m$ntt@f$)yNq9LV2v-;UbNq&PEy z1XX+)&W$=%6mxj%z@cB?GT(J`qNvSid=x%i8{&J%#mxnRjwtxNA_o-eh|7Ehs;48L zs{kFK+eV}kY7vTi(S!a}t;-RMDKT?O_14l2(kqItC0Y5M+03nqeaV}plv3*Kr4yews2W9T%utOXiB(5hz^vP*Y**^oDa?OwT(k_D z!%4|Y&Z{*SCU5`Wv>KoI#6SFhy0}g2ZDq}ml5)FF{lk+xVP|=;8AH&WFQsM9xQA^s zhD$T*K6+v?-IJK`Z$((uc*uc|N8D z`conxORDGhYeCyS{v9XwseKm5^N@dTv>_d3*{aw}*IT7=J%H0S7Mz$w&a}#WG+_B| z4LYmOPV{_>TQg4?+kAbV-%|B-?AWF`Z(Irb#)=VMHjgVikM zd@^_&;77QVUr3M)uweogPsfb$FiLhdz-^kGG_2aLTP!%;N2cuKR4?x&AVFFBM!zwb zr9muca*RquCh@`b9P7Ac$5`)$+d_HHE@1Sq!u6hLpu6h?>bd&Sp}`0ro~69r1&_wOgKA^v4y?edeL~hxj_2JN^3))jA_=`I#zawwsa{ zf68>JGakQbTf_1Z)~ zuvLTNmb|Y~YSFZN#o$4s2=%g}D*^(0?i`SNwKTa?{IOh7c^PqVnFjJmH<<~0-}m@A zIRvA@o|J&n8`28{;==4==sgd4kwK3TLjRcf`ELDjGW@M{^TYj*I@#}M<8SmIOnLjQ z*yRuPcMB-c&X$hw}{}=gN%Gxi8ZlkLboUU!qWrK7Ky2UEH1}y-=*>v&zUZeQ| z1j_Prv;J|Cy(NZlF`Sb?-+S6m)uMl7V+XA?9`O6L8_!6QuiE64pYfmBE)O_eV1Lp% zfbOWOf{d8=!@}67$aOgild^O7BHPM#x<3Qxu6PA3FiLOo6Ya6WwMNb_J`!rWMQ!=HoKn1q+9m2{u;>1`IU<~37d zgE*P&<&^*w3bp;MX?A!&>O7*@LCND@3B+vV9@M zpGx#kPwg$4}UTtoQ>F zb#~vA#p9~ZPgm({RqsbsuZG=CT)W&r3Cm7Sx(g3kKx|W2i5#&zQ49CE%``0FE1^vIGYS zf5)G-EVHP=FeA8De8dx>&$n;d!Q6TVcXj-T+xUfZT~b=>Pg0O9kA~(6LW$ojV)$o3 zzDPVUgx7ra1zlXFLt}cc{rs~q+x*g^CE(lwMEPY|!E77{w zR%JL&wpN_A?67CZzpZhSc-tKLmz@E03RY~-eH{o_1$sgN)PWYSM3g#>Vvlfu+R_gczpT4L~0~_Bxi;rl?DE!UhzT?TcZg zdNqN96j264?b^l-Fuh-A=#Sedj}qxv2UC*GRY>3(<*vlg)y$2$9>8OxprqE_jO_~R zw>6sT@<(?*P(%-%^?d=2*vP#Raw@`l_U93~mXgZZ!jH=%TNf?=-8~+Uh(JoiX!<+= zrre|J9vHZOLrb~8g5zJvRR#`Do{G01Kmy(0a*z!4jM0Dhd-&YiibUG!8CS5U$(YnTVOWggQz{cfS zI?|A$_=^q*&G2x8M!9eW$OaiA~pZgdle{S;&z>ho^!$099xhd$`sb*tq1Ppp06K-+*=PUsHEzr_i- zVnfZa3Jx%^ou8)8#18227R?nOtGX|)-o886=L37Z24xyN>_fdg|AgcF_ zX=We<6H&R@ex|AqX~AK~&m34`l^JEEmSCs9PyJBP!8#9&7UB2<7GPLJ=p@HpzJZs- zV$j#YQV!C-Ny%?B6JYO8f{b5C+RQ2$gH*PNH2 zb6LI*O`(ul8=q%@3)V||2@zc8oDy3UeO402mHgu|&zsW}OLjHzz-@siw?2~i%<%j_ zXwL8V&`!iN0v%Vp{Qb};fNlQB3cF|;{Pz9cqM%)KTAFy845ZdEi+Pw6Yi+qMTYCZM z5(@jIUp&-J+|u$z1n$_21z{$`tsN!Wmk759rWTlwH0c~;HcqRjfbE%~Z!V_3kK`btalU|O_KZq+1|KdN%$ z1VZvr=jwO)|H&k(%D0)EOTUb9hBtpBQShf$gB}?U<4BB{rf2Bc;U}DXX_~|7@;|I1 zKKxHAkx}@MFqxyw3m`}oMA3u0MHR>6ZC$Et>tF{}6}Klbo{oFZyA?~{Y;Dl`Wc{Za z-I|b*os+(4vDA-DA>f&{fKhBRIpN}sb;m4UNOG@xwa;B)7tO3q{g@^jJZ90|#aW2GS%C zVs5J`Z}LiR&qb*HsL}o#!up6ef10oXV^Jg69IchFVP$Okc@}!kwo5iF;B07Tj0i|0 zCe9&AEVf%{j^6K9@NPB?(6Yey?}&9TG(o{>UmQj>g06Gp54|0CIrkViV#I>5w_V>d zvtN<7D3<+z94iUB^XPFp2qtJLg>~%z#3C=$<=ETJ9|Hwimk}4t?Z)vw5KY=EAgny5 zWAEwHuqxEJDnIphNA(^|q4S5@ea`e>8tOmKVjj#>0Gf+yBi%fj%xozNY}3Zl#aqS0 zV^lRPYKI!ACFXG8NoN`&$a|X(9$-9KA}+UBMo2yXBDzVh5fn^xn{=rsZX^AyVvVvI z7l$S(x6j~ruWJLC?zSHbn$vaBz3H!QzU~F19OUa|*6Pe0+Wc#(?JE5-s%zuGb{1hJ z)iFS*P>qe_^d;733SL5E7+raKgiPhYqG-`cRlnCMRA55{bN6Q!SmYb2-rl#4F1Deb zqWH+J`OM949IrxCU#HD3D?3>G$?7}A1lt;^_9L5$93s?Qa41H9&TADdOc`4FC?jI< z%*#p-_r8zi0iKGo+gZn6id1HpokXjNop{c$8mT^c3N-&83ucyU)?BwmjwTSDCSYwV z6;j0P6BEh{mZ&ngn{a?-mM_%ag=%L|)98BCrw@N*aOUz-bq4cz&%V(_TBlT4 z<2kbb9nd=*T0g5Ixc8twvFo)M^2QFsQQ$@ed=)%zOEN={S=XjZmAMOB_Se6#wADox zA)Yo_Yfp!cwJ9cw6mCN~e)s{bpO8b(6R=B9tEAZ*)Vy(kUM=cHqOI_F`-i=YaVCOH+CNINTBR1 zX1(-z=pP{2bLP}HlABSZp@Uwh8MsmrG6TI73+-uI|5pG(48HR&McN4!S*w0iQ9R{<5W{mlM2`!tIV zLRBZR@*S8)mLQ2(5h8h#_ZUM$bZ0Nt4ZOALj?JwJU=Fc?I-$>~Kh8aamEfudZ)kbQ+#L|@WcTSfvXR}-0k4%+ zz1smB)hgyzhwl#|v5v_i5=sj4nwFagYpv-T5b1DC4hGd4P50;eB+uR~ z?Ar5em7rgnfU(MP96yQi+;G<1xCmQ3gz$ou2TZn5r-qv@Oki{-!~MSMRwDzFg{;U9 z3a-?Pjs1csU6YO&Rh(BQB~lz#tE zhJJ*0#kR3v?Al5?pb|$Hllh=Bu|2yBe#<&i2!y?~VnqkXdi)}EyDQBEYflia#;u}h zHi|_PKsO;pJVnGaj2e-3QLJztb(H7YoQ)fB()E%=tt3frkB7pxSLFSA*E)blSkc)w zAA8((35MetL&NWU2rIw6B^%{@!AWb9P0}Y@@C)agdEpv9Osuhwss`-H@x%MW>4GCx)H_cZ;<0iD3medV6zqtS9y}%--TW!q|Cp z5F24jb6Hl{s7>=~it;hVXv<%eNG&=WD_#_KlyEKOTMKVZE4!^m*}95$x@xu!xPVbp4l>FHFFf5d$$miq{rIH?psn;q=cj&rj0%i`Gj+;X!W9KCL4fm#Jk}t2@OZqHKaJCY% zjRhMvPghHPj{z4HeIRJ`l|`<}R`CD7W#sZAX=n~14$oUIR^%vUy z!W>=Z>d%hg3?Y#%W1INwb-velG@;gye zl9M7XEQy8Aaa#7~Z}b>PNTUgf+lZ>vPR@2g-cUV!JN&ahtw)zEJMok+cg2T>UmTVb zZHurcmQMb2`|So&pkfvqp^ZqUSjPBWz@Y$3hPvK^RD0!sz{Gie##H*wC2TWEy1#7~ zp7bpXn?(Npk7x7w{8>wRCcYq>)4LbXK&d6?5N+c;p%-r%q%6-HdNI4 zmh}H@^-k;^DX)QCL@-*9VyE{m$^dTLPBUiPnf3P@u%c(y zE?ns9<@HV2$pkZtlh#7ej?AB7Ef-6GFyc)hJ7FR(B^Q;=YT!nz)Z4{|R~pdKn9q4u zNl#DbaNL<|yT%F}ymKkYIo+`0oND&*r_;=uo|`F3pV0PsKK#Ik4Qfy1_S4U1gnc&~@2FSYRMtY5yqU}9CRflvTok|67n1*`6ZVm92Zp|L$e z{m4=lJR6U=oxOwiAnFPSS5j5+%v}C8x!9JK*O#&=!)Tf%*`J z6~5t*7HBtD^MX}8^H1SmsAsJYTpah(Tj&;kQimrmmE=d-o z6capjnw+~gduv|rRms;dgC#QX2Geik)yCfgNL!A@gFMa?#M;fd_w{IShXOxevz&8JjU zJgZ?56csC0*M1Hgd{&eTUDeYa3GKb399R+L*MqHRpgny(U%^mYoVa7kj^E+#;;CBE z)gR-g;WZ;`zFHe4Ao`-?@;$HC7RJFcd`+v_47?X~MRt%-){={(jRKLsmem;jvu2rM z)fHQgUn1A;RfwQkFdM|%tv-eAx$w=PWhhfDH}V`UItO$6+FWs6sU1St*;YpqB3#90 z2=4#c=;T>d*k4@}xy){vn!DzIKDNM^{uZ0U1^ZpzV_PKV(YDq6za_KKI_kL;Iw2+? z^!e04_dqCIT|$8^m*(oeW5uq9QbyyS4MJPc?Dn3jT$4<0N?P#+FL)JpyYSfggR+Gc zHC#0rp(`q~7MdP7(_k*Cz_)@eqUME$T@|^qXaQ15#*|r|#g5!7DOM3KdGwej?bN6; zxy-cDVlq}%`c&RAb;sHL>Ah69T&(7X{5ftteF_$w)8D~=9s@&lY5@qn)g|)>cJ%T? zVXYK&MJiSl+JTKb+i@jbQ%2#`M%NVn^AYzp8o>Nazifpq(y}Z-Af*MS73hirx)e4* zE^vpy39_Vx_Mfyp(UsX`XnPlo<=U?1a$6BD$c75O4BZkKkW|o& z;Rf`X_7Bku!dU3@0I=%3){~NzP@l-3LJDjIl8GVjC)yjCPl`(vNm9;VeS$qmS$%~39mP4=s7Ia7&A zLzq7#Lg3>&+dq4He!C9@Daz00`PuUqpMUZE`Df($gHz&pwniiU?D@fc^#}J)^8C)mk)2;% zkk_o(kn=TF)w5^z*Fa>A#&hnJV00960`q0@f H03HPZ9|{Re literal 0 HcmV?d00001 diff --git a/charts/fleet-crd/105.0.0+up0.11.0/Chart.yaml b/charts/fleet-crd/105.0.0+up0.11.0/Chart.yaml new file mode 100644 index 0000000000..952a6124c4 --- /dev/null +++ b/charts/fleet-crd/105.0.0+up0.11.0/Chart.yaml @@ -0,0 +1,13 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: fleet-crd +apiVersion: v2 +appVersion: 0.11.0 +description: Fleet CustomResourceDefinitions +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-crd +version: 105.0.0+up0.11.0 diff --git a/charts/fleet-crd/105.0.0+up0.11.0/README.md b/charts/fleet-crd/105.0.0+up0.11.0/README.md new file mode 100644 index 0000000000..172aae46c7 --- /dev/null +++ b/charts/fleet-crd/105.0.0+up0.11.0/README.md @@ -0,0 +1,5 @@ +# Fleet CRD Helm Chart + +Fleet CustomResourceDefinitions Helm chart is a requirement for the Fleet Helm Chart. + +The Fleet documentation is centralized in the [doc website](https://fleet.rancher.io/). diff --git a/charts/fleet-crd/105.0.0+up0.11.0/templates/crds.yaml b/charts/fleet-crd/105.0.0+up0.11.0/templates/crds.yaml new file mode 100644 index 0000000000..1ad01686a0 --- /dev/null +++ b/charts/fleet-crd/105.0.0+up0.11.0/templates/crds.yaml @@ -0,0 +1,7104 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: bundledeployments.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: BundleDeployment + listKind: BundleDeploymentList + plural: bundledeployments + singular: bundledeployment + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.deployed + name: Deployed + type: string + - jsonPath: .status.display.monitored + name: Monitored + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: 'BundleDeployment is used internally by Fleet and should not + be used directly. + + When a Bundle is deployed to a cluster an instance of a Bundle is called + a + + BundleDeployment. A BundleDeployment represents the state of that Bundle + on + + a specific cluster with its cluster-specific customizations. The Fleet + agent + + is only aware of BundleDeployment resources that are created for the cluster + + the agent is managing.' + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will be + used if true. This will try to recreate all resources in the + release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + dependsOn: + description: DependsOn refers to the bundles which must be ready + before this bundle can be deployed. + items: + properties: + name: + description: Name of the bundle. + nullable: true + type: string + selector: + description: Selector matching bundle's labels. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + type: object + nullable: true + type: array + deploymentID: + description: DeploymentID is the ID of the currently applied deployment. + nullable: true + type: string + ociContents: + description: OCIContents is true when this deployment's contents + is stored in an oci registry + type: boolean + options: + description: Options are the deployment options, that are currently + applied. + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: 'DefaultNamespace is the namespace to use for resources + that do not + + specify a namespace. This field is not used to enforce or + lock down + + the deployment to a specific namespace.' + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + deleteNamespace: + description: DeleteNamespace can be used to delete the deployed + namespace when removing the bundle + type: boolean + diff: + description: Diff can be used to ignore the modified state of + objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the + resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + format: int64 + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: 'Chart can refer to any go-getter URL or OCI + registry based helm + + chart URL. The chart will be downloaded.' + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disableDependencyUpdate: + description: DisableDependencyUpdate allows skipping chart + dependencies update + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: 'ReleaseName sets a custom release name to + deploy the chart as. If + + not specified a release name will be generated by combining + the + + invoking GitRepo.name + GitRepo.path.' + maxLength: 53 + nullable: true + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + repo: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: 'Values passed to Helm. It is possible to specify + the keys and values + + as go template strings.' + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: 'WaitForJobs if set and timeoutSeconds provided, + will wait until all + + Jobs have been completed before marking the GitRepo as + ready. It + + will wait for as long as timeoutSeconds' + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + type: string + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: 'Kustomize options for the deployment, like the + dir containing the + + kustomization.yaml file.' + nullable: true + properties: + dir: + description: 'Dir points to a custom folder for kustomize + resources. This folder must contain + + a kustomization.yaml file.' + nullable: true + type: string + type: object + namespace: + description: 'TargetNamespace if present will assign all resource + to this + + namespace and if any cluster scoped resource exists the deployment + + will fail.' + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this + deployment. + nullable: true + type: string + yaml: + description: 'YAML options, if using raw YAML these are names + that map to + + overlays/{name} files that will be used to replace or patch + a resource.' + nullable: true + properties: + overlays: + description: 'Overlays is a list of names that maps to folders + in "overlays/". + + If you wish to customize the file ./subdir/resource.yaml + then a file + + ./overlays/myoverlay/subdir/resource.yaml will replace + the base + + file. + + A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file.' + items: + type: string + nullable: true + type: array + type: object + type: object + paused: + description: 'Paused if set to true, will stop any BundleDeployments + from being + + updated. If true, BundleDeployments will be marked as out of sync + + when changes are detected.' + type: boolean + stagedDeploymentID: + description: StagedDeploymentID is the ID of the staged deployment. + nullable: true + type: string + stagedOptions: + description: 'StagedOptions are the deployment options, that are + staged for + + the next deployment.' + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: 'DefaultNamespace is the namespace to use for resources + that do not + + specify a namespace. This field is not used to enforce or + lock down + + the deployment to a specific namespace.' + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + deleteNamespace: + description: DeleteNamespace can be used to delete the deployed + namespace when removing the bundle + type: boolean + diff: + description: Diff can be used to ignore the modified state of + objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the + resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + format: int64 + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: 'Chart can refer to any go-getter URL or OCI + registry based helm + + chart URL. The chart will be downloaded.' + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disableDependencyUpdate: + description: DisableDependencyUpdate allows skipping chart + dependencies update + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: 'ReleaseName sets a custom release name to + deploy the chart as. If + + not specified a release name will be generated by combining + the + + invoking GitRepo.name + GitRepo.path.' + maxLength: 53 + nullable: true + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + repo: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: 'Values passed to Helm. It is possible to specify + the keys and values + + as go template strings.' + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: 'WaitForJobs if set and timeoutSeconds provided, + will wait until all + + Jobs have been completed before marking the GitRepo as + ready. It + + will wait for as long as timeoutSeconds' + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + type: string + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: 'Kustomize options for the deployment, like the + dir containing the + + kustomization.yaml file.' + nullable: true + properties: + dir: + description: 'Dir points to a custom folder for kustomize + resources. This folder must contain + + a kustomization.yaml file.' + nullable: true + type: string + type: object + namespace: + description: 'TargetNamespace if present will assign all resource + to this + + namespace and if any cluster scoped resource exists the deployment + + will fail.' + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this + deployment. + nullable: true + type: string + yaml: + description: 'YAML options, if using raw YAML these are names + that map to + + overlays/{name} files that will be used to replace or patch + a resource.' + nullable: true + properties: + overlays: + description: 'Overlays is a list of names that maps to folders + in "overlays/". + + If you wish to customize the file ./subdir/resource.yaml + then a file + + ./overlays/myoverlay/subdir/resource.yaml will replace + the base + + file. + + A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file.' + items: + type: string + nullable: true + type: array + type: object + type: object + type: object + status: + properties: + appliedDeploymentID: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + nullable: true + type: array + display: + nullable: true + properties: + deployed: + nullable: true + type: string + monitored: + nullable: true + type: string + state: + nullable: true + type: string + type: object + modifiedStatus: + items: + description: 'ModifiedStatus is used to report the status of a + resource that is modified. + + It indicates if the modification was a create, a delete or a + patch.' + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + exist: + description: Exist is true if the resource exists but is not + owned by us. This can happen if a resource was adopted by + another bundle whereas the first bundle still exists and + due to that reports that it does not own it. + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + nonModified: + type: boolean + nonReadyStatus: + items: + description: NonReadyStatus is used to report the status of a + resource that is not ready. It includes a summary. + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: 'UID is a type that holds unique ID values, including + UUIDs. Because we + + don''t ONLY use UUIDs, this is an alias to string. Being + a type captures + + intent and helps make sure that UIDs and names do not get + conflated.' + nullable: true + type: string + type: object + nullable: true + type: array + ready: + type: boolean + release: + description: Release is the Helm release ID + nullable: true + type: string + resources: + description: 'Resources lists the metadata of resources that were + deployed + + according to the helm release history.' + items: + description: BundleDeploymentResource contains the metadata of + a deployed resource. + properties: + apiVersion: + nullable: true + type: string + createdAt: + format: date-time + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + nullable: true + type: array + syncGeneration: + format: int64 + nullable: true + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: bundlenamespacemappings.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: BundleNamespaceMapping + listKind: BundleNamespaceMappingList + plural: bundlenamespacemappings + singular: bundlenamespacemapping + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: BundleNamespaceMapping maps bundles to clusters in other namespaces. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + bundleSelector: + description: 'A label selector is a label query over a set of resources. + The result of matchLabels and + + matchExpressions are ANDed. An empty label selector matches all objects. + A null + + label selector matches no objects.' + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: 'A label selector requirement is a selector that + contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: 'operator represents a key''s relationship to + a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. If the + operator is In or NotIn, + + the values array must be non-empty. If the operator is Exists + or DoesNotExist, + + the values array must be empty. This array is replaced during + a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, whose key + field is "key", the + + operator is "In", and the values array contains only "value". + The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + namespaceSelector: + description: 'A label selector is a label query over a set of resources. + The result of matchLabels and + + matchExpressions are ANDed. An empty label selector matches all objects. + A null + + label selector matches no objects.' + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: 'A label selector requirement is a selector that + contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: 'operator represents a key''s relationship to + a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. If the + operator is In or NotIn, + + the values array must be non-empty. If the operator is Exists + or DoesNotExist, + + the values array must be empty. This array is replaced during + a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, whose key + field is "key", the + + operator is "In", and the values array contains only "value". + The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: bundles.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Bundle + listKind: BundleList + plural: bundles + singular: bundle + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.readyClusters + name: BundleDeployments-Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: 'Bundle contains the resources of an application and its deployment + options. + + It will be deployed as a Helm chart to target clusters. + + + When a GitRepo is scanned it will produce one or more bundles. Bundles + are + + a collection of resources that get deployed to one or more cluster(s). + Bundle is the + + fundamental deployment unit used in Fleet. The contents of a Bundle may + be + + Kubernetes manifests, Kustomize configuration, or Helm charts. Regardless + + of the source the contents are dynamically rendered into a Helm chart + by + + the agent and installed into the downstream cluster as a Helm release.' + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + contentsId: + description: ContentsID stores the contents id when deploying contents + using an OCI registry. + nullable: true + type: string + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will be + used if true. This will try to recreate all resources in the + release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: 'DefaultNamespace is the namespace to use for resources + that do not + + specify a namespace. This field is not used to enforce or lock + down + + the deployment to a specific namespace.' + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this will + also delete all your Custom Resources. + type: boolean + deleteNamespace: + description: DeleteNamespace can be used to delete the deployed + namespace when removing the bundle + type: boolean + dependsOn: + description: DependsOn refers to the bundles which must be ready + before this bundle can be deployed. + items: + properties: + name: + description: Name of the bundle. + nullable: true + type: string + selector: + description: Selector matching bundle's labels. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + type: object + nullable: true + type: array + diff: + description: Diff can be used to ignore the modified state of objects + which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove fields + from the check for modifications. + items: + description: ComparePatch matches a resource and removes fields + from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain JSON + path. + items: + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the resource. + items: + description: Operation of a ComparePatch, usually "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + format: int64 + type: integer + helm: + description: Helm options for the deployment, like the chart name, + repo and values. + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is performing + an upgrade + type: boolean + chart: + description: 'Chart can refer to any go-getter URL or OCI registry + based helm + + chart URL. The chart will be downloaded.' + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's EnableDNS + option, which Fleet sets to `true` by default. + type: boolean + disableDependencyUpdate: + description: DisableDependencyUpdate allows skipping chart dependencies + update + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. This + could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: 'ReleaseName sets a custom release name to deploy + the chart as. If + + not specified a release name will be generated by combining + the + + invoking GitRepo.name + GitRepo.path.' + maxLength: 53 + nullable: true + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + repo: + description: Repo is the name of the HTTPS helm repo to download + the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema validation + against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for its + own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm operations. + type: integer + values: + description: 'Values passed to Helm. It is possible to specify + the keys and values + + as go template strings.' + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values from. + items: + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps and + secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: 'WaitForJobs if set and timeoutSeconds provided, + will wait until all + + Jobs have been completed before marking the GitRepo as ready. + It + + will wait for as long as timeoutSeconds' + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when monitoring + the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + type: string + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed resources + when removing the bundle + type: boolean + kustomize: + description: 'Kustomize options for the deployment, like the dir + containing the + + kustomization.yaml file.' + nullable: true + properties: + dir: + description: 'Dir points to a custom folder for kustomize resources. + This folder must contain + + a kustomization.yaml file.' + nullable: true + type: string + type: object + namespace: + description: 'TargetNamespace if present will assign all resource + to this + + namespace and if any cluster scoped resource exists the deployment + + will fail.' + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + type: string + description: NamespaceAnnotations are annotations that will be appended + to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + type: string + description: NamespaceLabels are labels that will be appended to + the namespace created by Fleet. + nullable: true + type: object + paused: + description: Paused if set to true, will stop any BundleDeployments + from being updated. It will be marked as out of sync. + type: boolean + resources: + description: 'Resources contains the resources that were read from + the bundle''s + + path. This includes the content of downloaded helm charts.' + items: + description: BundleResource represents the content of a single + resource from the bundle, like a YAML manifest. + properties: + content: + description: The content of the resource, can be compressed. + nullable: true + type: string + encoding: + description: Encoding is either empty or "base64+gz". + nullable: true + type: string + name: + description: Name of the resource, can include the bundle's + internal path. + nullable: true + type: string + type: object + nullable: true + type: array + rolloutStrategy: + description: 'RolloutStrategy controls the rollout of bundles, by + defining + + partitions, canaries and percentages for cluster availability.' + nullable: true + properties: + autoPartitionSize: + anyOf: + - type: integer + - type: string + description: 'A number or percentage of how to automatically + partition clusters if no + + specific partitioning strategy is configured. + + default: 25%' + nullable: true + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + description: 'A number or percentage of clusters that can be + unavailable during an update + + of a bundle. This follows the same basic approach as a deployment + rollout + + strategy. Once the number of clusters meets unavailable state + update will be + + paused. Default value is 100% which doesn''t take effect on + update. + + default: 100%' + nullable: true + x-kubernetes-int-or-string: true + maxUnavailablePartitions: + anyOf: + - type: integer + - type: string + description: 'A number or percentage of cluster partitions that + can be unavailable during + + an update of a bundle. + + default: 0' + nullable: true + x-kubernetes-int-or-string: true + partitions: + description: 'A list of definitions of partitions. If any target + clusters do not match + + the configuration they are added to partitions at the end + following the + + autoPartitionSize.' + items: + description: Partition defines a separate rollout strategy + for a set of clusters. + properties: + clusterGroup: + description: A cluster group name to include in this partition + type: string + clusterGroupSelector: + description: Selector matching cluster group labels to + include in this partition + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a + selector that contains values, a key, and an operator + that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and + DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the + operator is Exists or DoesNotExist, + + the values array must be empty. This array + is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + description: ClusterName is the name of a cluster to include + in this partition + type: string + clusterSelector: + description: Selector matching cluster labels to include + in this partition + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a + selector that contains values, a key, and an operator + that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and + DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the + operator is Exists or DoesNotExist, + + the values array must be empty. This array + is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + maxUnavailable: + anyOf: + - type: integer + - type: string + description: 'A number or percentage of clusters that + can be unavailable in this + + partition before this partition is treated as done. + + default: 10%' + x-kubernetes-int-or-string: true + name: + description: A user-friendly name given to the partition + used for Display (optional). + nullable: true + type: string + type: object + nullable: true + type: array + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this deployment. + nullable: true + type: string + targetRestrictions: + description: TargetRestrictions is an allow list, which controls + if a bundledeployment is created for a target. + items: + description: 'BundleTargetRestriction is used internally by Fleet + and should not be modified. + + It acts as an allow list, to prevent the creation of BundleDeployments + from + + Targets created by TargetCustomizations in fleet.yaml.' + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + description: 'A label selector is a label query over a set + of resources. The result of matchLabels and + + matchExpressions are ANDed. An empty label selector matches + all objects. A null + + label selector matches no objects.' + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + nullable: true + type: string + clusterSelector: + description: 'A label selector is a label query over a set + of resources. The result of matchLabels and + + matchExpressions are ANDed. An empty label selector matches + all objects. A null + + label selector matches no objects.' + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + name: + nullable: true + type: string + type: object + type: array + targets: + description: 'Targets refer to the clusters which will be deployed + to. + + Targets are evaluated in order and the first one to match is used.' + items: + description: 'BundleTarget declares clusters to deploy to. Fleet + will merge the + + BundleDeploymentOptions from customizations into this struct.' + properties: + clusterGroup: + description: ClusterGroup to match a specific cluster group + by name. + nullable: true + type: string + clusterGroupSelector: + description: ClusterGroupSelector is a selector to match cluster + groups. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + description: 'ClusterName to match a specific cluster by name + that will be + + selected' + nullable: true + type: string + clusterSelector: + description: 'ClusterSelector is a selector to match clusters. + The structure is + + the standard metav1.LabelSelector format. If clusterGroupSelector + or + + clusterGroup is specified, clusterSelector will be used + only to + + further refine the selection after clusterGroupSelector + and + + clusterGroup is evaluated.' + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: 'DefaultNamespace is the namespace to use for + resources that do not + + specify a namespace. This field is not used to enforce or + lock down + + the deployment to a specific namespace.' + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + deleteNamespace: + description: DeleteNamespace can be used to delete the deployed + namespace when removing the bundle + type: boolean + diff: + description: Diff can be used to ignore the modified state + of objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the + resource to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to + match. + nullable: true + type: string + name: + description: Name is the name of the resource to + match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from + the resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + doNotDeploy: + description: DoNotDeploy if set to true, will not deploy to + this target. + type: boolean + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + format: int64 + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: 'Chart can refer to any go-getter URL or + OCI registry based helm + + chart URL. The chart will be downloaded.' + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disableDependencyUpdate: + description: DisableDependencyUpdate allows skipping chart + dependencies update + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: 'ReleaseName sets a custom release name to + deploy the chart as. If + + not specified a release name will be generated by combining + the + + invoking GitRepo.name + GitRepo.path.' + maxLength: 53 + nullable: true + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + repo: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: 'Values passed to Helm. It is possible to + specify the keys and values + + as go template strings.' + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from + configmap, secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with + release values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same + namespace as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same + namespace as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: 'WaitForJobs if set and timeoutSeconds provided, + will wait until all + + Jobs have been completed before marking the GitRepo + as ready. It + + will wait for as long as timeoutSeconds' + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be + ignored when monitoring the Bundle. + items: + additionalProperties: + type: string + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: 'Kustomize options for the deployment, like the + dir containing the + + kustomization.yaml file.' + nullable: true + properties: + dir: + description: 'Dir points to a custom folder for kustomize + resources. This folder must contain + + a kustomization.yaml file.' + nullable: true + type: string + type: object + name: + description: 'Name of target. This value is largely for display + and logging. If + + not specified a default name of the format "target000" will + be used' + type: string + namespace: + description: 'TargetNamespace if present will assign all resource + to this + + namespace and if any cluster scoped resource exists the + deployment + + will fail.' + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform + this deployment. + nullable: true + type: string + yaml: + description: 'YAML options, if using raw YAML these are names + that map to + + overlays/{name} files that will be used to replace or patch + a resource.' + nullable: true + properties: + overlays: + description: 'Overlays is a list of names that maps to + folders in "overlays/". + + If you wish to customize the file ./subdir/resource.yaml + then a file + + ./overlays/myoverlay/subdir/resource.yaml will replace + the base + + file. + + A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file.' + items: + type: string + nullable: true + type: array + type: object + type: object + type: array + yaml: + description: 'YAML options, if using raw YAML these are names that + map to + + overlays/{name} files that will be used to replace or patch a + resource.' + nullable: true + properties: + overlays: + description: 'Overlays is a list of names that maps to folders + in "overlays/". + + If you wish to customize the file ./subdir/resource.yaml then + a file + + ./overlays/myoverlay/subdir/resource.yaml will replace the + base + + file. + + A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file.' + items: + type: string + nullable: true + type: array + type: object + type: object + status: + properties: + conditions: + description: 'Conditions is a list of Wrangler conditions that describe + the state + + of the bundle.' + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + display: + description: 'Display contains the number of ready, desiredready + clusters and a + + summary state for the bundle''s resources.' + properties: + readyClusters: + description: 'ReadyClusters is a string in the form "%d/%d", + that describes the + + number of clusters that are ready vs. the number of clusters + desired + + to be ready.' + nullable: true + type: string + state: + description: State is a summary state for the bundle, calculated + over the non-ready resources. + nullable: true + type: string + type: object + maxNew: + description: 'MaxNew is always 50. A bundle change can only stage + 50 + + bundledeployments at a time.' + type: integer + maxUnavailable: + description: 'MaxUnavailable is the maximum number of unavailable + deployments. See + + rollout configuration.' + type: integer + maxUnavailablePartitions: + description: 'MaxUnavailablePartitions is the maximum number of + unavailable + + partitions. The rollout configuration defines a maximum number + or + + percentage of unavailable partitions.' + type: integer + newlyCreated: + description: 'NewlyCreated is the number of bundle deployments that + have been created, + + not updated.' + type: integer + observedGeneration: + description: ObservedGeneration is the current generation of the + bundle. + format: int64 + type: integer + ociReference: + description: 'OCIReference is the OCI reference used to store contents, + this is + + only for informational purposes.' + type: string + partitions: + description: PartitionStatus lists the status of each partition. + items: + description: PartitionStatus is the status of a single rollout + partition. + properties: + count: + description: Count is the number of clusters in the partition. + type: integer + maxUnavailable: + description: MaxUnavailable is the maximum number of unavailable + clusters in the partition. + type: integer + name: + description: Name is the name of the partition. + nullable: true + type: string + summary: + description: Summary is a summary state for the partition, + calculated over its non-ready resources. + properties: + desiredReady: + description: 'DesiredReady is the number of bundle deployments + that should be + + ready.' + type: integer + errApplied: + description: 'ErrApplied is the number of bundle deployments + that have been synced + + from the Fleet controller and the downstream cluster, + but with some + + errors when deploying the bundle.' + type: integer + modified: + description: 'Modified is the number of bundle deployments + that have been deployed + + and for which all resources are ready, but where some + changes from the + + Git repository have not yet been synced.' + type: integer + nonReadyResources: + description: 'NonReadyClusters is a list of states, which + is filled for a bundle + + that is not ready.' + items: + description: 'NonReadyResource contains information + about a bundle that is not ready for a + + given state like "ErrApplied". It contains a list + of non-ready or modified + + resources and their states.' + properties: + bundleState: + description: State is the state of the resource, + like e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the + bundle is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for + each modified resource. + items: + description: 'ModifiedStatus is used to report + the status of a resource that is modified. + + It indicates if the modification was a create, + a delete or a patch.' + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + exist: + description: Exist is true if the resource + exists but is not owned by us. This can + happen if a resource was adopted by another + bundle whereas the first bundle still exists + and due to that reports that it does not + own it. + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for + each non-ready resource. + items: + description: NonReadyStatus is used to report + the status of a resource that is not ready. + It includes a summary. + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: 'UID is a type that holds unique + ID values, including UUIDs. Because we + + don''t ONLY use UUIDs, this is an alias + to string. Being a type captures + + intent and helps make sure that UIDs and + names do not get conflated.' + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: 'NotReady is the number of bundle deployments + that have been deployed + + where some resources are not ready.' + type: integer + outOfSync: + description: 'OutOfSync is the number of bundle deployments + that have been synced + + from Fleet controller, but not yet by the downstream + agent.' + type: integer + pending: + description: 'Pending is the number of bundle deployments + that are being processed + + by Fleet controller.' + type: integer + ready: + description: 'Ready is the number of bundle deployments + that have been deployed + + where all resources are ready.' + type: integer + waitApplied: + description: 'WaitApplied is the number of bundle deployments + that have been + + synced from Fleet controller and downstream cluster, + but are waiting + + to be deployed.' + type: integer + type: object + unavailable: + description: Unavailable is the number of unavailable clusters + in the partition. + type: integer + type: object + type: array + resourceKey: + description: 'ResourceKey lists resources, which will likely be + deployed. The + + actual list of resources on a cluster might differ, depending + on the + + helm chart, value templating, etc..' + items: + description: ResourceKey lists resources, which will likely be + deployed. + properties: + apiVersion: + description: APIVersion is the k8s api version of the resource. + nullable: true + type: string + kind: + description: Kind is the k8s api kind of the resource. + nullable: true + type: string + name: + description: Name is the name of the resource. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource. + nullable: true + type: string + type: object + nullable: true + type: array + resourcesSha256Sum: + description: ResourcesSHA256Sum corresponds to the JSON serialization + of the .Spec.Resources field + type: string + summary: + description: 'Summary contains the number of bundle deployments + in each state and + + a list of non-ready resources.' + properties: + desiredReady: + description: 'DesiredReady is the number of bundle deployments + that should be + + ready.' + type: integer + errApplied: + description: 'ErrApplied is the number of bundle deployments + that have been synced + + from the Fleet controller and the downstream cluster, but + with some + + errors when deploying the bundle.' + type: integer + modified: + description: 'Modified is the number of bundle deployments that + have been deployed + + and for which all resources are ready, but where some changes + from the + + Git repository have not yet been synced.' + type: integer + nonReadyResources: + description: 'NonReadyClusters is a list of states, which is + filled for a bundle + + that is not ready.' + items: + description: 'NonReadyResource contains information about + a bundle that is not ready for a + + given state like "ErrApplied". It contains a list of non-ready + or modified + + resources and their states.' + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: 'ModifiedStatus is used to report the status + of a resource that is modified. + + It indicates if the modification was a create, a delete + or a patch.' + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + exist: + description: Exist is true if the resource exists + but is not owned by us. This can happen if a resource + was adopted by another bundle whereas the first + bundle still exists and due to that reports that + it does not own it. + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: 'UID is a type that holds unique ID + values, including UUIDs. Because we + + don''t ONLY use UUIDs, this is an alias to string. Being + a type captures + + intent and helps make sure that UIDs and names + do not get conflated.' + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: 'NotReady is the number of bundle deployments that + have been deployed + + where some resources are not ready.' + type: integer + outOfSync: + description: 'OutOfSync is the number of bundle deployments + that have been synced + + from Fleet controller, but not yet by the downstream agent.' + type: integer + pending: + description: 'Pending is the number of bundle deployments that + are being processed + + by Fleet controller.' + type: integer + ready: + description: 'Ready is the number of bundle deployments that + have been deployed + + where all resources are ready.' + type: integer + waitApplied: + description: 'WaitApplied is the number of bundle deployments + that have been + + synced from Fleet controller and downstream cluster, but are + waiting + + to be deployed.' + type: integer + type: object + unavailable: + description: 'Unavailable is the number of bundle deployments that + are not ready or + + where the AppliedDeploymentID in the status does not match the + + DeploymentID from the spec.' + type: integer + unavailablePartitions: + description: UnavailablePartitions is the number of unavailable + partitions. + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: clustergroups.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + categories: + - fleet + kind: ClusterGroup + listKind: ClusterGroupList + plural: clustergroups + singular: clustergroup + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.readyClusters + name: Clusters-Ready + type: string + - jsonPath: .status.display.readyBundles + name: Bundles-Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterGroup is a re-usable selector to target a group of clusters. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + selector: + description: Selector is a label selector, used to select clusters + for this group. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: 'A label selector requirement is a selector that + contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. If + the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is replaced + during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, whose + key field is "key", the + + operator is "In", and the values array contains only "value". + The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + type: object + status: + properties: + clusterCount: + description: ClusterCount is the number of clusters in the cluster + group. + type: integer + conditions: + description: Conditions is a list of conditions and their statuses + for the cluster group. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + display: + description: 'Display contains the number of ready, desiredready + clusters and a + + summary state for the bundle''s resources.' + properties: + readyBundles: + description: 'ReadyBundles is a string in the form "%d/%d", + that describes the + + number of bundles that are ready vs. the number of bundles + desired + + to be ready.' + nullable: true + type: string + readyClusters: + description: 'ReadyClusters is a string in the form "%d/%d", + that describes the + + number of clusters that are ready vs. the number of clusters + desired + + to be ready.' + nullable: true + type: string + state: + description: 'State is a summary state for the cluster group, + showing "NotReady" if + + there are non-ready resources.' + nullable: true + type: string + type: object + nonReadyClusterCount: + description: NonReadyClusterCount is the number of clusters that + are not ready. + type: integer + nonReadyClusters: + description: NonReadyClusters is a list of cluster names that are + not ready. + items: + type: string + nullable: true + type: array + resourceCounts: + description: 'ResourceCounts contains the number of resources in + each state over + + all bundles in the cluster group.' + properties: + desiredReady: + description: DesiredReady is the number of resources that should + be ready. + type: integer + missing: + description: Missing is the number of missing resources. + type: integer + modified: + description: Modified is the number of resources that have been + modified. + type: integer + notReady: + description: 'NotReady is the number of not ready resources. + Resources are not + + ready if they do not match any other state.' + type: integer + orphaned: + description: Orphaned is the number of orphaned resources. + type: integer + ready: + description: Ready is the number of ready resources. + type: integer + unknown: + description: Unknown is the number of resources in an unknown + state. + type: integer + waitApplied: + description: WaitApplied is the number of resources that are + waiting to be applied. + type: integer + type: object + summary: + description: 'Summary is a summary of the bundle deployments and + their resources + + in the cluster group.' + properties: + desiredReady: + description: 'DesiredReady is the number of bundle deployments + that should be + + ready.' + type: integer + errApplied: + description: 'ErrApplied is the number of bundle deployments + that have been synced + + from the Fleet controller and the downstream cluster, but + with some + + errors when deploying the bundle.' + type: integer + modified: + description: 'Modified is the number of bundle deployments that + have been deployed + + and for which all resources are ready, but where some changes + from the + + Git repository have not yet been synced.' + type: integer + nonReadyResources: + description: 'NonReadyClusters is a list of states, which is + filled for a bundle + + that is not ready.' + items: + description: 'NonReadyResource contains information about + a bundle that is not ready for a + + given state like "ErrApplied". It contains a list of non-ready + or modified + + resources and their states.' + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: 'ModifiedStatus is used to report the status + of a resource that is modified. + + It indicates if the modification was a create, a delete + or a patch.' + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + exist: + description: Exist is true if the resource exists + but is not owned by us. This can happen if a resource + was adopted by another bundle whereas the first + bundle still exists and due to that reports that + it does not own it. + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: 'UID is a type that holds unique ID + values, including UUIDs. Because we + + don''t ONLY use UUIDs, this is an alias to string. Being + a type captures + + intent and helps make sure that UIDs and names + do not get conflated.' + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: 'NotReady is the number of bundle deployments that + have been deployed + + where some resources are not ready.' + type: integer + outOfSync: + description: 'OutOfSync is the number of bundle deployments + that have been synced + + from Fleet controller, but not yet by the downstream agent.' + type: integer + pending: + description: 'Pending is the number of bundle deployments that + are being processed + + by Fleet controller.' + type: integer + ready: + description: 'Ready is the number of bundle deployments that + have been deployed + + where all resources are ready.' + type: integer + waitApplied: + description: 'WaitApplied is the number of bundle deployments + that have been + + synced from Fleet controller and downstream cluster, but are + waiting + + to be deployed.' + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: clusterregistrations.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: ClusterRegistration + listKind: ClusterRegistrationList + plural: clusterregistrations + singular: clusterregistration + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.clusterName + name: Cluster-Name + type: string + - jsonPath: .spec.clusterLabels + name: Labels + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterRegistration is used internally by Fleet and should + not be used directly. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + clientID: + description: 'ClientID is a unique string that will identify the + cluster. The + + agent either uses the configured ID or the kubeSystem.UID.' + nullable: true + type: string + clientRandom: + description: 'ClientRandom is a random string that the agent generates. + When + + fleet-controller grants a registration, it creates a registration + + secret with this string in the name.' + nullable: true + type: string + clusterLabels: + additionalProperties: + type: string + description: ClusterLabels are copied to the cluster resource during + the registration. + nullable: true + type: object + type: object + status: + properties: + clusterName: + description: 'ClusterName is only set after the registration is + being processed by + + fleet-controller.' + nullable: true + type: string + granted: + description: 'Granted is set to true, if the request service account + is present + + and its token secret exists. This happens directly before creating + + the registration secret, roles and rolebindings.' + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: clusterregistrationtokens.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: ClusterRegistrationToken + listKind: ClusterRegistrationTokenList + plural: clusterregistrationtokens + singular: clusterregistrationtoken + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.secretName + name: Secret-Name + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterRegistrationToken is used by agents to register a new + cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + ttl: + description: 'TTL is the time to live for the token. It is used + to calculate the + + expiration time. If the token expires, it will be deleted.' + nullable: true + type: string + type: object + status: + properties: + expires: + description: Expires is the time when the token expires. + format: date-time + type: string + secretName: + description: SecretName is the name of the secret containing the + token. + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: clusters.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.readyBundles + name: Bundles-Ready + type: string + - jsonPath: .status.agent.lastSeen + name: Last-Seen + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: 'Cluster corresponds to a Kubernetes cluster. Fleet deploys + bundles to targeted clusters. + + Clusters to which Fleet deploys manifests are referred to as downstream + + clusters. In the single cluster use case, the Fleet Kubernetes + + cluster is both the manager and downstream cluster at the same time.' + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + agentAffinity: + description: 'AgentAffinity overrides the default affinity for the + cluster''s agent + + deployment. If this value is nil the default affinity is used.' + nullable: true + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for the + pod. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: 'The scheduler will prefer to schedule pods + to nodes that satisfy + + the affinity expressions specified by this field, but + it may choose + + a node that violates one or more of the expressions. The + node that is + + most preferred is the one with the greatest sum of weights, + i.e. + + for each node that meets all of the scheduling requirements + (resource + + request, requiredDuringScheduling affinity expressions, + etc.), + + compute a sum by iterating through the elements of this + field and adding + + "weight" to the sum if the node matches the corresponding + matchExpressions; the + + node(s) with the highest sum are the most preferred.' + items: + description: 'An empty preferred scheduling term matches + all objects with implicit weight 0 + + (i.e. it''s a no-op). A null preferred scheduling term + matches no objects (i.e. is also a no-op).' + properties: + preference: + description: A node selector term, associated with + the corresponding weight. + properties: + matchExpressions: + description: A list of node selector requirements + by node's labels. + items: + description: 'A node selector requirement is + a selector that contains values, a key, and + an operator + + that relates the key and values.' + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: 'Represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists, + DoesNotExist. Gt, and Lt.' + type: string + values: + description: 'An array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. If the + operator is Gt or Lt, the values + + array must have a single element, which + will be interpreted as an integer. + + This array is replaced during a strategic + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + description: A list of node selector requirements + by node's fields. + items: + description: 'A node selector requirement is + a selector that contains values, a key, and + an operator + + that relates the key and values.' + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: 'Represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists, + DoesNotExist. Gt, and Lt.' + type: string + values: + description: 'An array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. If the + operator is Gt or Lt, the values + + array must have a single element, which + will be interpreted as an integer. + + This array is replaced during a strategic + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding + nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + description: 'If the affinity requirements specified by + this field are not met at + + scheduling time, the pod will not be scheduled onto the + node. + + If the affinity requirements specified by this field cease + to be met + + at some point during pod execution (e.g. due to an update), + the system + + may or may not try to eventually evict the pod from its + node.' + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. + The terms are ORed. + items: + description: 'A null or empty node selector term matches + no objects. The requirements of + + them are ANDed. + + The TopologySelectorTerm type implements a subset + of the NodeSelectorTerm.' + properties: + matchExpressions: + description: A list of node selector requirements + by node's labels. + items: + description: 'A node selector requirement is + a selector that contains values, a key, and + an operator + + that relates the key and values.' + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: 'Represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists, + DoesNotExist. Gt, and Lt.' + type: string + values: + description: 'An array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. If the + operator is Gt or Lt, the values + + array must have a single element, which + will be interpreted as an integer. + + This array is replaced during a strategic + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + description: A list of node selector requirements + by node's fields. + items: + description: 'A node selector requirement is + a selector that contains values, a key, and + an operator + + that relates the key and values.' + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: 'Represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists, + DoesNotExist. Gt, and Lt.' + type: string + values: + description: 'An array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. If the + operator is Gt or Lt, the values + + array must have a single element, which + will be interpreted as an integer. + + This array is replaced during a strategic + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + description: Describes pod affinity scheduling rules (e.g. co-locate + this pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: 'The scheduler will prefer to schedule pods + to nodes that satisfy + + the affinity expressions specified by this field, but + it may choose + + a node that violates one or more of the expressions. The + node that is + + most preferred is the one with the greatest sum of weights, + i.e. + + for each node that meets all of the scheduling requirements + (resource + + request, requiredDuringScheduling affinity expressions, + etc.), + + compute a sum by iterating through the elements of this + field and adding + + "weight" to the sum if the node has pods which matches + the corresponding podAffinityTerm; the + + node(s) with the highest sum are the most preferred.' + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: 'A label query over a set of resources, + in this case pods. + + If it''s null, this PodAffinityTerm matches + with no Pods.' + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: 'A label selector requirement + is a selector that contains values, a + key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: 'operator represents a + key''s relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of + string values. If the operator is + In or NotIn, + + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + + the values array must be empty. This + array is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: 'MatchLabelKeys is a set of pod label + keys to select which pods will + + be taken into consideration. The keys are used + to lookup values from the + + incoming pod labels, those key-value labels + are merged with `labelSelector` as `key in (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. + Keys that don''t exist in the incoming + + pod labels will be ignored. The default value + is empty. + + The same key is forbidden to exist in both matchLabelKeys + and labelSelector. + + Also, matchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: 'MismatchLabelKeys is a set of pod + label keys to select which pods will + + be taken into consideration. The keys are used + to lookup values from the + + incoming pod labels, those key-value labels + are merged with `labelSelector` as `key notin + (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. + Keys that don''t exist in the incoming + + pod labels will be ignored. The default value + is empty. + + The same key is forbidden to exist in both mismatchLabelKeys + and labelSelector. + + Also, mismatchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: 'A label query over the set of namespaces + that the term applies to. + + The term is applied to the union of the namespaces + selected by this field + + and the ones listed in the namespaces field. + + null selector and null or empty namespaces list + means "this pod''s namespace". + + An empty selector ({}) matches all namespaces.' + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: 'A label selector requirement + is a selector that contains values, a + key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: 'operator represents a + key''s relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of + string values. If the operator is + In or NotIn, + + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + + the values array must be empty. This + array is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: 'namespaces specifies a static list + of namespace names that the term applies to. + + The term is applied to the union of the namespaces + listed in this field + + and the ones selected by namespaceSelector. + + null or empty namespaces list and null namespaceSelector + means "this pod''s namespace".' + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: 'This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching + + the labelSelector in the specified namespaces, + where co-located is defined as running on a + node + + whose value of the label with key topologyKey + matches that of any node on which any of the + + selected pods is running. + + Empty topologyKey is not allowed.' + type: string + required: + - topologyKey + type: object + weight: + description: 'weight associated with matching the + corresponding podAffinityTerm, + + in the range 1-100.' + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + description: 'If the affinity requirements specified by + this field are not met at + + scheduling time, the pod will not be scheduled onto the + node. + + If the affinity requirements specified by this field cease + to be met + + at some point during pod execution (e.g. due to a pod + label update), the + + system may or may not try to eventually evict the pod + from its node. + + When there are multiple elements, the lists of nodes corresponding + to each + + podAffinityTerm are intersected, i.e. all terms must be + satisfied.' + items: + description: 'Defines a set of pods (namely those matching + the labelSelector + + relative to the given namespace(s)) that this pod should + be + + co-located (affinity) or not co-located (anti-affinity) + with, + + where co-located is defined as running on a node whose + value of + + the label with key matches that of any + node on which + + a pod of the set of pods is running' + properties: + labelSelector: + description: 'A label query over a set of resources, + in this case pods. + + If it''s null, this PodAffinityTerm matches with + no Pods.' + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: 'A label selector requirement is + a selector that contains values, a key, and + an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: 'operator represents a key''s + relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of string + values. If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. This array + is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: 'MatchLabelKeys is a set of pod label + keys to select which pods will + + be taken into consideration. The keys are used to + lookup values from the + + incoming pod labels, those key-value labels are + merged with `labelSelector` as `key in (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. Keys + that don''t exist in the incoming + + pod labels will be ignored. The default value is + empty. + + The same key is forbidden to exist in both matchLabelKeys + and labelSelector. + + Also, matchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: 'MismatchLabelKeys is a set of pod label + keys to select which pods will + + be taken into consideration. The keys are used to + lookup values from the + + incoming pod labels, those key-value labels are + merged with `labelSelector` as `key notin (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. Keys + that don''t exist in the incoming + + pod labels will be ignored. The default value is + empty. + + The same key is forbidden to exist in both mismatchLabelKeys + and labelSelector. + + Also, mismatchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: 'A label query over the set of namespaces + that the term applies to. + + The term is applied to the union of the namespaces + selected by this field + + and the ones listed in the namespaces field. + + null selector and null or empty namespaces list + means "this pod''s namespace". + + An empty selector ({}) matches all namespaces.' + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: 'A label selector requirement is + a selector that contains values, a key, and + an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: 'operator represents a key''s + relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of string + values. If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. This array + is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: 'namespaces specifies a static list of + namespace names that the term applies to. + + The term is applied to the union of the namespaces + listed in this field + + and the ones selected by namespaceSelector. + + null or empty namespaces list and null namespaceSelector + means "this pod''s namespace".' + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: 'This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching + + the labelSelector in the specified namespaces, where + co-located is defined as running on a node + + whose value of the label with key topologyKey matches + that of any node on which any of the + + selected pods is running. + + Empty topologyKey is not allowed.' + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. + avoid putting this pod in the same node, zone, etc. as some + other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: 'The scheduler will prefer to schedule pods + to nodes that satisfy + + the anti-affinity expressions specified by this field, + but it may choose + + a node that violates one or more of the expressions. The + node that is + + most preferred is the one with the greatest sum of weights, + i.e. + + for each node that meets all of the scheduling requirements + (resource + + request, requiredDuringScheduling anti-affinity expressions, + etc.), + + compute a sum by iterating through the elements of this + field and adding + + "weight" to the sum if the node has pods which matches + the corresponding podAffinityTerm; the + + node(s) with the highest sum are the most preferred.' + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: 'A label query over a set of resources, + in this case pods. + + If it''s null, this PodAffinityTerm matches + with no Pods.' + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: 'A label selector requirement + is a selector that contains values, a + key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: 'operator represents a + key''s relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of + string values. If the operator is + In or NotIn, + + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + + the values array must be empty. This + array is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: 'MatchLabelKeys is a set of pod label + keys to select which pods will + + be taken into consideration. The keys are used + to lookup values from the + + incoming pod labels, those key-value labels + are merged with `labelSelector` as `key in (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. + Keys that don''t exist in the incoming + + pod labels will be ignored. The default value + is empty. + + The same key is forbidden to exist in both matchLabelKeys + and labelSelector. + + Also, matchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: 'MismatchLabelKeys is a set of pod + label keys to select which pods will + + be taken into consideration. The keys are used + to lookup values from the + + incoming pod labels, those key-value labels + are merged with `labelSelector` as `key notin + (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. + Keys that don''t exist in the incoming + + pod labels will be ignored. The default value + is empty. + + The same key is forbidden to exist in both mismatchLabelKeys + and labelSelector. + + Also, mismatchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: 'A label query over the set of namespaces + that the term applies to. + + The term is applied to the union of the namespaces + selected by this field + + and the ones listed in the namespaces field. + + null selector and null or empty namespaces list + means "this pod''s namespace". + + An empty selector ({}) matches all namespaces.' + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: 'A label selector requirement + is a selector that contains values, a + key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: 'operator represents a + key''s relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of + string values. If the operator is + In or NotIn, + + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + + the values array must be empty. This + array is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: 'namespaces specifies a static list + of namespace names that the term applies to. + + The term is applied to the union of the namespaces + listed in this field + + and the ones selected by namespaceSelector. + + null or empty namespaces list and null namespaceSelector + means "this pod''s namespace".' + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: 'This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching + + the labelSelector in the specified namespaces, + where co-located is defined as running on a + node + + whose value of the label with key topologyKey + matches that of any node on which any of the + + selected pods is running. + + Empty topologyKey is not allowed.' + type: string + required: + - topologyKey + type: object + weight: + description: 'weight associated with matching the + corresponding podAffinityTerm, + + in the range 1-100.' + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + description: 'If the anti-affinity requirements specified + by this field are not met at + + scheduling time, the pod will not be scheduled onto the + node. + + If the anti-affinity requirements specified by this field + cease to be met + + at some point during pod execution (e.g. due to a pod + label update), the + + system may or may not try to eventually evict the pod + from its node. + + When there are multiple elements, the lists of nodes corresponding + to each + + podAffinityTerm are intersected, i.e. all terms must be + satisfied.' + items: + description: 'Defines a set of pods (namely those matching + the labelSelector + + relative to the given namespace(s)) that this pod should + be + + co-located (affinity) or not co-located (anti-affinity) + with, + + where co-located is defined as running on a node whose + value of + + the label with key matches that of any + node on which + + a pod of the set of pods is running' + properties: + labelSelector: + description: 'A label query over a set of resources, + in this case pods. + + If it''s null, this PodAffinityTerm matches with + no Pods.' + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: 'A label selector requirement is + a selector that contains values, a key, and + an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: 'operator represents a key''s + relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of string + values. If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. This array + is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: 'MatchLabelKeys is a set of pod label + keys to select which pods will + + be taken into consideration. The keys are used to + lookup values from the + + incoming pod labels, those key-value labels are + merged with `labelSelector` as `key in (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. Keys + that don''t exist in the incoming + + pod labels will be ignored. The default value is + empty. + + The same key is forbidden to exist in both matchLabelKeys + and labelSelector. + + Also, matchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: 'MismatchLabelKeys is a set of pod label + keys to select which pods will + + be taken into consideration. The keys are used to + lookup values from the + + incoming pod labels, those key-value labels are + merged with `labelSelector` as `key notin (value)` + + to select the group of existing pods which pods + will be taken into consideration + + for the incoming pod''s pod (anti) affinity. Keys + that don''t exist in the incoming + + pod labels will be ignored. The default value is + empty. + + The same key is forbidden to exist in both mismatchLabelKeys + and labelSelector. + + Also, mismatchLabelKeys cannot be set when labelSelector + isn''t set. + + This is a beta field and requires enabling MatchLabelKeysInPodAffinity + feature gate (enabled by default).' + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: 'A label query over the set of namespaces + that the term applies to. + + The term is applied to the union of the namespaces + selected by this field + + and the ones listed in the namespaces field. + + null selector and null or empty namespaces list + means "this pod''s namespace". + + An empty selector ({}) matches all namespaces.' + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: 'A label selector requirement is + a selector that contains values, a key, and + an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: 'operator represents a key''s + relationship to a set of values. + + Valid operators are In, NotIn, Exists + and DoesNotExist.' + type: string + values: + description: 'values is an array of string + values. If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. This array + is replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains + only "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: 'namespaces specifies a static list of + namespace names that the term applies to. + + The term is applied to the union of the namespaces + listed in this field + + and the ones selected by namespaceSelector. + + null or empty namespaces list and null namespaceSelector + means "this pod''s namespace".' + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: 'This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching + + the labelSelector in the specified namespaces, where + co-located is defined as running on a node + + whose value of the label with key topologyKey matches + that of any node on which any of the + + selected pods is running. + + Empty topologyKey is not allowed.' + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + agentEnvVars: + description: AgentEnvVars are extra environment variables to be + added to the agent deployment. + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + + using the previously defined environment variables in the + container and + + any service environment variables. If a variable cannot + be resolved, + + the reference in the input string will be unchanged. Double + $$ are reduced + + to a single $, which allows for escaping the $(VAR_NAME) + syntax: i.e. + + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + + Escaped references will never be expanded, regardless of + whether the variable + + exists or not. + + Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: '' + description: 'Name of the referent. + + This field is effectively required, but due to backwards + compatibility is + + allowed to be empty. Instances of this type with + an empty value here are + + almost certainly wrong. + + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests + + (limits.cpu, limits.memory, limits.ephemeral-storage, + requests.cpu, requests.memory and requests.ephemeral-storage) + are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + default: '' + description: 'Name of the referent. + + This field is effectively required, but due to backwards + compatibility is + + allowed to be empty. Instances of this type with + an empty value here are + + almost certainly wrong. + + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + nullable: true + type: array + agentNamespace: + description: AgentNamespace defaults to the system namespace, e.g. + cattle-fleet-system. + nullable: true + type: string + agentResources: + description: AgentResources sets the resources for the cluster's + agent deployment. + nullable: true + properties: + claims: + description: 'Claims lists the names of resources, defined in + spec.resourceClaims, + + that are used by this container. + + + This is an alpha field and requires enabling the + + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers.' + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: 'Name must match the name of one entry in + pod.spec.resourceClaims of + + the Pod where this field is used. It makes that resource + available + + inside a container.' + type: string + request: + description: 'Request is the name chosen for a request + in the referenced claim. + + If empty, everything from the claim is made available, + otherwise + + only the result of this request.' + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. + + If Requests is omitted for a container, it defaults to Limits + if that is explicitly specified, + + otherwise to an implementation-defined value. Requests cannot + exceed Limits. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + agentTolerations: + description: AgentTolerations defines an extra set of Tolerations + to be added to the Agent deployment. + items: + description: 'The pod this Toleration is attached to tolerates + any taint that matches + + the triple using the matching operator .' + properties: + effect: + description: 'Effect indicates the taint effect to match. + Empty means match all taint effects. + + When specified, allowed values are NoSchedule, PreferNoSchedule + and NoExecute.' + type: string + key: + description: 'Key is the taint key that the toleration applies + to. Empty means match all taint keys. + + If the key is empty, operator must be Exists; this combination + means to match all values and all keys.' + type: string + operator: + description: 'Operator represents a key''s relationship to + the value. + + Valid operators are Exists and Equal. Defaults to Equal. + + Exists is equivalent to wildcard for value, so that a pod + can + + tolerate all taints of a particular category.' + type: string + tolerationSeconds: + description: 'TolerationSeconds represents the period of time + the toleration (which must be + + of effect NoExecute, otherwise this field is ignored) tolerates + the taint. By default, + + it is not set, which means tolerate the taint forever (do + not evict). Zero and + + negative values will be treated as 0 (evict immediately) + by the system.' + format: int64 + type: integer + value: + description: 'Value is the taint value the toleration matches + to. + + If the operator is Exists, the value should be empty, otherwise + just a regular string.' + type: string + type: object + nullable: true + type: array + clientID: + description: 'ClientID is a unique string that will identify the + cluster. It can + + either be predefined, or generated when importing the cluster.' + nullable: true + type: string + hostNetwork: + description: 'HostNetwork sets the agent StatefulSet to use hostNetwork: + true setting. + + Allows for provisioning of network related bundles (CNI configuration).' + nullable: true + type: boolean + kubeConfigSecret: + description: 'KubeConfigSecret is the name of the secret containing + the kubeconfig for the downstream cluster. + + It can optionally contain a APIServerURL and CA to override the + + values in the fleet-controller''s configmap.' + nullable: true + type: string + kubeConfigSecretNamespace: + description: 'KubeConfigSecretNamespace is the namespace of the + secret containing the kubeconfig for the downstream cluster. + + If unset, it will be assumed the secret can be found in the namespace + that the Cluster object resides within.' + nullable: true + type: string + paused: + description: Paused if set to true, will stop any BundleDeployments + from being updated. + type: boolean + privateRepoURL: + description: PrivateRepoURL prefixes the image name and overrides + a global repo URL from the agents config. + nullable: true + type: string + redeployAgentGeneration: + description: RedeployAgentGeneration can be used to force redeploying + the agent. + format: int64 + type: integer + templateValues: + description: TemplateValues defines a cluster specific mapping of + values to be sent to fleet.yaml values templating. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + status: + properties: + agent: + description: AgentStatus contains information about the agent. + properties: + lastSeen: + description: 'LastSeen is the last time the agent checked in + to update the status + + of the cluster resource.' + format: date-time + nullable: true + type: string + namespace: + description: Namespace is the namespace of the agent deployment, + e.g. "cattle-fleet-system". + nullable: true + type: string + type: object + agentAffinityHash: + description: 'AgentAffinityHash is a hash of the agent''s affinity + configuration, + + used to detect changes.' + type: string + agentConfigChanged: + description: 'AgentConfigChanged is set to true if any of the agent + configuration + + changed, like the API server URL or CA. Setting it to true will + + trigger a re-import of the cluster.' + type: boolean + agentDeployedGeneration: + description: AgentDeployedGeneration is the generation of the agent + that is currently deployed. + format: int64 + nullable: true + type: integer + agentEnvVarsHash: + description: AgentEnvVarsHash is a hash of the agent's env vars, + used to detect changes. + nullable: true + type: string + agentHostNetwork: + description: AgentHostNetwork defines observed state of spec.hostNetwork + setting that is currently used. + nullable: true + type: boolean + agentMigrated: + description: 'AgentMigrated is always set to true after importing + a cluster. If + + false, it will trigger a migration. Old agents don''t have + + this in their status.' + type: boolean + agentNamespaceMigrated: + description: 'AgentNamespaceMigrated is always set to true after + importing a + + cluster. If false, it will trigger a migration. Old Fleet agents + + don''t have this in their status.' + type: boolean + agentPrivateRepoURL: + description: AgentPrivateRepoURL is the private repo URL for the + agent that is currently used. + nullable: true + type: string + agentResourcesHash: + description: 'AgentResourcesHash is a hash of the agent''s resources + configuration, + + used to detect changes.' + nullable: true + type: string + agentTLSMode: + description: 'AgentTLSMode supports two values: `system-store` and + `strict`. If set to + + `system-store`, instructs the agent to trust CA bundles from the + operating + + system''s store. If set to `strict`, then the agent shall only + connect to a + + server which uses the exact CA configured when creating/updating + the agent.' + nullable: true + type: string + agentTolerationsHash: + description: 'AgentTolerationsHash is a hash of the agent''s tolerations + + configuration, used to detect changes.' + nullable: true + type: string + apiServerCAHash: + description: APIServerCAHash is a hash of the upstream API server + CA, used to detect changes. + nullable: true + type: string + apiServerURL: + description: 'APIServerURL is the currently used URL of the API + server that the + + cluster uses to connect to upstream.' + nullable: true + type: string + cattleNamespaceMigrated: + description: 'CattleNamespaceMigrated is always set to true after + importing a + + cluster. If false, it will trigger a migration. Old Fleet agents, + + don''t have this in their status.' + type: boolean + conditions: + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + desiredReadyGitRepos: + description: 'DesiredReadyGitRepos is the number of gitrepos for + this cluster that + + are desired to be ready.' + type: integer + display: + description: Display contains the number of ready bundles, nodes + and a summary state. + properties: + readyBundles: + description: 'ReadyBundles is a string in the form "%d/%d", + that describes the + + number of bundles that are ready vs. the number of bundles + desired + + to be ready.' + type: string + state: + description: State of the cluster, either one of the bundle + states, or "WaitCheckIn". + nullable: true + type: string + type: object + garbageCollectionInterval: + description: GarbageCollectionInterval determines how often agents + clean up obsolete Helm releases. + type: string + namespace: + description: 'Namespace is the cluster namespace, it contains the + clusters service + + account as well as any bundledeployments. Example: + + "cluster-fleet-local-cluster-294db1acfa77-d9ccf852678f"' + type: string + readyGitRepos: + description: ReadyGitRepos is the number of gitrepos for this cluster + that are ready. + type: integer + resourceCounts: + description: ResourceCounts is an aggregate over the GitRepoResourceCounts. + properties: + desiredReady: + description: DesiredReady is the number of resources that should + be ready. + type: integer + missing: + description: Missing is the number of missing resources. + type: integer + modified: + description: Modified is the number of resources that have been + modified. + type: integer + notReady: + description: 'NotReady is the number of not ready resources. + Resources are not + + ready if they do not match any other state.' + type: integer + orphaned: + description: Orphaned is the number of orphaned resources. + type: integer + ready: + description: Ready is the number of ready resources. + type: integer + unknown: + description: Unknown is the number of resources in an unknown + state. + type: integer + waitApplied: + description: WaitApplied is the number of resources that are + waiting to be applied. + type: integer + type: object + summary: + description: 'Summary is a summary of the bundledeployments. The + resource counts + + are copied from the gitrepo resource.' + properties: + desiredReady: + description: 'DesiredReady is the number of bundle deployments + that should be + + ready.' + type: integer + errApplied: + description: 'ErrApplied is the number of bundle deployments + that have been synced + + from the Fleet controller and the downstream cluster, but + with some + + errors when deploying the bundle.' + type: integer + modified: + description: 'Modified is the number of bundle deployments that + have been deployed + + and for which all resources are ready, but where some changes + from the + + Git repository have not yet been synced.' + type: integer + nonReadyResources: + description: 'NonReadyClusters is a list of states, which is + filled for a bundle + + that is not ready.' + items: + description: 'NonReadyResource contains information about + a bundle that is not ready for a + + given state like "ErrApplied". It contains a list of non-ready + or modified + + resources and their states.' + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: 'ModifiedStatus is used to report the status + of a resource that is modified. + + It indicates if the modification was a create, a delete + or a patch.' + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + exist: + description: Exist is true if the resource exists + but is not owned by us. This can happen if a resource + was adopted by another bundle whereas the first + bundle still exists and due to that reports that + it does not own it. + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: 'UID is a type that holds unique ID + values, including UUIDs. Because we + + don''t ONLY use UUIDs, this is an alias to string. Being + a type captures + + intent and helps make sure that UIDs and names + do not get conflated.' + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: 'NotReady is the number of bundle deployments that + have been deployed + + where some resources are not ready.' + type: integer + outOfSync: + description: 'OutOfSync is the number of bundle deployments + that have been synced + + from Fleet controller, but not yet by the downstream agent.' + type: integer + pending: + description: 'Pending is the number of bundle deployments that + are being processed + + by Fleet controller.' + type: integer + ready: + description: 'Ready is the number of bundle deployments that + have been deployed + + where all resources are ready.' + type: integer + waitApplied: + description: 'WaitApplied is the number of bundle deployments + that have been + + synced from Fleet controller and downstream cluster, but are + waiting + + to be deployed.' + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: contents.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Content + listKind: ContentList + plural: contents + singular: content + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: 'Content is used internally by Fleet and should not be used + directly. It + + contains the resources from a bundle for a specific target cluster.' + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + content: + description: 'Content is a byte array, which contains the manifests + of a bundle. + + The bundle resources are copied into the bundledeployment''s content + + resource, so the downstream agent can deploy them.' + format: byte + nullable: true + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + sha256sum: + description: SHA256Sum of the Content field + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: gitreporestrictions.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: GitRepoRestriction + listKind: GitRepoRestrictionList + plural: gitreporestrictions + singular: gitreporestriction + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .defaultServiceAccount + name: Default-ServiceAccount + type: string + - jsonPath: .allowedServiceAccounts + name: Allowed-ServiceAccounts + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: 'GitRepoRestriction is a resource that can optionally be used + to restrict + + the options of GitRepos in the same namespace.' + properties: + allowedClientSecretNames: + description: AllowedClientSecretNames is a list of client secret names + that GitRepos are allowed to use. + items: + type: string + nullable: true + type: array + allowedRepoPatterns: + description: 'AllowedRepoPatterns is a list of regex patterns that restrict + the + + valid values of the Repo field of a GitRepo.' + items: + type: string + nullable: true + type: array + allowedServiceAccounts: + description: AllowedServiceAccounts is a list of service accounts that + GitRepos are allowed to use. + items: + type: string + nullable: true + type: array + allowedTargetNamespaces: + description: 'AllowedTargetNamespaces restricts TargetNamespace to the + given + + namespaces. If AllowedTargetNamespaces is set, TargetNamespace must + + be set.' + items: + type: string + nullable: true + type: array + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + defaultClientSecretName: + description: DefaultClientSecretName overrides the GitRepo's default + client secret. + nullable: true + type: string + defaultServiceAccount: + description: DefaultServiceAccount overrides the GitRepo's default service + account. + nullable: true + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: gitrepos.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + categories: + - fleet + kind: GitRepo + listKind: GitRepoList + plural: gitrepos + singular: gitrepo + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.repo + name: Repo + type: string + - jsonPath: .status.commit + name: Commit + type: string + - jsonPath: .status.display.readyBundleDeployments + name: BundleDeployments-Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: 'GitRepo describes a git repository that is watched by Fleet. + + The resource contains the necessary information to deploy the repo, or + parts + + of it, to target clusters.' + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + branch: + description: Branch The git branch to follow. + nullable: true + type: string + caBundle: + description: CABundle is a PEM encoded CA bundle which will be used + to validate the repo's certificate. + format: byte + nullable: true + type: string + clientSecretName: + description: 'ClientSecretName is the name of the client secret + to be used to connect to the repo + + It is expected the secret be of type "kubernetes.io/basic-auth" + or "kubernetes.io/ssh-auth".' + nullable: true + type: string + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will be + used if true. This will try to recreate all resources in the + release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + deleteNamespace: + description: DeleteNamespace specifies if the namespace created + must be deleted after deleting the GitRepo. + type: boolean + disablePolling: + description: Disables git polling. When enabled only webhooks will + be used. + type: boolean + forceSyncGeneration: + description: Increment this number to force a redeployment of contents + from Git. + format: int64 + type: integer + helmRepoURLRegex: + description: 'HelmRepoURLRegex Helm credentials will be used if + the helm repo matches this regex + + Credentials will always be used if this is empty or not provided.' + nullable: true + type: string + helmSecretName: + description: HelmSecretName contains the auth secret for a private + Helm repository. + nullable: true + type: string + helmSecretNameForPaths: + description: HelmSecretNameForPaths contains the auth secret for + private Helm repository for each path. + nullable: true + type: string + imageScanCommit: + description: Commit specifies how to commit to the git repo when + a new image is scanned and written back to git repo. + properties: + authorEmail: + description: AuthorEmail gives the email to provide when making + a commit + type: string + authorName: + description: AuthorName gives the name to provide when making + a commit + type: string + messageTemplate: + description: 'MessageTemplate provides a template for the commit + message, + + into which will be interpolated the details of the change + made.' + type: string + type: object + imageScanInterval: + description: ImageScanInterval is the interval of syncing scanned + images and writing back to git repo. + type: string + insecureSkipTLSVerify: + description: InsecureSkipTLSverify will use insecure HTTPS to clone + the repo. + type: boolean + keepResources: + description: KeepResources specifies if the resources created must + be kept after deleting the GitRepo. + type: boolean + ociRegistry: + description: OCIRegistry specifies the OCI registry related parameters + properties: + authSecretName: + description: AuthSecretName contains the auth secret where the + OCI regristry credentials are stored. + nullable: true + type: string + basicHTTP: + description: BasicHTTP uses HTTP connections to the OCI registry + when enabled. + nullable: true + type: boolean + insecureSkipTLS: + description: InsecureSkipTLS allows connections to OCI registry + without certs when enabled. + nullable: true + type: boolean + reference: + description: Reference of the OCI Registry + type: string + type: object + paths: + description: 'Paths is the directories relative to the git repo + root that contain resources to be applied. + + Path globbing is supported, for example ["charts/*"] will match + all folders as a subdirectory of charts/ + + If empty, "/" is the default.' + items: + type: string + nullable: true + type: array + paused: + description: 'Paused, when true, causes changes in Git not to be + propagated down to the clusters but instead to mark + + resources as OutOfSync.' + type: boolean + pollingInterval: + description: PollingInterval is how often to check git for new updates. + nullable: true + type: string + repo: + description: Repo is a URL to a git repo to clone and index. + nullable: true + type: string + revision: + description: Revision A specific commit or tag to operate on. + nullable: true + type: string + serviceAccount: + description: ServiceAccount used in the downstream cluster for deployment. + nullable: true + type: string + targetNamespace: + description: 'Ensure that all resources are created in this namespace + + Any cluster scoped resource will be rejected if this is set + + Additionally this namespace will be created on demand.' + nullable: true + type: string + targets: + description: Targets is a list of targets this repo will deploy + to. + items: + description: GitTarget is a cluster or cluster group to deploy + to. + properties: + clusterGroup: + description: ClusterGroup is the name of a cluster group in + the same namespace as the clusters. + nullable: true + type: string + clusterGroupSelector: + description: ClusterGroupSelector is a label selector to select + cluster groups. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + description: ClusterName is the name of a cluster. + nullable: true + type: string + clusterSelector: + description: ClusterSelector is a label selector to select + clusters. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: 'A label selector requirement is a selector + that contains values, a key, and an operator that + + relates the key and values.' + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: 'operator represents a key''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists and DoesNotExist.' + type: string + values: + description: 'values is an array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If the operator + is Exists or DoesNotExist, + + the values array must be empty. This array is + replaced during a strategic + + merge patch.' + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: 'matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels + + map is equivalent to an element of matchExpressions, + whose key field is "key", the + + operator is "In", and the values array contains only + "value". The requirements are ANDed.' + type: object + type: object + x-kubernetes-map-type: atomic + name: + description: Name is the name of this target. + nullable: true + type: string + type: object + type: array + type: object + status: + properties: + commit: + description: Commit is the Git commit hash from the last git job + run. + type: string + conditions: + description: 'Conditions is a list of Wrangler conditions that describe + the state + + of the GitRepo.' + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + desiredReadyClusters: + description: "DesiredReadyClusters\tis the number of clusters that\ + \ should be ready for bundles of this GitRepo." + type: integer + display: + description: Display contains a human readable summary of the status. + properties: + error: + description: Error is true if a message is present. + type: boolean + message: + description: Message contains the relevant message from the + deployment conditions. + type: string + readyBundleDeployments: + description: 'ReadyBundleDeployments is a string in the form + "%d/%d", that describes the + + number of ready bundledeployments over the total number of + bundledeployments.' + type: string + state: + description: 'State is the state of the GitRepo, e.g. "GitUpdating" + or the maximal + + BundleState according to StateRank.' + type: string + type: object + gitJobStatus: + description: GitJobStatus is the status of the last Git job run, + e.g. "Current" if there was no error. + type: string + lastPollingTriggered: + description: LastPollingTime is the last time the polling check + was triggered + format: date-time + type: string + lastSyncedImageScanTime: + description: LastSyncedImageScanTime is the time of the last image + scan. + format: date-time + type: string + observedGeneration: + description: 'ObservedGeneration is the current generation of the + resource in the cluster. It is copied from k8s + + metadata.Generation. The value is incremented for all changes, + except for changes to .metadata or .status.' + format: int64 + type: integer + readyClusters: + description: 'ReadyClusters is the lowest number of clusters that + are ready over + + all the bundles of this GitRepo.' + type: integer + resourceCounts: + description: ResourceCounts contains the number of resources in + each state over all bundles. + properties: + desiredReady: + description: DesiredReady is the number of resources that should + be ready. + type: integer + missing: + description: Missing is the number of missing resources. + type: integer + modified: + description: Modified is the number of resources that have been + modified. + type: integer + notReady: + description: 'NotReady is the number of not ready resources. + Resources are not + + ready if they do not match any other state.' + type: integer + orphaned: + description: Orphaned is the number of orphaned resources. + type: integer + ready: + description: Ready is the number of ready resources. + type: integer + unknown: + description: Unknown is the number of resources in an unknown + state. + type: integer + waitApplied: + description: WaitApplied is the number of resources that are + waiting to be applied. + type: integer + type: object + resourceErrors: + description: ResourceErrors is a sorted list of errors from the + resources. + items: + type: string + type: array + resources: + description: Resources contains metadata about the resources of + each bundle. + items: + description: GitRepoResource contains metadata about the resources + of a bundle. + properties: + apiVersion: + description: APIVersion is the API version of the resource. + nullable: true + type: string + error: + description: Error is true if any Error in the PerClusterState + is true. + type: boolean + id: + description: ID is the name of the resource, e.g. "namespace1/my-config" + or "backingimagemanagers.storage.io". + nullable: true + type: string + incompleteState: + description: 'IncompleteState is true if a bundle summary + has 10 or more non-ready + + resources or a non-ready resource has more 10 or more non-ready + or + + modified states.' + type: boolean + kind: + description: Kind is the k8s kind of the resource. + nullable: true + type: string + message: + description: Message is the first message from the PerClusterStates. + nullable: true + type: string + name: + description: Name of the resource. + nullable: true + type: string + namespace: + description: Namespace of the resource. + nullable: true + type: string + perClusterState: + description: PerClusterState is a list of states for each + cluster. Derived from the summaries non-ready resources. + items: + description: ResourcePerClusterState is generated for each + non-ready resource of the bundles. + properties: + clusterId: + description: ClusterID is the id of the cluster. + nullable: true + type: string + error: + description: Error is true if the resource is in an + error state, copied from the bundle's summary for + non-ready resources. + type: boolean + message: + description: Message combines the messages from the + bundle's summary. Messages are joined with the delimiter + ';'. + nullable: true + type: string + patch: + description: Patch for modified resources. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + state: + description: State is the state of the resource. + nullable: true + type: string + transitioning: + description: 'Transitioning is true if the resource + is in a transitioning state, + + copied from the bundle''s summary for non-ready resources.' + type: boolean + type: object + nullable: true + type: array + state: + description: State is the state of the resource, e.g. "Unknown", + "WaitApplied", "ErrApplied" or "Ready". + type: string + transitioning: + description: Transitioning is true if any Transitioning in + the PerClusterState is true. + type: boolean + type: + description: Type is the type of the resource, e.g. "apiextensions.k8s.io.customresourcedefinition" + or "configmap". + type: string + type: object + type: array + summary: + description: Summary contains the number of bundle deployments in + each state and a list of non-ready resources. + properties: + desiredReady: + description: 'DesiredReady is the number of bundle deployments + that should be + + ready.' + type: integer + errApplied: + description: 'ErrApplied is the number of bundle deployments + that have been synced + + from the Fleet controller and the downstream cluster, but + with some + + errors when deploying the bundle.' + type: integer + modified: + description: 'Modified is the number of bundle deployments that + have been deployed + + and for which all resources are ready, but where some changes + from the + + Git repository have not yet been synced.' + type: integer + nonReadyResources: + description: 'NonReadyClusters is a list of states, which is + filled for a bundle + + that is not ready.' + items: + description: 'NonReadyResource contains information about + a bundle that is not ready for a + + given state like "ErrApplied". It contains a list of non-ready + or modified + + resources and their states.' + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: 'ModifiedStatus is used to report the status + of a resource that is modified. + + It indicates if the modification was a create, a delete + or a patch.' + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + exist: + description: Exist is true if the resource exists + but is not owned by us. This can happen if a resource + was adopted by another bundle whereas the first + bundle still exists and due to that reports that + it does not own it. + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: 'UID is a type that holds unique ID + values, including UUIDs. Because we + + don''t ONLY use UUIDs, this is an alias to string. Being + a type captures + + intent and helps make sure that UIDs and names + do not get conflated.' + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: 'NotReady is the number of bundle deployments that + have been deployed + + where some resources are not ready.' + type: integer + outOfSync: + description: 'OutOfSync is the number of bundle deployments + that have been synced + + from Fleet controller, but not yet by the downstream agent.' + type: integer + pending: + description: 'Pending is the number of bundle deployments that + are being processed + + by Fleet controller.' + type: integer + ready: + description: 'Ready is the number of bundle deployments that + have been deployed + + where all resources are ready.' + type: integer + waitApplied: + description: 'WaitApplied is the number of bundle deployments + that have been + + synced from Fleet controller and downstream cluster, but are + waiting + + to be deployed.' + type: integer + type: object + updateGeneration: + description: Update generation is the force update generation if + spec.forceSyncGeneration is set + format: int64 + type: integer + webhookCommit: + description: WebhookCommit is the latest Git commit hash received + from a webhook + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.4 + name: imagescans.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: ImageScan + listKind: ImageScanList + plural: imagescans + singular: imagescan + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.image + name: Repository + type: string + - jsonPath: .status.latestTag + name: Latest + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. + + Servers should convert recognized schemas to the latest internal value, + and + + may reject unrecognized values. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. + + Servers may infer this from the endpoint the client submits requests + to. + + Cannot be updated. + + In CamelCase. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: API is taken from https://github.com/fluxcd/image-reflector-controller + properties: + gitrepoName: + description: GitRepo reference name + nullable: true + type: string + image: + description: Image is the name of the image repository + nullable: true + type: string + interval: + description: 'Interval is the length of time to wait between + + scans of the image repository.' + nullable: true + type: string + policy: + description: 'Policy gives the particulars of the policy to be followed + in + + selecting the most recent image' + properties: + alphabetical: + description: Alphabetical set of rules to use for alphabetical + ordering of the tags. + nullable: true + properties: + order: + description: 'Order specifies the sorting order of the tags. + Given the letters of the + + alphabet as tags, ascending order would select Z, and + descending order + + would select A.' + nullable: true + type: string + type: object + semver: + description: 'SemVer gives a semantic version range to check + against the tags + + available.' + nullable: true + properties: + range: + description: 'Range gives a semver range for the image tag; + the highest + + version within the range that''s a tag yields the latest + image.' + nullable: true + type: string + type: object + type: object + secretRef: + description: 'SecretRef can be given the name of a secret containing + + credentials to use for the image registry. The secret should be + + created with `kubectl create secret docker-registry`, or the + + equivalent.' + nullable: true + properties: + name: + default: '' + description: 'Name of the referent. + + This field is effectively required, but due to backwards compatibility + is + + allowed to be empty. Instances of this type with an empty + value here are + + almost certainly wrong. + + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + type: object + x-kubernetes-map-type: atomic + suspend: + description: 'This flag tells the controller to suspend subsequent + image scans. + + It does not apply to already started scans. Defaults to false.' + type: boolean + tagName: + description: TagName is the tag ref that needs to be put in manifest + to replace fields + nullable: true + type: string + required: + - image + - interval + type: object + status: + properties: + canonicalImageName: + description: 'CanonicalName is the name of the image repository + with all the + + implied bits made explicit; e.g., `docker.io/library/alpine` + + rather than `alpine`.' + type: string + conditions: + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + lastScanTime: + description: LastScanTime is the last time image was scanned + format: date-time + type: string + latestDigest: + description: LatestDigest is the digest of latest tag + type: string + latestImage: + description: 'LatestImage gives the first in the list of images + scanned by + + the image repository, when filtered and ordered according to + + the policy.' + type: string + latestTag: + description: Latest tag is the latest tag filtered by the policy + type: string + observedGeneration: + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/fleet-crd/105.0.0+up0.11.0/values.yaml b/charts/fleet-crd/105.0.0+up0.11.0/values.yaml new file mode 100644 index 0000000000..d41d3a2444 --- /dev/null +++ b/charts/fleet-crd/105.0.0+up0.11.0/values.yaml @@ -0,0 +1 @@ +# This file is intentionally empty diff --git a/index.yaml b/index.yaml index 9c08e89326..7b0ea40b6b 100755 --- a/index.yaml +++ b/index.yaml @@ -2342,6 +2342,23 @@ entries: urls: - assets/fleet-crd/fleet-crd-105.0.1+up0.11.1.tgz version: 105.0.1+up0.11.1 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: fleet-crd + apiVersion: v2 + appVersion: 0.11.0 + created: "2024-11-18T16:13:37.606469343-03:00" + description: Fleet CustomResourceDefinitions + digest: 92b1458ba4d2ed0ebec63c9f35553ca10a10df8f1df3a849aea1040ba2915ba8 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-crd + urls: + - assets/fleet-crd/fleet-crd-105.0.0+up0.11.0.tgz + version: 105.0.0+up0.11.0 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true"