From f5da906360c5b557232cce7faaaf683c17cccc29 Mon Sep 17 00:00:00 2001 From: actions Date: Tue, 22 Jun 2021 23:38:18 +0000 Subject: [PATCH] Generated changes --- assets/index.yaml | 23 +- .../k8s-triliovault-operator-2.0.500.tgz | Bin 0 -> 9220 bytes charts/k8s-triliovault-operator/Chart.yaml | 5 +- charts/k8s-triliovault-operator/app-readme.md | 37 +- .../templates/deployment.yaml | 21 +- .../templates/mutating-webhook.yaml | 19 +- .../templates/ns-validating-webhook.yaml | 30 + ...iovault.trilio.io_triliovaultmanagers.yaml | 2345 ++++++----------- .../templates/validating-webhook.yaml | 19 +- charts/k8s-triliovault-operator/values.yaml | 12 +- index.yaml | 23 +- .../k8s-triliovault-operator.sum | 6 +- 12 files changed, 930 insertions(+), 1610 deletions(-) create mode 100644 assets/k8s-triliovault-operator/k8s-triliovault-operator-2.0.500.tgz create mode 100755 charts/k8s-triliovault-operator/templates/ns-validating-webhook.yaml diff --git a/assets/index.yaml b/assets/index.yaml index d6b60222d..d9693ee0c 100644 --- a/assets/index.yaml +++ b/assets/index.yaml @@ -708,6 +708,27 @@ entries: - assets/instana-agent/instana-agent-1.0.2900.tgz version: 1.0.2900 k8s-triliovault-operator: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: TrilioVault for Kubernetes Operator + catalog.cattle.io/release-name: k8s-triliovault-operator + apiVersion: v1 + appVersion: v2.0.5 + created: "2021-06-22T23:38:17.374903848Z" + description: K8s-TrilioVault-Operator is an operator designed to manage the K8s-TrilioVault + Application Lifecycle. + digest: e3272d943f70ec0c442c94920e4093fd0db9d1833711bcb8d23181f10098c000 + home: https://github.com/trilioData/k8s-triliovault-operator + icon: https://www.trilio.io/wp-content/uploads/2021/01/Trilio-2020-logo-RGB-gray-green.png + maintainers: + - email: prafull.ladha@trilio.io + name: prafull11 + name: k8s-triliovault-operator + sources: + - https://github.com/trilioData/k8s-triliovault-operator + urls: + - assets/k8s-triliovault-operator/k8s-triliovault-operator-2.0.500.tgz + version: 2.0.500 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: k8s-triliovault-operator @@ -892,4 +913,4 @@ entries: urls: - assets/universal-crossplane/universal-crossplane-1.2.200100.tgz version: 1.2.200100 -generated: "2021-06-17T21:55:05.469788281Z" +generated: "2021-06-22T23:38:17.373904391Z" diff --git a/assets/k8s-triliovault-operator/k8s-triliovault-operator-2.0.500.tgz b/assets/k8s-triliovault-operator/k8s-triliovault-operator-2.0.500.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ac0b7892272e615305912fcc7e3c648719757914 GIT binary patch literal 9220 zcmV+fB>USRiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKDLciT3yZ+_-qF;Ce&v0IapY$xf}Zg-z+yS=_ioE+Ot&wagp zEkuqatVx0eKsjpS_qV?TfZs(@l$|*3miWPz_+>B{05gNn44~_;ge^JsDO-}*mo|%# z6Uq4SctN;yRwVEr-M5TJqtUa&L;Zg=8dd*~_xGPY8Xu}hp6`#JjvtN2&&K1?BN*Mg z<_;wmlJG~Pd)HNM+#jTnFl3TQ%0e-*09+!8&*qLxr1a6DZ0I7FbVkveKt#9s5K^+>p`h~+J&+6n5|TNBTwwKe3*ab< zeClec!Am+rcjfx%SPQ1OUPu{<$#6KQauH7*mjy%9h!Y~ou(3_lRjj5j-`w0d<}oFf zo5*%qC^3}7IPw|s#BhJKKOT<8L&KQ8KiVJJKASW9;=6C`IVUT7&JjZ=3g=cpXebE{ zk&B6C0|tcp6NosO#lG+O#9NU6omFN580jbX$75?lZwMB17d7cSwtboQp6FWzQO5&v1^-#R4RMIF=B#BrU=zOWLZrku=;wV_OK+G zPhem)|G=`yY^Er$6oHU=cvSeVNd6jAj^0VkX*j=h7wE-44d-X`kY$%o-=Q08XZpvzI7YgIm2pdZ+-Pcf9XGVo$x z0W6Wz*=hna;tR9@FeFnS^Y7QV`j)B-1L+Ir8dvHi^>*Q^%cZ_bj*Y#Vz(9RpFd>Z< z84N6KPhKyPbLyEZpL-JgiA$sYml#Aoktl}eudhxo9r;e)wT=z?f3)uZKYunJ_xk@K z$`woIJ;()-wYC5jM1Yc#L~jpx98N5y4dN-f(g#~R>mnj9e*OMEI2Xo+ch1wRaC-}L zl;C0HvsHkh6kz)>NPPXZm*Dnx@VTY(=P4cL|IZ8bBjm!7(cN6Z4fB70JgUt9{n67= zKmQ-3ynjFZ!a98ykCcvC`IsY-2qddTtyNd>YfOBN zRse}2-5AIE0S$Hiyi|3lh6$LWOJac_Sb#-@LW^KV(f0%pj^NXPN`nf>1r@L}U1{;0 zoL{PEX*dTFp}V_{q!hPhY0+6Gn)GHSp7fc<2Rg~m7dfTB=tfSy&O6EAea&4|;L~Lq zP7n!|a{p$$macBiV8m%CXE6Ayu>UFs6>6s5Z3a!#XET^CP{useof>h~NA-44d)az; zY|+#DrJSL^qzkL_qyti6>*t*GZt?ka3DopPdOv?hlKJ|B>f#5G>{6-~PK}_4e-#rY z>oSW~1~l=i7(cfb>&snB2m9~(v5?3)^YLzQ&?fxna9qKE_Q!`k{{Jw=vTeJBr}HUs z9TLk0;N0HY@87R4 z8E$WFgTHfIjXI0RzQLDCM8D%Kjx?fSLxHqY1h6?~m~`c_MMQ*wI;P1@S345=qlZ2w zALl6bf1e8TAtF*EHa5hOm%ebLFMcGphC&h?&$Fio75#rO9zE^#|3j3!tNw4yP^h&4 z(A@-pwgL6HQOODlVPe(fYKES|XnQ3tg!#mZ|&_`I5SLl zWmbQ(_)5NOVw$PiIzEkd>M;Lv;O>smzzy^N`SbC(>i_K@?DzBkAxd%nlPD7TR6ohO z{mxT7M>*8&={U>*d@@BpG0Y^2T0(#735`-sV4w&VK#XLznkz{Y;r4cr1Oau$$y-(Q zSwFHsP9>RFpGju2eoRE@n$VgF3>uDgH1K7i2}vXFD6&rMa?}Ya!iY6l_9qvQmC7-+ z()trd3%#m}U*h@xT;Hv0I(ARTE>e%B-K05Uc_vIAMct6#k_TK(oV6_E1hBci9ln1L zH1zOYdb3$z0~qA6$^dR}Ck2v{%!@)yYJF3P>=qt2*iIhyg%9v+%p{g6V7ROXrISRh zw=aG^J%3vlZ!T3Mm)ED^vP?9ma&h|I+2z&6e{UpHkX9|Bqmx%>mzQU+&wqaP{ngQx z`f&XE{M)nd8YypQzk^s3NyB-Tg5a`nM&~itF2e?v-X6U?JNX1mEs0OPZP_|MdUbmF z=IHqJld%BZZ# z%7 ze*nq;n*=_5fKVxcP{LO^ku~L9sX9$J%pV}7ghTT}Qp4Iy-KsR!RZQwRs57b?464Zn zEUK1beqd3j`NGL>mHRz`FJ3VZCono3jhfl3TH7{DYbMSs5*692S$67oo5oCma557c z8Glw{e66cX7pgX9lT=GJ9qx~s1%BUYamV$42mGgM3bsapHs*gHj4Jrg{=xoXkN-SG zDd9g}Ky?Ol;uuvR;3-OyfL62~Q5_Yn}`4em#BRU@n>joENurk+c_i9^rF z2^`PA{@P#w#t>%d-1nb#Wz*UX*it1j{=9A=mTEMgZOZKB*j^8YSpYLa{g`9wO@2$L zpNUw#vkVf!v9KIyGx1ZMFkX$2H3jE1x}FS;?BV5De=xEs-Z;KEJ-RwgzI^}YB>l1$ zd8>~<3hLqMY^FhTIA10j6yecUyxEo=Vyd2*P|0PdzF%1N{J21un!#*$eh;NElTT~ zlkB#}XSS%u8kviOK^8Wt7@(37S~o-H_Q~nX)2q`gan-R z7Io17W}$MAouHfYKla!3|LEYL&;NgrQrSwMrYoo(|43oqHTb5Bl9VeoAzw%2*ZALi z{(bJ!VgA>y5Pq(4---d9PB@>uK%Au?f3sZOj*nSB@xAU5<_iv>z%*jSV$IJ zB&PKQHI!L(`zi;En9w_CzK`6VW9VGRQ=G=s_fT&w&yIjtj+_H$WPwRUr7XOn0SZZi zXaZsE=N?eq0IXlkrU?MV^E98tf5T}gksmWZ4#H$*{9l)^&rPt+Q7n$Kh*#RR~ z?lu-r6e->{s!Qly7PW*)etO8Iay$w&^Y5)xbW*J2ve2|gIO^#lnKWy*12-InWE{`S zK2Z|aH}~wy%?i!ANx^FZ612KEL%HC08#-Q)j|P7xgNw~GktcB&UAEif}>(lELiM&YOXJlOW^3Tc}RcDC=0WT z4ndoia?D&$$&mPFMX?7Y^dKNB;Hc_=I4n?0PA7p^j3dx+#!Bbzq-x7$K@f*ju7+Cq z&}l3g7ef!1=nn;*+l0FdD$$iO$03QRtr-u^qzb&pS@%CFa9SDurs$#FD0elk^=U)N zYli<^yy}vY%EjsBRkmi)T~L;}mUjM{$OW$iMZ+0#({VG-0!=XkFiuGOZ(lg$Rs8pr)MJnB7RRz>cFOkdvbV0w!cG>(uTj@;6jgPopWe9$~IG z1qlfv4ipnNNaqVF_JBI*=6RbiwR`dA_lvKA8GZ={(TJ7M^zfzo+YCL<3-2(#GxH2ws@dQita3`u9jd4*r;2Kw&P~uZ}c)xqkn{th{ z&PH8XGvd0hG>=*mT9a-gKQKEPe2Ut)?f6cutJzkHr`B~TrFLFq4!!BvC&F})nkx$$ zb#A9*dUWZjlCF?+q%LF6oM>_uHhU%2a?a#gxCf{2s89y~grPWRQh#;eJ88z?%MGfc zz~Z)oZ94m|zEn*S;he0LIEw2o;lNqDBULS|aANFPsNAtcEPC~95{7kEohb&f&&&4RiM z?YDO(Iz!gfBl>V(b!CoRxx+LS0`1Ny$H*rxdf;iN(=6bL#5r{#Kt4ya3%%>; z?`%*^*?O|1uXG)YsY~63B^@E|^jyuxsdjcNEA{q=yR=O^9N+3AoIba&VGfe&eU0AN zXezz0k(S=q=zWde*XVtXKaj7{k*L8_wt#hhFgRBg$I*^W8Z9b8HXB-0J-~bqs5$VE zlW>kOw#TDU`^cIx9uPTEqx@jMgG`dy(D>x$@n9Dav6hF7Y@5;A%{{cKv+s6he6^JN zH_>t#L|p>E*Fp)6jZ08xu9Ulk03{Gvf;MS@dueROgh5PXuaROJ8}WdJ339E*j?@o9x9a~rWb?jQ{*RdU0?ANin^y}Du z9lNpg>)4uyd(6D|HCjsVYpj*t*XVtX-q+}Tjn>lp8Z{4pG|YT6xlQ7+*MYWH1h|o< z*4q*D?vPR+F|Q?~-hi4evwh~8UstGMO3fHWCPDHA2@F=d2fwipO{TM&W*S*#a)Deu zz9V*PGgbR6{o2xJ>GxUsNhxOOFNiSX(ip<#r2T?+Pzva8t^9tboP9M2lfk0*_2nIJ z+T|tTNc7&6ThpSw3qPPoJP$pHklSYHF__Wh=LRdIJ!yX<*^YViWhS=>T@<4$B?Vp0 zs^4G>v;O;(S@nA5RX*LNb3>1kb=$8o@)fWp@_c2IZF=mo2+_8O3UGWGk9YU`823*_z}!-m-?H zd>l3t7IPqCE3)RagpUbE!1jOy+;v=T3rxV4-~?;|P{6hz1#Amcz}D@p`B9(tQao#B zTWhp+53YMVhE?O}1SC>g;=MA>df?x7wWEY`pM#r~ox~mc&;M zh)LT@mTHRAs=wBCe%~zA@?05Tv&^Fc2G_V6?5*jM!C5%yN;Umu^peiVJRcVND;Vf| zgRT?1&RyKb5xfH^*XiN>T*NI`6Zwl7zLGAC*UnmO|YIgf*n7jfKb4tLi@GD%>2(ZyY@tnm}HFgc=UiaEUK!A`o; zZC-olg>julS$aK`)Xr$+>tD4Z?5bYVwC3^%NWskvx64OVml=GsKwfGo70IbCIs(Dt zFjV!jFoE?tkyL8NoZyqdB*yL6t=7JO-b)=*9U%oU^|4Ax&Lj(yNu;i%NSu}ndR-+; zvo<<#swY8_IVyBd65nSxU9?Z^p*beX4z* zYF|jT*Do2(w>js&dCcfs{H{6o@WTT2jA{YcR2K!YFKLtqtc79CH_Jzps3a=rY}<|i z;x4MwMAxGO+CppOB+Np5Kgq3E>&oUn!X#EjKMsU{lAKhQfhIaQv7?NouZDv%S*ccQ zi@C1ZUxUglF%6K+=@P@-2=9p9-A!ptvZL#m) zLNgBzH5zy=p3KB&9oRyYZf;FC9CV8?!W}{gK%3QxDcgh(9&GzWhmgTGX>Oat1zp#F zcTIV04FL2xkFBLU*#GaB`q%>Q|4wrt?+ofcWa?uZkiTWL3pRoH_e=oXlmywCW&?O% z56E|>S_jYZ&t_yk_>z(z*^ejQrx(!`D6dlgpi z20FC?@3oM62eS2``@P($&ZD#AgIyu??cwtdxddB4=P5A0f#S!2%{ytt&NHo>hUg5F ze+r0vOL)A?vK(rc=55fpSqX0-*&P-yu7)=?zbhnOTn}%GOm%|8*TL@Y(Uh&A@J^$( z3-a0p{=PS;x-oe@l=Q9%?8R~2ki}lhGg&g~K@`g*m3Qk*_FAfcs_gcX=v!0V+ac|} zJEXWbQcR}h9a7wzNhYc9cS><@q^eWj@0Q}eamH7NP;+0UdG3uQH|M{%oei|O!z(% zzR!g3GvQ6?GvWJ8_&yW9&xG$Y;nzx^317=@p9$Y*!uOf*dFeCZ%cakR?=#_BN}mb; zX)@s(Z)xS>YVZEiWf4{zQJOdU37v+lq09W$!tW)R-$4+P_&%l??`yoeek>$%I8Vp1 zq0BfOn>+e@)HBcdjpzp zw-2<4NQpe0!2jL(pD#byyZ_wT`Eg|b$4_7G{EwqQe6jn_-4E%PFL!r$c7A;E>bt8q zr$5o%4?l)+aBaSQ*!dApf9gnNclV!vS!3m$eH~AchbU3lG?X^uw&8jLlCPyZoWsA^bj`179O)iLK3gfrq3_{O)x#ALckATr zrS5&XKtFg}yC^U5^PkycuwXh}J*hMA>ok!)F|o;td_{uwoMASDtG6$7-QX?=U&9;P z*+njDLRuw$pPXRCQQK+5JS1;Dsl3&Ofl2E7$TRgU?|apNm&C||z*CyX0K znuTtuVzLhL$eyNtQCvlhL}|H zgaLJp7ZC{Iq!mD+1`i_)YqBd?Xb4W^=3n}))>*Q%Yq8H$~mF}h?GQc7nUsLRrO*msHd4r zeuk~Ed0KLvto8RSzOje18M^Wx5Q{V+vjry2A`E{|KmB7Jz-vzsF!j}|>XIN%^@Ewq zmGG~dWoRfdXkObfNQ0;A2aRuBAR&?yUkkb&AW7+6mQ+aDorcvepAZL1zg*Z1krpXjb0|ru`d!i#!BiJ!{!88caqePJv$3VF!& zl@}83pB=UgnP%@?v)W;tXrQsI49x<)q6sr|*q8{`_)FY{6q-WlGF61>aA~0WFE!Q( zaGdLTWah{nX3<8svBnAF)TivN8h%Gn)CCFE;OFszaM=n7uCZ8$E81&8E^9+;gd{R9 z>4vgK$eZ&@yWad#zmNo0lb^Jm3gk=lG%-EH*Iz4C(B!lzjYDhQ$5zCI2zkXxDDD=&$L|f^unrFh;_sP`9##LSGSP4)FGOw*Xpy5jl=W;QD(Y9nc60t2peP&{k zm$B=j5VN@MOb{Es*ZUhbJrvST#F8pcIj?n3(%PEuUnqm)QorSqjF+ZIS_Qd2(9_Z^ z$iWqlYcoM?7<@~7(Qxnk@H%8Sbvfdjwau0tO(i8h{jGMzZ6`shhMT5G>hE2kk3`_N zg!&CnoN=D?n3^)%HFZPW61}AQZPY+OLOMfHyV_}$x>}KM`BDpHp!sgl`djJoTp6}& z@XDn$q6N!w{!NR^HZ3(bl;@)~c0tt%$+*&A=1M+Wi0fh`(bG_a;qjV=-UJ3_@JD{k ziJyEesBrl4C(BSp?`_J5y7;IspQK!WC2Zq;ES250Q=e)mF^KdogyB-Hi}aau_6<%K zj9u&SZ}&PzqtWQu;i3LN8jY&|$NPt)N8>~F$n*X2)A6Ix{{FM^^G7iHlnqZyEF|HN zM)$6(+PFVRArVa#4-hY)I@Oiqoa)?f%0lP*D~+!%$5WJKY?*2NHX9Q^m?3do1YE5& z=&WYGQ6TT%Lpq{h&@|{A_3Qu~xV^R4N1a^)b*<#8m{>NrKE+TP9*nke$v1K6DYxu+ z{`J?H@}haXe;dALvF{gnOBqTi76_V*0!7tH%#o9!t#F$jJQ5M*)uj^)OLdyhHf8p5 zT)Yuv9`TG&Kj!#``P5xaK$+W2%<7$GkO_~4jv?VtW`Q}C)u?q6(eF5mqeMB|P^hZ( z4nRIcvWF9MVB}N0aeQ%lbak41`TosG`lS*}EmfDaOqnb}Jv6YQn7}y;vDf>bxOC9} zmC?SX^53lgN6!wQSM~q+u-E?&Qi}S2nQHgTM6cadjc-(!-BhJt*wjLz=x()J1s8h) zgKBkfdpod1gs!S4Vq9h#N`0BY;bEG%B?+ISe50@ahq)|D2{)gT#ZT7%jq~4GpdT2_ z^uBd$n*UD^$L0Ayes(ZE?C1YOl*jPKoL3~oU&NJ*~zJ}oQN~Ma(1YP zWN4n_>|fSn1IrppuYWi{y}10nJ1~v&|K-{7>G|d9$Eah|{2x8vugw3a<7dzM`Tr2* zF}(4Kiwov^$g`a*FR6>6K%g_YLGaL}=G^j#vnACVkb2Mj-=j3n|BKV3lUJus;N8ED zP595#XNT4Kf7tu~4^tk)i?4)Th`iZpPKBjyeKE$Wb3oKuJvl*YhVIJstD!siM%&Zj z1-fjBd0Tlb-*^;^qPr6tp(s0GY@~6Sk^DU{4ynCVLjH# z^Lj%~g380brN5?BZCk%p`Hp&ctC%aQ8*S zTY1})YzruXdZur)ke!xaoPHa6=wp&(VFZ~<3_6J{eciOnwxgKOu}v~r&B;5a$&Z!e zSOg-itJf#5CvfC>5HTV2Mut+WfQF?_QJ;Ix7fYl5CsAZ`Bwm2`wgDUT|NiLd+WPP5 z_-U{IAEG=isafU!<$BYyerz%hKkcMh*cn#5o1Ed3O?3|iorfkH)~IzWRSm^Dj|yqL zFH@W1SifWQQ?xx3%PLu(iDi`y&+{*>Zf2*!=xj1MMSC;Z&fu7?n^Kmg8_Zc8dT{mj zRWd-c(W~$8L8Q?_m@(gHH!wx@*Qeq2#7d{B$6S%ebqaeYhOsCGpoR%$8qSNCe^*AU aFMa7tU;1+I^8W(>0RR8Sdljt!A^`xdJy9|M literal 0 HcmV?d00001 diff --git a/charts/k8s-triliovault-operator/Chart.yaml b/charts/k8s-triliovault-operator/Chart.yaml index 98eb2aae5..fbea0f58e 100755 --- a/charts/k8s-triliovault-operator/Chart.yaml +++ b/charts/k8s-triliovault-operator/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: v2.0.2 +appVersion: v2.0.5 description: K8s-TrilioVault-Operator is an operator designed to manage the K8s-TrilioVault Application Lifecycle. home: https://github.com/trilioData/k8s-triliovault-operator @@ -10,7 +10,8 @@ maintainers: name: k8s-triliovault-operator sources: - https://github.com/trilioData/k8s-triliovault-operator -version: v2.0.200 +version: 2.0.500 annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: k8s-triliovault-operator + catalog.cattle.io/display-name: TrilioVault for Kubernetes Operator diff --git a/charts/k8s-triliovault-operator/app-readme.md b/charts/k8s-triliovault-operator/app-readme.md index 2836184dd..65a2b3495 100755 --- a/charts/k8s-triliovault-operator/app-readme.md +++ b/charts/k8s-triliovault-operator/app-readme.md @@ -1,4 +1,37 @@ # TrilioVault for Kubernetes -[K8s-TrilioVault-Operator](https://trilio.io) is an operator designed to manage the K8s-TrilioVault Application -Lifecycle. +[K8s-TrilioVault-Operator](https://trilio.io) is an operator designed to manage +the K8s-TrilioVault Application Lifecycle. + +This operator is to manage the lifecycle of TrilioVault Backup/Recovery solution. This operator install, updates and manage the TrilioVault application. + +Introduction: + +Prerequisites: + +Kubernetes 1.17+ +Alpha feature gates should be enabled +PV provisioner support +CSI driver should be installed + +Installation: + +To install the chart with the operator name trilio: + +helm install k8s-triliovault-operator triliovault-operator/k8s-triliovault-operator + +# For helm version 3 + +helm install triliovault-operator triliovault-operator/k8s-triliovault-operator + +The command deploys the Triliovault for Kubernetes Operator with the default configuration. + +Uninstall: + +To uninstall/delete the chart trilio : + +# For helm version 3 +helm uninstall k8s-triliovault-operator + +For more information around TVM manager installation, please follow below link: +https://docs.trilio.io/kubernetes/use-triliovault/installing-triliovault diff --git a/charts/k8s-triliovault-operator/templates/deployment.yaml b/charts/k8s-triliovault-operator/templates/deployment.yaml index a57ad1025..c0a850409 100755 --- a/charts/k8s-triliovault-operator/templates/deployment.yaml +++ b/charts/k8s-triliovault-operator/templates/deployment.yaml @@ -29,6 +29,14 @@ spec: env: - name: TVK_ENV value: {{ .Values.tvkEnv }} + - name: REGISTRY + value: {{ .Values.registry }} + - name: ADMISSION_MUTATION_CONFIG + value: {{ template "k8s-triliovault-operator.name" . }}-mutating-webhook-configuration + - name: ADMISSION_VALIDATION_CONFIG + value: {{ template "k8s-triliovault-operator.name" . }}-validating-webhook-configuration + - name: NAMESPACE_VALIDATION_CONFIG + value: {{ template "k8s-triliovault-operator.name" . }}-ns-validating-webhook-configuration volumeMounts: {{- if .Values.tls.enable }} - name: helm-tls-certs @@ -55,16 +63,25 @@ spec: image: {{ .Values.registry }}/{{ index .Values "operator-webhook-init" "repository" }}:{{ .Values.tag }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} env: - - name: MUTATE_CONFIG + - name: ADMISSION_MUTATION_CONFIG value: {{ template "k8s-triliovault-operator.name" . }}-mutating-webhook-configuration - - name: VALIDATE_CONFIG + - name: ADMISSION_VALIDATION_CONFIG value: {{ template "k8s-triliovault-operator.name" . }}-validating-webhook-configuration + - name: NAMESPACE_VALIDATION_CONFIG + value: {{ template "k8s-triliovault-operator.name" . }}-ns-validating-webhook-configuration - name: WEBHOOK_SERVICE value: {{ template "k8s-triliovault-operator.fullname" . }}-webhook-service - name: WEBHOOK_NAMESPACE value: {{ .Release.Namespace }} - name: SECRET_NAME value: {{ template "k8s-triliovault-operator.fullname" . }}-webhook-certs + {{- if .Values.nodeSelector }} + nodeSelector: {{- .Values.nodeSelector | toYaml | nindent 8 }} + {{- end }} + {{- if .Values.affinity }} + affinity: + {{- toYaml .Values.affinity | nindent 8 }} + {{- end }} volumes: {{- if .Values.tls.enable }} - name: helm-tls-certs diff --git a/charts/k8s-triliovault-operator/templates/mutating-webhook.yaml b/charts/k8s-triliovault-operator/templates/mutating-webhook.yaml index 466916239..6a17a0e1e 100755 --- a/charts/k8s-triliovault-operator/templates/mutating-webhook.yaml +++ b/charts/k8s-triliovault-operator/templates/mutating-webhook.yaml @@ -21,21 +21,4 @@ webhooks: - UPDATE resources: - triliovaultmanagers -- clientConfig: - caBundle: Cg== - service: - name: {{ template "k8s-triliovault-operator.fullname" . }}-webhook-service - namespace: {{ .Release.Namespace }} - path: /mutate-triliovault-trilio-io-v1alpha1-triliovaultmanager - failurePolicy: Fail - name: v1alpha1-tvm-mutation.trilio.io - rules: - - apiGroups: - - triliovault.trilio.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - triliovaultmanagers + sideEffects: None diff --git a/charts/k8s-triliovault-operator/templates/ns-validating-webhook.yaml b/charts/k8s-triliovault-operator/templates/ns-validating-webhook.yaml new file mode 100755 index 000000000..a51d3f375 --- /dev/null +++ b/charts/k8s-triliovault-operator/templates/ns-validating-webhook.yaml @@ -0,0 +1,30 @@ +apiVersion: admissionregistration.k8s.io/v1beta1 +kind: ValidatingWebhookConfiguration +metadata: + name: {{ template "k8s-triliovault-operator.name" . }}-ns-validating-webhook-configuration +webhooks: +- clientConfig: + caBundle: Cg== + service: + name: {{ template "k8s-triliovault-operator.fullname" . }}-webhook-service + namespace: {{ .Release.Namespace }} + path: /validate-core-v1-namespace + failurePolicy: Fail + name: v1-tvm-ns-validation.trilio.io + namespaceSelector: + matchExpressions: + - key: trilio-operator-label + operator: In + values: + - {{ .Release.Namespace }} + rules: + - apiGroups: + - "" + apiVersions: + - v1 + operations: + - DELETE + resources: + - namespaces + scope: '*' + sideEffects: None diff --git a/charts/k8s-triliovault-operator/templates/triliovault.trilio.io_triliovaultmanagers.yaml b/charts/k8s-triliovault-operator/templates/triliovault.trilio.io_triliovaultmanagers.yaml index 6e9ae260e..c1e40f2e7 100755 --- a/charts/k8s-triliovault-operator/templates/triliovault.trilio.io_triliovaultmanagers.yaml +++ b/charts/k8s-triliovault-operator/templates/triliovault.trilio.io_triliovaultmanagers.yaml @@ -26,1577 +26,798 @@ spec: kind: TrilioVaultManager listKind: TrilioVaultManagerList plural: triliovaultmanagers + shortNames: + - tvm singular: triliovaultmanager scope: Namespaced subresources: status: {} + validation: + openAPIV3Schema: + description: TrilioVaultManager is the Schema for the triliovaultmanagers API + 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: TrilioVaultManagerSpec defines the desired state of TrilioVaultManager + properties: + affinity: + description: The scheduling constraints on application pods. + 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 + required: + - key + - operator + type: object + type: array + 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 + required: + - key + - operator + type: object + type: array + type: object + 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 + 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 + required: + - key + - operator + type: object + type: array + 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 + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + 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. + 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 + required: + - key + - operator + type: object + type: array + 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 + namespaces: + description: namespaces specifies which namespaces + the labelSelector applies to (matches against); + null or empty list means "this pod's namespace" + items: + type: string + type: array + 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 + 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. + 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 + required: + - key + - operator + type: object + type: array + 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 + namespaces: + description: namespaces specifies which namespaces the + labelSelector applies to (matches against); null or + empty list means "this pod's namespace" + items: + type: string + type: array + 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 + 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. + 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 + required: + - key + - operator + type: object + type: array + 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 + namespaces: + description: namespaces specifies which namespaces + the labelSelector applies to (matches against); + null or empty list means "this pod's namespace" + items: + type: string + type: array + 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 + 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. + 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 + required: + - key + - operator + type: object + type: array + 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 + namespaces: + description: namespaces specifies which namespaces the + labelSelector applies to (matches against); null or + empty list means "this pod's namespace" + items: + type: string + type: array + 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 + type: object + type: object + applicationScope: + description: Scope for the application which will be installed in the + cluster NamespaceScope or ClusterScope + enum: + - Cluster + - Namespaced + type: string + dataJobLimits: + 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: DataJobLimits are the resource limits for all the data + processing jobs. + type: object + deploymentLimits: + 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: DeploymentLimits are the resource limits for all the deployments. + type: object + helmValues: + description: HelmValues holds all the additional fields in the values.yaml + of TVK helm chart. + type: object + helmVersion: + description: 'Deprecated: Helm Version' + properties: + tillerNamespace: + type: string + version: + enum: + - v3 + type: string + required: + - version + type: object + metadataJobLimits: + 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: MetadataJobLimits are the resource limits for all the meta + processing jobs. + type: object + nodeSelector: + additionalProperties: + type: string + description: NodeSelector specifies a map of key-value pairs. For the + pod to be eligible to run on a node, the node must have each of the + indicated key-value pairs as labels. + type: object + resources: + description: 'Deprecated: Resources are the resource requirements for + the containers.' + properties: + 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-compute-resources-container/' + 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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' + type: object + type: object + restoreNamespaces: + description: 'Deprecated: RestoreNamespaces are the namespace where + you want to restore your applications. Restore Namespaces depends + on your k8s RBAC' + items: + type: string + type: array + tolerations: + description: The toleration of application against the specific taints + on the nodes + 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 + type: array + trilioVaultAppVersion: + description: Helm Chart version + type: string + required: + - applicationScope + type: object + status: + description: TrilioVaultManagerStatus defines the observed state of TrilioVaultManager + properties: + conditions: + properties: + lastTransitionTime: + format: date-time + nullable: true + type: string + message: + minLength: 0 + type: string + reason: + enum: + - InstallSuccessful + - UpdateSuccessful + - UninstallSuccessful + - InstallError + - UpdateError + - ReconcileError + - UninstallError + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + enum: + - Initialized + - Deployed + - Updated + - ReleaseFailed + - Irreconcilable + type: string + type: object + deployedRelease: + properties: + manifest: + type: string + name: + type: string + type: object + releaseVersion: + type: string + required: + - conditions + type: object + type: object version: v1 versions: - name: v1 - schema: - openAPIV3Schema: - description: TrilioVaultManager is the Schema for the triliovaultmanagers - API - 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: TrilioVaultManagerSpec defines the desired state of TrilioVaultManager - properties: - affinity: - description: The scheduling constraints on application pods. - 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 - required: - - key - - operator - type: object - type: array - 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 - required: - - key - - operator - type: object - type: array - type: object - 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 - 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 - required: - - key - - operator - type: object - type: array - 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 - required: - - key - - operator - type: object - type: array - type: object - type: array - required: - - nodeSelectorTerms - type: object - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - 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 - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - 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 - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - 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 - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - 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 - type: object - type: object - applicationScope: - description: Scope for the application which will be installed in - the cluster NamespaceScope or ClusterScope - enum: - - Cluster - - Namespaced - type: string - dataJobLimits: - 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: DataJobLimits are the resource limits for all the data - processing jobs. - type: object - deploymentLimits: - 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: DeploymentLimits are the resource limits for all the - deployments. - type: object - helmVersion: - description: Helm Version - properties: - tillerNamespace: - type: string - version: - enum: - - v2 - - v3 - type: string - required: - - version - type: object - metadataJobLimits: - 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: MetadataJobLimits are the resource limits for all the - meta processing jobs. - type: object - nodeSelector: - additionalProperties: - type: string - description: NodeSelector specifies a map of key-value pairs. For - the pod to be eligible to run on a node, the node must have each - of the indicated key-value pairs as labels. - type: object - resources: - description: 'Deprecated: Resources are the resource requirements - for the containers.' - properties: - 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-compute-resources-container/' - 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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - type: object - restoreNamespaces: - description: ResourceNamespaces are the namespace where you want to - restore your applications - items: - type: string - type: array - tolerations: - description: The toleration of application against the specific taints - on the nodes - 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 - type: array - trilioVaultAppVersion: - description: Helm Chart version - type: string - required: - - applicationScope - - helmVersion - type: object - status: - description: TrilioVaultManagerStatus defines the observed state of TrilioVaultManager - properties: - conditions: - properties: - lastTransitionTime: - format: date-time - nullable: true - type: string - message: - minLength: 0 - type: string - reason: - enum: - - InstallSuccessful - - UpdateSuccessful - - UninstallSuccessful - - InstallError - - UpdateError - - ReconcileError - - UninstallError - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - enum: - - Initialized - - Deployed - - ReleaseFailed - - Irreconcilable - type: string - type: object - deployedRelease: - properties: - manifest: - type: string - name: - type: string - type: object - required: - - conditions - type: object - type: object served: true storage: true - - name: v1alpha1 - schema: - openAPIV3Schema: - description: TrilioVaultManager is the Schema for the triliovaultmanagers - API - 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: TrilioVaultManagerSpec defines the desired state of TrilioVaultManager - properties: - affinity: - description: The scheduling constraints on application pods. - 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 - required: - - key - - operator - type: object - type: array - 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 - required: - - key - - operator - type: object - type: array - type: object - 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 - 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 - required: - - key - - operator - type: object - type: array - 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 - required: - - key - - operator - type: object - type: array - type: object - type: array - required: - - nodeSelectorTerms - type: object - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - 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 - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - 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 - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - 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 - 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. - 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 - required: - - key - - operator - type: object - type: array - 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 - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - 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 - type: object - type: object - applicationScope: - description: Scope for the application which will be installed in - the cluster NamespaceScope or ClusterScope - enum: - - Cluster - - Namespaced - type: string - helmVersion: - description: Helm Version - properties: - tillerNamespace: - type: string - version: - enum: - - v2 - - v3 - type: string - required: - - version - type: object - nodeSelector: - additionalProperties: - type: string - description: NodeSelector specifies a map of key-value pairs. For - the pod to be eligible to run on a node, the node must have each - of the indicated key-value pairs as labels. - type: object - resources: - description: Resources is the resource requirements for the containers. - properties: - 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-compute-resources-container/' - 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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - type: object - restoreNamespaces: - description: ResourceNamespaces are the namespace where you want to - restore your applications - items: - type: string - type: array - tolerations: - description: The toleration of application against the specific taints - on the nodes - 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 - type: array - trilioVaultAppVersion: - description: Helm Chart version - type: string - required: - - applicationScope - - helmVersion - type: object - status: - properties: - conditions: - properties: - lastTransitionTime: - format: date-time - type: string - message: - minLength: 0 - type: string - reason: - enum: - - InstallSuccessful - - UpdateSuccessful - - UninstallSuccessful - - InstallError - - UpdateError - - ReconcileError - - UninstallError - type: string - status: - enum: - - "True" - - "False" - - Unknown - type: string - type: - enum: - - Initialized - - Deployed - - ReleaseFailed - - Irreconcilable - type: string - type: object - deployedRelease: - properties: - manifest: - type: string - name: - type: string - type: object - required: - - conditions - type: object - type: object - served: true - storage: false status: acceptedNames: kind: "" diff --git a/charts/k8s-triliovault-operator/templates/validating-webhook.yaml b/charts/k8s-triliovault-operator/templates/validating-webhook.yaml index 41bd41dcc..fe001ffe9 100755 --- a/charts/k8s-triliovault-operator/templates/validating-webhook.yaml +++ b/charts/k8s-triliovault-operator/templates/validating-webhook.yaml @@ -21,21 +21,4 @@ webhooks: - UPDATE resources: - triliovaultmanagers -- clientConfig: - caBundle: Cg== - service: - name: {{ template "k8s-triliovault-operator.fullname" . }}-webhook-service - namespace: {{ .Release.Namespace }} - path: /validate-triliovault-trilio-io-v1alpha1-triliovaultmanager - failurePolicy: Fail - name: v1alpha1-tvm-validation.trilio.io - rules: - - apiGroups: - - triliovault.trilio.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - triliovaultmanagers + sideEffects: None diff --git a/charts/k8s-triliovault-operator/values.yaml b/charts/k8s-triliovault-operator/values.yaml index e8bfb211d..c95368c61 100755 --- a/charts/k8s-triliovault-operator/values.yaml +++ b/charts/k8s-triliovault-operator/values.yaml @@ -7,7 +7,17 @@ operator-webhook-init: k8s-triliovault-operator: repository: k8s-triliovault-operator -tag: "v2.0.2" +tag: "v2.0.5" + +affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/arch + operator: In + values: + - amd64 image: pullPolicy: Always diff --git a/index.yaml b/index.yaml index d6b60222d..d9693ee0c 100644 --- a/index.yaml +++ b/index.yaml @@ -708,6 +708,27 @@ entries: - assets/instana-agent/instana-agent-1.0.2900.tgz version: 1.0.2900 k8s-triliovault-operator: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: TrilioVault for Kubernetes Operator + catalog.cattle.io/release-name: k8s-triliovault-operator + apiVersion: v1 + appVersion: v2.0.5 + created: "2021-06-22T23:38:17.374903848Z" + description: K8s-TrilioVault-Operator is an operator designed to manage the K8s-TrilioVault + Application Lifecycle. + digest: e3272d943f70ec0c442c94920e4093fd0db9d1833711bcb8d23181f10098c000 + home: https://github.com/trilioData/k8s-triliovault-operator + icon: https://www.trilio.io/wp-content/uploads/2021/01/Trilio-2020-logo-RGB-gray-green.png + maintainers: + - email: prafull.ladha@trilio.io + name: prafull11 + name: k8s-triliovault-operator + sources: + - https://github.com/trilioData/k8s-triliovault-operator + urls: + - assets/k8s-triliovault-operator/k8s-triliovault-operator-2.0.500.tgz + version: 2.0.500 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: k8s-triliovault-operator @@ -892,4 +913,4 @@ entries: urls: - assets/universal-crossplane/universal-crossplane-1.2.200100.tgz version: 1.2.200100 -generated: "2021-06-17T21:55:05.469788281Z" +generated: "2021-06-22T23:38:17.373904391Z" diff --git a/sha256sum/k8s-triliovault-operator/k8s-triliovault-operator.sum b/sha256sum/k8s-triliovault-operator/k8s-triliovault-operator.sum index df445b409..8142e2ff1 100644 --- a/sha256sum/k8s-triliovault-operator/k8s-triliovault-operator.sum +++ b/sha256sum/k8s-triliovault-operator/k8s-triliovault-operator.sum @@ -1,3 +1,3 @@ -1d5c6f66fb40f7bb80315fee52701d0edd894d6aef3dd43c5ec60f235f5a3d39 packages/k8s-triliovault-operator/k8s-triliovault-operator.patch -8a89e7b863f71ccfc116453a0d85f8d68fbd3145aafe10de50ac5db93f29353e packages/k8s-triliovault-operator/overlay/app-readme.md -8e03eb473f5a0770d0291c64de7f132851154f29f305d92baefc7921b1a6c4a8 packages/k8s-triliovault-operator/package.yaml +a8379590ac03cc5078555e453a1149cd44185fccceb5877a78774482b2ba4e2d packages/k8s-triliovault-operator/k8s-triliovault-operator.patch +d214cf3839559625dd1fabc3a49218cc3b61caa2785dd730a581e3b781b040ac packages/k8s-triliovault-operator/overlay/app-readme.md +fa0c62747a79a0d6691dc782ad24b6658b02e9e5f57749a36791ef98b1f2019b packages/k8s-triliovault-operator/package.yaml