From 27f29bc7417a822b23a57a517b8cd758598e6a1b Mon Sep 17 00:00:00 2001 From: wombolo Date: Fri, 11 Dec 2020 16:45:08 +0100 Subject: [PATCH] task/DEP-3321: Upgrade OpenDistro to version 1.11.0 --- charts/couchdb-backup-1.0.0.tgz | Bin 1509 -> 1463 bytes charts/database-provisioner-1.0.0.tgz | Bin 1966 -> 1935 bytes charts/generic-0.3.2.tgz | Bin 8790 -> 8318 bytes charts/generic3-0.3.2.tgz | Bin 67697 -> 64128 bytes charts/keycloak-7.5.0.tgz | Bin 41245 -> 36565 bytes charts/kong-0.10.0.tgz | Bin 13262 -> 11895 bytes charts/opendistro-es-1.11.0.tgz | Bin 0 -> 10796 bytes index.yaml | 151 +++--- src/opendistro-es/.helmignore | 0 src/opendistro-es/Chart.yaml | 26 +- src/opendistro-es/README.md | 6 + src/opendistro-es/templates/_helpers.tpl | 26 + .../elasticsearch-serviceaccount.yaml | 15 + .../elasticsearch/es-client-deploy.yaml | 106 ++-- .../elasticsearch/es-client-ingress.yaml | 26 +- .../elasticsearch/es-client-pdb.yaml | 21 +- .../templates/elasticsearch/es-data-pdb.yaml | 21 +- .../templates/elasticsearch/es-data-sts.yaml | 147 ++++-- .../templates/elasticsearch/es-data-svc.yaml | 24 +- .../elasticsearch/es-master-pdb.yaml | 19 +- .../elasticsearch/es-master-sts.yaml | 198 +++++--- .../elasticsearch/es-security-config.yaml | 54 +- .../templates/elasticsearch/es-service.yaml | 28 +- .../templates/elasticsearch/master-svc.yaml | 17 +- .../templates/elasticsearch/role.yaml | 14 + .../templates/elasticsearch/rolebinding.yaml | 16 +- .../templates/kibana/kibana-deployment.yaml | 84 +++- .../templates/kibana/kibana-ingress.yml | 44 +- .../templates/kibana/kibana-service.yaml | 20 +- .../kibana/kibana-serviceaccount.yaml | 14 + src/opendistro-es/templates/kibana/role.yaml | 14 + .../templates/kibana/rolebinding.yaml | 16 +- src/opendistro-es/templates/psp.yml | 18 +- src/opendistro-es/values.yaml | 476 +++++++++++++----- 34 files changed, 1134 insertions(+), 467 deletions(-) create mode 100644 charts/opendistro-es-1.11.0.tgz mode change 100644 => 100755 src/opendistro-es/.helmignore mode change 100644 => 100755 src/opendistro-es/Chart.yaml create mode 100644 src/opendistro-es/README.md mode change 100644 => 100755 src/opendistro-es/templates/_helpers.tpl mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/elasticsearch-serviceaccount.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/es-client-ingress.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/es-client-pdb.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/es-data-pdb.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/es-data-svc.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/es-master-pdb.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/es-service.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/master-svc.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/role.yaml mode change 100644 => 100755 src/opendistro-es/templates/elasticsearch/rolebinding.yaml mode change 100644 => 100755 src/opendistro-es/templates/kibana/kibana-ingress.yml mode change 100644 => 100755 src/opendistro-es/templates/kibana/kibana-service.yaml mode change 100644 => 100755 src/opendistro-es/templates/kibana/kibana-serviceaccount.yaml mode change 100644 => 100755 src/opendistro-es/templates/kibana/role.yaml mode change 100644 => 100755 src/opendistro-es/templates/kibana/rolebinding.yaml mode change 100644 => 100755 src/opendistro-es/templates/psp.yml diff --git a/charts/couchdb-backup-1.0.0.tgz b/charts/couchdb-backup-1.0.0.tgz index b636114e6c3fce17329796d04d8630f17884c855..7e16a8e6b671e43c0718cd2ee8c9b98ab80cc48b 100644 GIT binary patch delta 1421 zcmV;81#9qv^i+jOi} z4?amwnq|Guevln6uG6j^*6VIqegPa?qDYFOC{m%!!Xye>0SPa&wB1XHGVYvk_U!TC zd7ihwyPN-eo>%|(I(uLGiuTT~=j}cN?-6yl6PY$dJ@dX>R)2kRKM6=m&rxYAg%8t? z6QK?jO-=sYg?Gp}gw`h@mI_E_BqxT73G}Sr9K3m!_ZmGGg_D4K>i$#*bj ztr=?5>No&F7Jpu%InH-{P8UkfiHQ7VG{{?Ww;G|E(hw`8msx<@lyD!6%FqE&m`Y8J zRC6CNLBdQzVnsvJt_2eS9VQrM41MsR+3rBo{%kvj3Qaxww2Ef!02ngy!E-yV=cE~9 zCz8={?n9T&$Xx&0VX3zN4f2!`gSve@IPH&Ib7j6?#(#bLf9<`qxBF^y{yz!sT>o)` zEJdYVlYZ|}aL@X8yq*2p`tR?&+Qk1S!D7*F!jy6!G#ZF0Lo-kDHMeF76ZE0kzP@%W zmD9gUiHN`?2sYaT8RzeLdgwY!x)wwjQ-RPZJuAw1>e>MfXst*{#tgVcxnYk7aL z!%_~WsDBiV5I);eLWHotlfP0v%Ho(_L8G-|h9b(}3nhCBi9sM=WW*U`bNDMGjK&lr zAZePb?>Zl`;GWYPE5lAjLx3U4G=i2K;V27G2{fpSNyijfq=6^|MmaSYfstSms^LX2 z&kb^LJhHSlOV%ldFYmLB)$pc${-2BTUq9SX<$uUjQDI_eJlCz~x&iJG84``f$b#*+ z*z`wx=LY{a?u`EzGI*>q;GX!uv%6i-|M&Jfdz<+G6sXq!0Wo3Ho^}E>q~lyto6+}_ z6z^r=a5N+$hS*A>sPz|%8)51C+5uoBK&CAX*g$(b5fn$pEuF1Z%Tg)$YzqWNLWIU| z4S#5i8zm1_M7AoIa?Fw}TF2ifFA>6XBV0s~g)8!5+ zCRwtuFgJQE77L(ponu)6m1~+(0wX}_OQ74s}uEKIv>eUq_YErYQo!YuK%euBc9L4nJ=+Z22&U#1v)A4clL%+s7 zzgM|!iB`3AT}sKcH#qCPJ9sl5^@rz&z5X|GUoXS!Qf_xqu3Z!)V7NB-QmgLA(SP{p z!)Sce|8v|O9zRr}>LtT1s^Ge@s{)7pKMn`qBCEK)xQk`~`23-~P)zUQaxxse@Apn0 z$|+Uy0z-4(YM+hz!`oQCRg%|Tx4Z#4!ub&6_1ukZPEp&C3rcxOV zIzh%@!ejv4=8jZMez%DkF?5QM5|dQgiHMvn5ID(m8hDW^jOi6dFry}c|9`!7VIbHX zq{v5Fl^{h0j0$ue_h2+08L80Of}Z4D3OMhLAfie;?u43l{w&mY+~AXH=g+bsnY8Vr z{M1v?UNI_MKfn9XPSe%1)M>f_xpbPY;i=R7+u4G1qNvO?93J$wQ^s(|r4f>LL8s)! buN65q*kFU79sdLX0RR6Pmj-cj03rYYLUF_F delta 1467 zcmV;s1w{I{3*`%tJbzJB+ddNK*)#bLd*S{=%Uv7?k}%_$KBOVNQl^ASfX+Q-WP2S8 zWXUJV32DlG_8ZwTBu*%F%Ft^k%M6O8)o)kQ?rK-QNc|}AY98@#(xl#vh}8Cs#BAr~ z$Z;H}-E3y9<2dEkX|$R0CLk0NNUB9lH05LH8oN1u54qhai<1~#ShXf= zQXn^M$9Ak=z1A(QQ_24)gr%rnH~>85|IJpb?Ei-c2V4Jt4N6kR&IP0X%!Lk{l9{Sl zxh=RA3t)HQ;C~>vk3b+2sWkn{k1$9Xy0GWKe!T(v=5NmoX)<=fu^YByzI+kKga_^d z$8kuUcaU=cWD)>a#4o?Cs@{8PgEug!;HVLZ<38R;M`Y zNM7{aq#hnn61#9AQ(SNjaGb@ZJxps;RJzv4coq5*b$>aG)$(pt`4a{al@`8S+ayLA3-b0uug z{}pIHukXWz#x5w-5K@MEmf*YCY>OYE3;XrEyNYGlDpv0{Av^#bA((s*M40`~5=6UV z6|6M~Fn^>Rp;}m1kj9B^rc|M}#6wc1!Om+A6UV{6%JUDy+Ml45G(h+UTBh8G_F?vu z#=|rW=`B=iOK8Z0{G-sdE0Jh(WfgM5l(8B7Cnb!A6ayehlC8q7SYI#~kxkG>kXe!f z4}Fp<1SMjG)6_%BQKQNiA5vt20wNI@jj6@}w0{5{Q3Y?jS++69XG6nl@@18v|MuxU zGD?>A>F=2|_ucb1?0#w@Dc2!X|5CNTR2A$2G9(J~sX6YCZSJqO)-Am>JsSV7h4)fr zz!UNRu;m=B-Tz0;ZTx=?TCV>+qW!2oX?Unfqhj4qlec%J;Gcw7v0~IDAev-#L0<09 z=YK1~$V3PLMm%IH;{p?8A7O+1+So8!d+1rH2H#B4z=)4f{YMq5qv}0~%tP8TOfjio ziBM8a#tWVz1}@5njLQUPceSiBtc%#1yM|qiEpV@ecd>Am#ai!C4C&P|L-RS%u#8%i zC->SKTG{G?2)54NF?a*%?4}U9E?T5bo~W^>Izc@U49Rb&}-aq^lcboiCNP zOPCK8@0yB4j>~&%mbb3ZqN-g3Kt3tWFE;1>W%smqF*@sf?v({(Z!Vio>!I{r6Ms~| zcKeszkH_yv!`|TPq}%&3{PjY5P0nVUjg^g@cnsHfpir#yWjH$hJRF_&{ypjp&YrE) zatXglo3fFXWe$4(I_dwAxcn{PQPAGm)w9u%PaefNAM`)#D7}M{57?5y1|(XB#0@$R45J7_mw~I42NI(gX90h z1)LM5ra}hGToO&Ppo^f==N|}Vsl?wnF)rnQc7!aZV=g4VoQ$X5e_G9h^84>WyS>f- zUW0bwoM?@bD^tDZClAvIId~~$fhk=R;@^-lD!XFs!iA}CRhlG1Y6U7n#(!YUga@%n z9w{IH)1+iX(+NUCbhOk@cwi7XjbVWqV&`J#X&2qH#U@f8U`dyuJju zc=bSVHL001vr=6(PG diff --git a/charts/database-provisioner-1.0.0.tgz b/charts/database-provisioner-1.0.0.tgz index 7f7b5c29672197dcea61276d80c5281d2a3d72a0..63c47f56cb41e15b1b3002553381ca5d2d421d6f 100644 GIT binary patch delta 1896 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 I+yKY`0N)&NRR910 literal 8790 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 M|CZJj4FJvn0B7ty8~^|S diff --git a/charts/generic3-0.3.2.tgz b/charts/generic3-0.3.2.tgz index 6c2a98aad88f24330ecbc7e43e72263f976f1bde..85ebcb9847b97316e29665b32e88e6b7fd3037dc 100644 GIT binary patch literal 64128 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 V`?vo7UjP6A|NpS0Ah7@f1pvu+$EN@Q literal 67697 zcmV)(K#RX0iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYcciT47F#i0lbNn5!w0DzqP3q!HTJ_ETUN?4AzfEi(+iiDG z+v7qcB%!7V764^y9Y3G_cW@)Yn?%`)leFSKPh*k5U@!m%GlQAI2t|luf2aL=3@P_! za1#E{s-I4$)7jtMmH&1+o#MZp?tbTgx;roTUiP~C`@P-&>2!N9JH7t_ot0x!@g$5x z`ahjVw^i)iXY#-p|A;8VB6i)tVY`9dF0$wLW%#*H8XQ*Z&lT31T0F0nA_j-M#MK%fkBK z>F({W*Z)&Io8S-)VG?qnCV*VcdQx~Btxa$_#tdKvAo$P0ySMI;&1Gvu(f3hA?DEy-FvG^^PH*BHm9&#q}u)P{c6|H6X@9 z-ApxvF=4z9y1kcP$Ln}q^-?UEKG@sc>8aldLsUaa(FbyV%283!H-SG!{sknEep~mjl-a4nraG#f(oP{``vb= zcWR>o-<=(R1E1q56x)U<$$S{%Xw)w-NwuR&FgTLiwEP?1_Q9TJY8;37zYxa8+~9q-0{GIRN9B0YbsEXvoy3^PlvDgT9X#Q`_=6g27J|b95T{W;4bAMWQEf zG;@=z6i1`iA;gm$ioSSrlI?`iFq_5<(P_F{YQn17Qz!Gh)6$M;F_m}JOC$8GPVBMA z0JMD)ptktlHg(#vj`uqgt4r5l$v~C2zsVk*9ez_-juRXmOd$@%*!MvfYyu%)cf>Xv zU?$#zGZGwPMiZ&*#}h z&51aqJSHLbXMJ#jrikhl>L-+<$e*3*ZwFyWZbVC3%FPSm=>VrP4xVJoj-r?_%mqKt z^AwupA17gGnm8Vw5Pn7xliEUl{ijUfL#@uai!+rsiyf|F=T*G9+o|Bqy)WO*+W>ld zr7Al;$;{1OrU)I0_3kT8DWReKcjU*JW|R#@VIa&f)DOZ&D;nYGwq~$3BR6uaTE5`U z-UzKdK0t$HWbf3J5_%Pqk>cke8MS3&ZTZ0yA8<4zU+4DKkRc0%;z|+*84ka$-+@Eo z%VlOJLWU$z+Srv)hryWhxZiH4B7I-%@|Msc_2K*bv>^@uzPkVF_mx-@zyg%e(1y{N zN?;{)T0p2x@DARBBn}A-Bv((TWQbA3uO{&JYCwY7mG}l;?!Eh3R)WFr3FCrOamct{ z7&*chC~582;QqdCj|U7fWHsf*{$DWw0)=mJ1jA6M)uKl*3_(O9SJg{bn8a|5z~S#O z8WBB0UU`KG~q^zuj{LL-+X1s!Gv>aC8NOfHs2g zEulA%1}G4JNeHSe41%lMtD*TS{#p{A?wIUMe|L9h$?6ws4K=4lR`pB}AAsfCJfnmY zAP1LORdM8pNr1$kZNz=O=#m>Y!dEe*aKgR@n?hU?6Uu%KW+YK;ISf$%CNN6G%q%mF zjh2{z*hf_sEwjCykN}CUS;en##1V~PSi_fXsKzuSdS~yN8CW3YH3jg@Y_p>KxmS7{ zIZMJ&$;xcL1hCPDRa0DTp#g*h7aRpa%l^pB5+`eG35G7}Psomgt6GW`jol{D3g9 z8F6=Ceyb~fk7nm+sESyo(!>9EaPsE#>f-42`O)Ro_ecNHlD#y?e@n?EGlAydq;Jjo zOR%d7FzeGbn#nJL+>Ues_ZrQVP%ltq%@$ik0(2qmZiJeCauOn{mzWfzH(Jn`&~=f` za};0(E|P&dEQF~-B8|yJTj8ZyKfrZZBn+KF#%>7B-fm_}pw_L^-*V9~-P?+i2G;k2 zI;w1}U&%foKGs^I(Y&sdBszid90giP&6!e|RhCMb{Xsl;xnJ+|AGIAPZC&bi55ghS z3iAl$n|B!U6N>rFi^W#ulhEk{=i=bv?bXG_TW330xQMJXfwx{v!qAf(eF{Tw!kj+X zkq2Q`(ff_{@$aYhr02is;avOV^z!J!(0MRO#n?v<_Trj*>1wMr~$Cjmnv7s(5G)O&M^EWa^}tX?fO@)=Y&M zx|O=t$?4(I)!FI!<*TjdLg?~&2u6ql*A+V>i=nSn?{gF)$dGrEzP-N(E&+n`3e;XX zcOHw8FEu#!bLUqt(pcO(Mx16%42Um^$Q_>*P!oXJgAl|VO(bqgAoPT`hZsZho&IsJ z&dua0h}KrOG#>q}lv;J9e@kHS4GdxABRZG-006;<`rw#@37i2AuMvP?h;G0HM+w)S z3S!>cFv0Pe_CA2d(CKYhCwSmLB$4Lo8_4~!tgiYB$k3kf&uoISsSn(nCWG_L8k~!x z^B<32SB#GY*JN}WG?*K~XLn}cLW?A3g@`f4@%^*%@MW0V<_0q;+T>6-qOX;>e|*+t zHJzOv%JZ)RMPd>(ovv`yBuz$^ZK^82Dgpxc_fGAspCAr}{3HR{^W6CnGtA4z znJ+tEO5=ILkn(V`Sg6#FOeaO>U2XILTZRfi)bD@U$@8qI<^L7?|J4|UF`~@l@oHSb z7VZC?{k_8ezqixbS?~W(@!Z|DzW`G_>C2;_Ar6sPwXY_EEdChv!53|{_S;`OrCJo3T*j{Fl( zE|TF8-vYnEg|kQKOSNc4t* z0rH_(){IP$<=v|KJ;W#s7=RS1vltX8voB`g`Cz8(zb6->tk_G$w*SK0XdMrMW=jf6 z%0rcAEZ<=cZg3ci4J=^-QzkaOBn%C{^)${lhLkdvgjRHW%L>(&XhwXoA*8>yWGDKs znvbxJYf2CWCeOGtd~>fKfMiT@#D~E7J9GceoB}-6^m6mA{zqX(S_3WCk#>z1gDeMI zPaRb%gaZ`L9dKFBsqdFfdiA$EX9k`FxPbM(Y|!K_9#}PP!W{BROYIv`u|sr1MK! zwQ$<0QHhk`E)AFhY#dgV5hEmX9P@ehk#*bqL3)X*k z=VfvIzufD-T(AG9cna%Zo_u)aQ;(D#d}w}P&pc6Cib3W855{o~pbUsUuoLo5O<65B zWrej=-Y=OQv_q}#iOrm9=_I*Ofd}Qdkn6ho%^bQH&U>Di`gza9&t(jXG+Q_lAA9M2 z5>FNXSDv1$69DJ)|DD}VuUnM=dN23a{QoH)#fQ)z>9Vq;>wu%@f>UBV1IYbxd)gf! z4l^D^N%a57;GrDo)8I9t#28V`;iypLLfN%tDHbEY;0tZ>CbNXhM-8~b>$##*sg$n$ zI~iQ+&T0CjNQfuzeO&?9E?_xi@;prGIb;u?d2%CTp5`NDp2fs3^$e7vc?$8GIc3E{ z&JO3yo~mHaJcfTHn4;h?p*R{{s3FAB=y(*7^!1SpO0vUK%;PFbrM@!7?~=e`^&H*C z6ftHws1*T8?;RM&RbK%hF``g<;~YoTB~(anC2#?Lsc{nzCou`hXeRw;oV*X(m@pad z=M+XQ@BItv0<&~HSH2|9N5tlV;o|7L7SE?eGhr$or3y_G zTKS2fnt7;Ip=-rZR^nULri{5QwrBx-Isz>2eHui)kPJ(aAS!M=va}uKRcyzO(9&zQ z*jmONEF~&?^89b)$F*aShU=RUoN@?x_T&&#KAmj?puEMw;4}(nwvVfYUM0^izx124 z<_2u}Q7l=}6h=WQgjY)j_2e!QTjxfwX`=c1$k!gux@187Yed^4AE`?HuGj4r#hom6 zOZ1xj2Trn%>rl5;=w?>O_e;|v+cg}8!xj4@ypk)+s$>fSgtZwwzhK>rK^T4A7WciD!W{TrV0c6ml&XYPwQcS zR}$)TU`ipVpU+rVviOPxE@LpQ#m)VA*@eyh_=4oJL|C1fHv>Lh>Md9)f5INu%$HS4 zdwBuFiqxtRGNf&wLMwB%PFAgul>`&Jp-SPTrt4+HM3o+p2E{2yqGE9+J#1a0**4gc zTm|%B)j_D!n(po-go?4Z_*AXXk#lrv(C@P5VTRe#KAsm?NHEa+!&r)(7q#7aN<+lT z^zb=Go~11jXKz$QK|@$ljC-GYAnxt%^lAsYf$glSi7{biBCXT}(Oe0y&@BYurh3H! zed2+7#6taHKBE*JXvQQP>LCK)Q|cfUHv4-0!^-RM7~P{NntXV@BWrPiNLzV?@rmji zS*IQ=Pgvx6B0b|%9gt5&zj*qw{iO7Yic$acDE4Sw;)>`mqrv(?z z-_{y%k@jm1czF$Y?m1zeRj9mLbxb06jz2dOV6hkakV%$tA!CR$o$K}i{H!M4rYWYn zYK^eJd>qb$@K>FG5dOMqT41?OSRD{+vLX5|xWRm!L!*@0H|L`Owk!+8ZY`%=OsHVs zF&54tlkQJNZ#?K5}>G zh+)h1w=tjw{t)xHuc4QfanU^5K&es!GcHptR{2k^@|>mGj#n_(ec5Te4So2nCGUim zWeyc=+zYCq$`TcfzQI@)({k1fYi0J%;+Pk0#5ULpF`yDVeHqOh_wXjOZ!wwCB<8b2 ztg{`KA=HsHe|=5WU^L+rj~K9pQpJ+_>OV;T9^A7!XK{Ct-{mT>mcZjtCH%^}g&K9Q zf#2dn0b;TEU|o<=etlA^>OG3Ml2_IB7ez{BS70=m)aA`RpW9tMb=+{7v&sj_laCdzR#kPkm z_k#LiU!s>xA%AJJ0WTQ?yj1*eNdRi5%GJdD zevo+I{Ty~hfvP&pw@HZavgRqvKGn++{b6y!`9sM16Q0`G;JHUV8=nxZ^0DHA7~ke+iVI?USJ%n;J)CobI_C(n`SIa$J_BWcfqGwo<@^LH zRKOa$@xrj;Ii{`o;lxXuSDFS*)*UBRvHkpuim>68h78Z=>JN+*UKAz#un6G~uu(J& z4gSDk!H*3Iu03CQfVr@F7;yERULeTShyE@T_WQv?ejgp~TXL~qD$IATdwrD=t9TqY zC#?5DA-y#&^$!o_t#`hx_S}9*bm*KYxq7edr9HM6xzDdU9Pja=cys(RKU3n*bCsXx zCf~$G{?i-33JGa>*ZBGcSm!KWJEET+h33rgKSA#*#{c229lg&*3CQc`OE?HW$~kzx zWAGxU;7W(!+U2|AaM-8P%^$6{*4Q(aQqIfHzK?eFU0?!g0!Qqh;v@5s)2{$oioY) zI@DZU$Z72iUu%pXMPsZ+=gQXM(qo{!q&=@jDtCWbM`3l*zKzKWgIL#k>z`F`tv#V? z8i?|+D4`~yD+`y{g7A=s1)M%S@S_pFbNufg5n%cdxBaEiy~T{~S%_4cw?}g}KMX`98KUOZTG68GLR`?_)8n zkL9fm?5pXA-gWNc$Q$N zAL`!mj7fej!M|xImoci`-}k}${0-*wsuZs-uW78#x-qY{syfBy(jDPrPtf)AL7yuA zPbmH`i8u`1m;^3NIAJ~v5q;=Ju!#TfclPr9zt?%Wx3}j1Pw`~R;Paf(&xaw7Qk%jH z@I1;~605I>e^J^b%*?^js6FlFZi@ddonvPtI7nyMUn+Bi?D8d~Bim)5GQo!Upy-y% zF=35@X?`h+O>lHxmA%5A023UU((rb1X?SZ&BTlhzhQl?Xo)K#7Xvw zOBx+a5rrf41IHo$FO=yO>d;8CGM*nNDRq`cV}d4x&Q^qp0+ybVeHuDf1^>sBEg|L=A7it_*7PIsOE=SiM|IbRRGZGpPGbHNr<3{0}R{wshZKTLue=HeD>oe|1y zmm~e!L$@5!NNfR=t6Dbq6JH~l38g*l<~EOGh2=-xEWFp^Ps97&?2X1ByqB4QppSs_ zPX{%vz4Q;%9bL zN6u~U)7Ycd&xd;|_y6>;&0U50Z=wFT^RidW|F_@UU+@1<@hm!r{ZK}~;^AuwLg%xR z)+@n}HviTh;HW)-Y-|`j2QIobTlY19K>%DgBCZepF#@$3H+KlhwI}FABoV z2yw}nS-;&5LT^OKC`6u5CRV1Bd`1;7#8GnV!AY>c3*1vs{BC502?@YIZ)-jye@wua zp8Oy9*T1A|jL<{EsXWiO3OVw~21g?xs{u-9PLWE+lXFLKob?AXshJea(lN(H^}{CB@swEuTr zcGv6wDIOh5HsY3D*~(qq^*Wh7rywX!aCBhO1eeV>D#LuybaO_6!*ptWBWG463vrt8 zkT@7P)yACa>J?Q#rv2ZhU&(-+Bd!Aeq#2~uh#PKd|NXIN?D|>dQ^o(Mt26z}XOaB3 z-`Oq5f4jZ?wfy%aPpyw=G*pIq9qm~y2c8w2MjvjHPq`xWeZ<&15+GwzK1VS4iDHi4 z!AL64K8&HCWoBobP|0z-@33rjXc%H;z7eZ`xj07E*?Gk+a+LjL&yn+bIt*Z=O$+Wz+>Pa_}k>cuWS#LJxF zFXO>cOFH$B1vGn6$6l-|#e~wxl&fLaMWi9C<1-;1!7kG zR?2s)0W&*ySH1k|Gn&X*ZTjHJcV55YUr=hpduxxm-Bl;6CrTF#}$R99YW&rqb&{|&> z`ql-=OH*&6Td(_G(%xxNjvX%_PJ zZJ6uZFjq~@^=+8oPpYj|qw^HEVdn8z--QX*8sqvd%=KNEkGSA$edpu)&d1dVHO>3D zzVq>Ozw>c@@8J60!4+(&>w5>+_YQu@dk6pWH}x%`+4`QorS9o7Z=UX&zBK;F8>4W7 zM-icDRj|#oDF4&mZZZG!PIn#u^EA&UID?!c8Zp2LP~#77#wY@V1c!l4s0;mTI6}27;qmT?#cnXe2+km1Fay&)yc*=SYqd-82&`6~KejZaa#J4C= z%ja(|JRp=dKq6UHASHMm2yukGjh1(Kadp87MFPlcGMSJF{P_9;1emgomN&w@t^QG+ z*l2l!|I)VlCw(;@wdH@)7i=1}Er0{)Unemb;t;Wo))yYTiN!wycrE_n6Y=YRMfo2g z#Ux?i`0z-y9#ir=^7%%~!vTVAU6_*JKlKRqbp4+n9UQ(p@+QIR+nB%pyL)@R;{7kZ z-tKz+Kgsh(kN-yNm3}r_2SC3C-=T1#BJ04AP#}e-FceH7I}Zj2u?$^P*NG%de3kX4 zI~%Qy*5)R-eEap``PbsdZ@>Mf61i^yvE3MeU@~)cd>BAu*fx_AxUSfwSqy#jN*8b= z2HYWN3+Cc-;*u$%I6$sgvNBv1xb9Tn!P4=%-mYv_G%j&DjyNSj;tOoWE6LAP4>1D} z=%%es2Ph87tk7pz-RB)IZRm_5ivCD2!!p(UM$5J9cfBwF3B)^D3k)fl0E6|8*ZHUT zboL{NDVbvN5>dl+0geD4BalP^qM^hKM?(r3r-{!K!PL^OrlTb)$m?ljmq|)@@m}>* zvS9JkjDysGf6E5uxBl`2n3Dc-j2JRUUrdvf0T|hY1Vr`BB9k8`j3a9LY>ebe+)Jps zS4)BiKc7JgCx|1;eto`~{dghde+fRsj57%*PQL;^h8*}X0t1wSMF9vBswgYFXWH3l z{R@2Y#U+lv_@WQq3b|bLU3c8fgWn`!L}S0{f%qZ9^+S=EkL>`3h$C6Rrn{!r1Vy}Z z2z0fqMt;I)l+XhKh9nHhjl@N0FU%rLO4vb|qY@d)&xTp(IU`g#K1P_P12a_;uxk80 z_#Vx`dmtl;--AP4M*OAXspK_D8?E=Qc+`K*Ke@l;F98n@heCN4K*>Ptx8Oba?e6|J z@E!nFz_@0;mz@%yfBrT9xnQ(-4+eyUqTmpQg4%Z3%rvm5SW|HFNaj6YTu!g|;5Vn+ zd+Bw&j@NZch2;{o3r9FC71HNNIFh~H+uiAvis&P;T(jvxn5F-gF|f@Bi@L_uFk5Y; zCxNB1^5AT4&ldMxcYI!n+Ef0NUfo`&s*aRgbA8dbVmp`KsOG8wz1%}rf3ndi?NB>pwxo;6`E8sJ!!X3%OnP40Rc`N*lP z+GqlnPPdvMWvnYrAnSC7_R8(N!POX-$Cz;#1&{_cJ-o$?<7gx;IgPMMEj;!8EC&wO z7OnE`sKuh>tx*rQ5D}WAh*Kz62)v(L))-gj7RtOh>UIlb1Uj7}DrCs|o{aq1A_%96 zMURq8at^EG;R)eq6fqRpE4<_xUE6f#Bt5@K)nQ2O7*?Nm)HhJRH_&r@M7cYG5gZ{I zVGI2Ua{Vz3LlljWE7pKh*mEM*vA4PAU}a5LO2Yx71+bJP9PRBa3s}pRE@mt#!L)7` zTm<(z6;}mRQ^XG;V+Ek{m}NO|JY=q*Kmn4Nfr|i5NF=6~;QH5)BPy@7(lg@$;MAFx z`IN^}L3MpXi(P&!WEn5*4oEO_1p_WXf4TSWF~AuMU5Wxske}C`1uX3?q<$9#@USZ=5GAS@2M&s``s^5$q6t(gJcBm@5LuXDWO*(838Hggk+?T zqvZ!re8AC=d~Lw!6Adw!0I~DVb zar-)eLju45CA$A5viqg}zLM;@@^}VL^o8TS11xXwd7yz+4#Y;cLDB@QW zczY#Q?UfXpUhcj78i)!o_&s49Z~{1F9Q_jIh*<4}V7x^PZDEKZoA0n-h$))<7Dq4) zXWM`Y%!R%lk;ql$)11~4qcH-9zr$!mG}XQQ2tRUcO+|+I)mR2wn4_legie@$PE_Oz)78wK)?%?_J}b!$8{sQy3SnP^O+cu!zFDuq zj3mZVgaR;uQ6gqswxFFNH(SW$BNCtso&KvbJb)mYSfPa`AcryO>V24ztQEmbE)VW&X;ArOP_m2?^xY$5xke=`N~mNEN}ewZm9U zM6$5pgLH}7tR(d`DJ3XbSaiOEkju)kxYUw%nTkvf3v4s?d;z!_3rGb+x)gUG z+Fy5Q?A0?k3DbU9CjS4BM4k;K4CT%rezxlU`rP{Q;!{8FEj{V^?~h047ssb37a!mR zcv1fE{ch3!qqn!$Tc7_v#j}|m>c~?mptHNOjTYEwy&lVGsf%PXfpn%0$2=$K z22pc#$pEBC%Gd+wUkg#o^~ofL91lX|sROA^(D8P>-bTv>2Z31FL>&Zi0%C#{KZ6l4 zCegZEhkpC*H??X3$XQSOKyIzdkt*|p)2qAOW`LPI?9yUFy2MrBK-!A_EZxiWZr;zz zWc})jHo!Rw5+9`kQl@6WC;%azV9r3U3l+EP_;Jz)`@0kKdx9o}&ibIYxBpJPQ-Jan zdV8Hxjc%v6`%dEtGE_SP)z>5pVayPKh>sCWf;zA+~4iZk755-PZ)sHV+u|Xvh zM0H0#*2aE4jclcDEa3lp-Tl3y|KHy3-kSeE#j}~7%Ucqe@sdp){-kS+kmuYX zp%chC3Z!HwOB^CU6nuXQDOL^zoJi3PGKK=RLT4nQsT;0x5U|zJKIn>9wxrnya0WM8 z#WNcHdZSg)eycdM_#cdwPjGC-iL1LA(5+bTpct8-1q)?4Lp(OFEh%p)R}2^VV*(tG z7zg4%j^XUpu}D^yj1+!V*@X?LEFjO?d=fv~NVBa=G8xZk-SGl_G9PIHEk#0R{mvTQ z{9Ai~qqg!n$zif(0%e1Nxr$SH--9ae0#!oVg+OXCQ!f*SsKodxOS7Eog@Fra&{cnz zI;wI=?CtLKRJV1Mz4W7&ATkSK9~2I}H?m9ibVt-#ceb|{&%FD<8Trgr#d1Cr+U@2b z2(Z{NU}$tpE6eUit8g@`$!%QVNsOXt9J$Jvs*up}Wk~6|a7eKa+xde19q%h|Hyw$D zVm=dXpj)daFopvhVvbQRmwO;H)t($(UL731J3cX)U#%>**DxX;nZ{{W*vhyv(*;r5 zoyJktL@_2z<8DXCRYh$YfB~Ai5#laSYG4Lv+Kv!!=L!^IYRc;a`4C7W%r|>+N*9`+by95+nBpG2ZR#QFYa@x&fLBUC< z%MH9osFbtRq}WiG3TU%WAE3n3S&y%S0h6I7u1{owpiC&jTChgaf6Y6M0;b$@3ha<9=$)>R;76(3P<_<%Wm z67S_fSbE7N4C68M&=`7H3c`$q`kQqmWzR6{gsWewZJqaND05DG`@p#-(MWUU#Yc{P zppF@<0Go5)d>MhOIl;dEl9f-f`*tsD>r|Z7_klcOpI;?^3f~9%;5}VcsmFzi6%t## ziFeh(L!00y1QI6g>)EZ*9qcp@#OF`^?scz2R%&Vb` zt8BFFlL|BJmT9yPe*RU8VMa`oMLxFByMEFq)&HckIz@8!dm-_!SJ%d(_^+Ma(*6HC zd+YnZpX3QpjG_QVzLE!xC?w51MY%$rmiF6i#WuYG<`JA=>Fc8Z7B!~kdZ=#4+xNP? zjaGn1NJ#x`410U~{mz%&&Tzl?)!?hW&dc4-0Djr)4T3LwFFWYV!C*J=_x5|cyI&2u zd)>X=!OPC@D>y{MUU$#m>-k>}zuIWYNej74wEyhx?C-AE|5H4R*1u08rO4`c<}5q6(w+a+ zYuzcb3}-RVSTE3z`DFHAIY4bW$ZdHPv@$NR==`sTgnM3m}Km-lpRf zwYME$IP#Hz#pId0ww7uC3APQ!kd1|kB%{@~0YmycjSdiSCVaDl9?hi%#b8B<6rJ(es zO)FQU4<l9SVvm#ekQ;fS?GC)MGAY|3;_SHq+rrsp6C?5i>2 zaHKxw@M*ZKZ0ZCCC~yUeE{p<~A{HZ`<0;Zbhd4xTh@)$Tg*l{Qv(yz{9LJLQHukkEHptZ592%khI@Evz=|96?)xoxAW%u zfcUJPFht!^f&TQk)j2n&cnUdk z&4g>4-fqhNHeNnr%3mnISx&_A=2-S4?ey`_}B^k-9l+WUYSQeYPz@vVl zF#&UNLkdpGH$lRBt#ei|#JP}MTl$EmUp)2_B5MezNP9r^WbGeV>SKi>jw2L;v?Jne zOagtTA-iha*F=E{lRAYXalGs(K_DA0RYyBUW*RX*Tsbr)aSB5--|c)83dUIM0_vEY z!-#|9LwU|E8xvq$4JUPvIzG%X@z-X4sf-HRZCdrn=B_AAJ>&E_bFm8} z%1xVbRWt2PtFnCa!gMcx`A*pxPP=SW+#Iu~I7I#;81+)$rBZmy5*ayrIi`q>Nf@XZ ztLAq?k@bGBRl3OL17X&E0A_x|IGMc75l*Np=F52=bM;B?{JDuS&k256vDzn-IFZau z8@Jkd*9;?Brd|yCciwv*r*Bj5hDyvYv~(0x5+lm7oX5uP$uR1=N_-Y0%h^;5g~w;w zr%aVT%ds)76RMZ;U2%t%dxef#R7!Hn+1?Tud;>!voGB5|L^q~Fo z-cmxO8zFu}=rxW;=3RSJz;p#hf+6R37Sl(AhuL0aAG4PRpEKoE1Yk4+Fk|MH0~WX$ zV}A@La3;1=eOzgTVI3`&FlkRPK&22-B#uoFne$YKkpdEhvlY|Fz;;6d19zZNunA>* zn5iWMKnMpYw0>IHAD?N3B^OL*Wz5qP?HL1yMCd_4?AxBuSF{?UUiVFEJ(VM()za8& zDah8YMI$$38MXi*II+tCHYQ0J$lQ5KqA~oopb{u}mtzEU#R&;eD31iA`h-&CYaLnnyeeW@+nw%+&R<~k85x+W#cGxC4n;W9)(jG91O&g` z*2N@50VJ0B1|yY3kf~ISVwNhNqaZvlq6h-SIF6L`AsT<-Wx6m7LvnMZW1TgZ*J6zL zQf`h&;-^v~V;=Z_LZlP~Q~eigApNdXz}z=U$LB=Lu^BSjOY!959pwJ_tv&J5PiG`3 zel^~o2fiF-(F_qd~0Au`yk|eeydEg4k4Mj3IFMFHYFwJHNTscd$-*_z6DMnVMDWZd7g@mCp zRKanI1xG&el1L~cI7A~!8lXD>e*RUmv~y$M5Neae0chv-R?(Tg!jdv%vhQ*`7g7yP zq67AWj4RM@#C|YiJ`YpNj9eKdtBD{&x>h&A4>_+*T@?(FSg1U6Dph+k;+{_^@)()G zTd|C_DLY;I3Ii>eq?dY>s%Z&DU&`flg^J{)_MsY^N~>%S$;fJ|JRcC5lsn()7p;Pt zo+=&Pj_Z#hg}y8w#$y;I6PY1b2e#w<%Cm4V%dcd>Zfr1C#CG`@x$2NOy|&FIkvqhc zahE2M*xll^ZEC$}ZKkDlfQQPRs(W&cW;&>eB2F=y zqCj!xb8SZxRg_UM55_?F9?jIo{Z6q#Z5V(|r5cxpH3S2}>MS?pETqaF+i!80F%yBM z&SDrq4%OIYH$>yl0-o%&bQUdSO(>-lISc3!<10n z&L3*E)Eem9qQ8!INpmaMeBgCX!c6Tzrb>t-l-1i-O20};(9g^VI+(_3(<0T(##40ukWrg z?i8wuo|>IW=<$q1<|O8|DP!ia&|E{rQ8>$tJ_AupaJ^`xY%)6XeG>DT=B`x-G-ZRh zLSa(@77UXNT_Z5K23^xV-MqoDuj6LEefz`3cZc8DzYgBMZP}AWuOe&Ch|O9lE0Q%> zx=b^RPpU+bsgUi^O$02glmY8*Hm%cnv@^C}5 zpeFpCMuNGhsr$sU&x|qdry;e6!k4ItSQJ zH89gg)y&$|cZ?gPjfl}o^*<+FEiQ^UoyjCCj`e*2wIHH@yT1KPjf)>*Wl%7yOl8mb z#rZ9O9R2o-1KxuXMKL)2-g%hmxPon;kU%J0Dz?nT0A@+Iv{?f{#_&jr%S&!LIVr2H zz)1cgB&_zPl(Tf}tA#9vgR2u*t3&Ppap(>a7?4!SJr2xCb_f-m}%Gg>eftPD(KZ!yS6rL z$}EO55nf)|l^G3C03hEMV?0bkbsL-NLV$-uL@mz*%Tq*8>R4w(P+sY5eU#U7ZPotiB&}+1kQd`_A@O%rrt)L7Ay4q%#M>yG=ZzMQj~{6 zdq)D}9$7LR*zS}n{lfpTU;WFfqt6i>*Qu)JINN%GX;p}UU?$WsKf7*89Ss+A&d{7-%jYW1BhgSc@PM^DoLk%JRFY1FY z-{6#Ul}0VyolTKOd_*BtwT?Ee4Hu}Z1K;LZgnV~&8&kwsLFdyM$`}_4|7f;tSfw7L zb0Xb;bSXjsi4N7(NrN=yfL5#K=_3gz6vI#kjBv45TMyXhx}czZJuEefU9 zykIs7f<`U%n%6nE!e7j#VHA;+Giou-i%E<<_Lh= z*rZtWt7HNpmcnjzNl#hJNozT&p`4_TF7%m~9FM%p`zhGG6?&^Qc`K8ZF>qH| zj^8%06hGXGdSMP3AE6P0Z#Agt*K7OR+Wz*5+20h?Jx7^` z(<;t4$}KEw+gp__>@zxQ$#2pD$WFT?&6IMq{J~fTuu@E~lhN1qm9>3kZC_d2SJw8G zr?jsqU3h}{7$poG-O4CF3fkZu;uQPJnMwUw5smrS7)7MpQ!*?Z^+DI$^LBEPfJ$Or zN6|HmqEm}Nj~*}tegZd@&4MgvZR%2&Om%s=^Ar)RQ1F!wdO$O;F5r)mf9+nQnM``{ zJ(_J#W~V|O`5sBN)~b>s=oe8@P5*$0y-M2w~PF&U`RGBt&v5ZBZF#`X!m8AJYz zr5fRkB-&3Mye1T#UVxu1Hg&A;TN3}$L6m`1py?(L18O$o zT*K+Ld2&2g*<{5#x0~VceKJ7cNf0rsgsH~Oo^E7~tV&;Im3Ffi#)6>i1{t#FNr<$A zvlhi#sbs4R$Cv>m{*nw==J7JY65D{09BbIlF8Gonf=c`%WG(MpCu1NKcrwRag>Kbo zO>HVg*03^(bh?|yxqj8Iw#=wpkb$iAl}Xpy>Yk0Sj9#!*0HID&1Z4hZO$l9S8^o&H zFo3a6?riSF5DPoo>fXU?p-NCW7&2^^Laaj%sEHHN>7Qj{oR}~^qKN$wrbi=2oXACo z$js6LSLm!;Nl@~JQ!;DP&lSIZsFJ$UsBbS#iV zp`rIC)*EfZw%&-TJ4IC5H|2%2);Cz>@M#rw7ggV=X6ADHyE`E8-BQhDm)_ssJK+9a z2A}8Pha*uN)4V`3au&>)2KDpcp%Vc!6Zu65m?ZvK8?N%ebF<@p z{u_8`i>91njq2;)rRXbUy)?y@!pEzdUf-kH(G>euAec433aFasq~~hnk*J4)Dn{7G#(E6Jt|j{{6H9)$F}7Q(8fKN(QY$JUWE|{)362tO z>^W8}T)jlRjIpk8)?9Oz`~yo3OK)>ron=rRP4wn*F79p@cXz*7aJaa;Yw!dM7k77e zcMB3A1b6oU!5xBIkmddFZf(_moSyEUo|>vYb55VUMEl|yWO zF6)bnTR2tpcjlrIrso+X$ix}4*kS9(TyH_8K0(x^1rlY-7}(Y=r`KdG4vQTr5W4zq zHg7)4`q~Pi>;}nR>3B;`V@Bu3gLZHC=2SA?;D@?eQSzK`1_m2k)}Q-yM@HBp`!bn- zBY?V-)GoO_%~8;mfpgpZ-x>W3_$)~F%;d08t*w`$)U3>1g_t64B?o^+$)s&c&~9c2 zzY)%UMB;JSt3#aq%??7~%%A=1*<6*R?DCn>@Hi+bb|aHCw^O#D)erEh(Yz*P>NmZpW zAs~||pPA&+3LzqN6iZCtEs5Gaqil2T`B}DMJ`8;J!1IlN9Pt`TVHDxg<$k0YSBCM? zq`#ON(aeV~#_hl>U9aTmHPxpsgtGC%@QwsNkD}r$A9{= zLi+Y{jns@OYtXunru$6wNbC--{l+vI!MLKu=A~v02AE%jD>q#XtUO(LFdbK9GGedR z2(`T33@5DdyN_#KiSvv$b2XU%oLI&Gea|szzq9)w$$`x-AOM?S~IaW%>@|f_kjY65lFBozP!ZTB)NWpLulI*QV6f4^HKOVj{nu zdYInQ={UP~)LMJ)H1t(d`hM;k(cgLh`>r&!5`U@rJ0O-G${|0;nB3^=OPY95Ed2c+ z<9d(x!*LZG|M!Pv5fi_{&tG6+iFl~p?f=9y_GrjWAw!4=f&SqJa@Gt`CVsQ_8yg)^ z7--Bkz5mp5iERh@39A0CY{H|r|Kx9_?wgPDy3o~=#D%Cq<^3*o%N#=!_J+>W37Fnr z`$pOOeSJ}k^>Y5#)9BSG30}vWvQHTU;6M{|S1S*{DEK?sL#kzI+-*Hsf92XKU5G2u z2+`E7S7n`*(DcS`h=+K8=0v6nc3sioja?9}$X>iz$m)QGZh%4JxEsm($PprTY#)*7 zsBH+L&hk6b`U=_slU-?YXQ}|m_f~)|AF>+=n})Eu&A679>QCf79Dz1iCNbse8?_G~ zgsEf}5qxF|kxpwBcgMQY79TKgDq`Tc`TkO#Ic1HFuj%K|myLb!4em#Tmju|1mnjMW zZyHrNW)kp4r_PB^JL?^P{SS$qwzmz+99f=W1?mx(U1J7`fcjhc@xEnkD7tB$t%>iY z4}ImA=hyDxvK|}C^dEMhEp8f31kCE3w@P7Xht{4&lQn)^cT4{@1g>uPtReB-(_>|l zPCOjPFed^bQr5Bzf242_*Er%dTq#UwcL_0R0^{`paQt^=8gaF?R6jW{U)=$BJbBR^ zh{x98_%hykjddz+=lL02@?Meh8L!jsCZaFwt9&oOHPmbj&JO!Hhfx6!_E0u_m_Ww{ zk$^xvH;@aVizLp$jlp?%LddF4T#;%zlY{vD0+ce?Dx_h&_mQEPZ~=93tY+Xgbaj8@INBR zvkImR#=KLOG{(hevx>V^>N-XGUQfY%Xo6@Hxy`b>lU1ZFs%O*}s;qqeq+U-o9@bdR zH~z={i>Vp8K6edQ+e8LUcDB?3%4MyobY)VA*2Cf^OM^S>t>J#Lri}E{uL%O3iBQ+- z#hYFS(IcW=t^R+{=dM3T!?LifHuLP)H?7d&zjS>~2_)g)v^&J$f(xZoM#Oa-`?@vv zt=-KMC3~IvQu)DX&;{)dP1Ts#eUhIdY8I9_<@bWc8gtY)it5vSG>b*U!qTQ%qpcCy zQ09D&@j6l#!&w?Z`Czj718Uaf3<-FHgYPg}g2k-{%?1%hvS%F6O(h}R?i3vd#9Xq9 zeQIX!5A$crv_^dMCI?lm4-Xx+4|}(lM<2O3%D~%61@vVfc*Ys}WCeT!%4t(KmE9rnUFyb%*7uV3rHKlv7~5FwHH( zTmjMO>cVG!BLmN8m7gjY&$5{<8=H!m6b%MI$GT06QN3<&nQs|zb{JOoP`T;5*l`&r z$7@6Hzw%`6->W&1Eu=GtcP|T_CfeTrdUzT4u&lkCczG?~e`Ka!T&$Tu81ruTv7Ru) z<+3X1|F4L-!}hnye;Ve@@>&ek>Aoq*m2~y;c`{5 zN+rMgVhAWxeehC7#IN?Kh|sTCUDi=Ewy5gNslCq@3S~&?P{Fw_AgUL`A$~M#ZA!+b zo(d`Bv{B+1#<)jJfdHF}Kkzn9!i8^dSZZPNn!)BiUJfI`$0yX6#9lDn4irZmZJF_h z<{1DScb7m2M1h6f>kpwMvbHk$S2dwa7#cYCnWcHC!jvtucdz53mCt)r@ydMf=cWE| zzewWTh6(iDukjEFDpqS4<@|% zUif*8WVk8oV!7K{zCU<^29Z*O%hrsnDHmRAt^Ww_AZgKo35Qb#aK~5iEVv!^X`2*Q zHL$ess13lR^J5*H*0x+Sx4fAH=4?XmK8tr=8&iCb;zoZj9bjmMy4A~{ANZ-;E@y%UnlvvcUaYy2 z8c8^a(0qJMAlE}`7K3fp^L=m-6NB#2yzm zHv;!@2o!a$f-ni2LmP3ZC6tuYIkUawNikJfWIL~n@>R@Y+xygW((mbNBT_>_m%2qi zp}<4_qwyZ6NIXmujA!P|&+WVsvxoM}{o z#O&i)S&FPPK7=Ug_C||$MMmsv@ol!PsdcsoJRe8t51w2BoJF1v>K{K#p{ge_rcdU1 zV_X)VT&;$p>^aH0^b+hR1@dRrk?DP&w-hSWz*ZjL;`&8}?zxm=-CC=ed+KT+O6Py+ zjUI*FiwXx^HfpoP+}Ygu3DNYjmBq`pW%1uCF-2x@;m6Q^wKwn<1PgxpM?UGchnZ7R zmcLlf3R1+Ztd()WodRvZd+=X&$q63|UkK{*_l5{O;Y5QLZ;}Zld(Qu_B^vOt3 zFs=C&G(VXliskef?w3GD@8%|6hplgs#gy_mJqQCfd1X00PyKuUY~x2`$K{11VWjs( zo$8zi@oL+(M|Wy$xdd9ng$C8K0@9l2wyVT#$Knm(6$0v@Yf@Gm6Is7h7p6Yd->*yh zp6V~(`wum(ks^)fR&%YqvdiCm1>_Zrmjut|*t5IcMK$?6X^)uXn2?q)q~S@zy8r(2^yr5-G(HUh<2bs!P20Y9E zu%t-0N}&*b*(nx}-U*n?cIqO^5#fNb{q~}2V-xV1pW=P~^j3&{`AYml)TOfG&vE{} z&K39emxJKZU(@w0AUf=b*-v;bl!=#y0qqNz$xh5+?Kd9*!r{~cchkTq`AU`wDbKki z3u(^qVi*J=yCTLCSd%f`D44R}#A1HZGR504vGMp5V~abWmq?y4i^TO zye*Ca)F)|FI~?^CWPm9m%#tvPX5%R30A(iCiJOQ7O(l7Gs1p%GIKxx{MSIl@tlPS(CsS@&(dVsWNv`meoK0R2q|m=#Toa|#^@x7+^?1+DovO~@ zUO?cIy<)OV!h@oAgU1o;nOo-mx#shBGu^xD<4haoR&H?FRl63=zg!Kl-#eKc?AbUM+0lF``Fqq) z7#p;Xa>J}BKTbsgNrySjM4Tu_Vmyd9kDp5KBqpGrq^#)srGO09od=Mg-7r(D$D<^O zFVDPN7P!Y*NuRVOZl3YoXHvz(R+JhsRcC#|YHe2fi0I@r-X8C7w=N&|V&x@&f#gh0 zuTPPUhZ4Gm<&1v67DTSek*2x}D$4%I8$`3YvJr}9k5gfbSB={g;~fr3DfGzV#Mm?} z$El6o%vxpLP@PeYx&keF}l;wy29iLlA3YFNz>Z0fabDm36z*=Xu_Qxy`v4d%j$-`n5fpmY#a{Li`-T9sa>zv{ zp7m9`w#xVyLq*2ciSw^&sCk{Kr5h*>qQB>ko;d_6sV;wOWWUAxRh>oEE{{Y9%<@7KS7X-?pU@CyNAZ?VD%4kBW8 z5$icH`H_RB2Seo$$JlRDl(f;(lLLR^>{S7G;W_$mTkuV!2-I-j>t-EE92w~^K4>uT z`k7LNs0krZ7k{mMiKl!oWhKAX@hX$KuZ0x>=>*iv?drt3=bXws@iBzs1d8Taf;L~A zxy}YV-O+#6{2u=2qv|ZsfQF#dcU?DcIQ;=3%U3eTE{w1tI2F3L>|!XUwCZG`5vFn{t)#>;hWoi_x6sfibm1u*ungOIlA&l?*eMidTrtiH*RtD zu4?WeL{NEyrQa?hhR5InBS+}YaKupcE%JI)_1qQxfx{pHA!SCf8VfEg{OvzB5;|a$ zVJt2ZKS-bc^Ke^~XRqD3%Pl(V_V-{%TTArw3Cj_6 z3th0@r~e>cHjtS@zyH}dzyDaB0tRD!I6NE)=mSoKF zca4<8cNWoC_?X$dLzrF+>EBj(e>16E(j~NfQLo`WLmQq7)V4*+<}}OSyqrJlexJvO zdQy3T4mk`czJYreH1P&zkCPglXcO~ag)+*2waBS0v|a6o!VDqk}(CYhPv-S15_qJ|}M52^!9ECTdqq zT<{DNr^=SO#4V)o*w9oA9+@?t1bSqKkAwr2xA%8+qVd3{jU{JZ5H^WYt0`z(-hN`lA@2}w~b@+Y|i7S zQY>C4IS$J1=vW5%ouJ6lv@CGz%+B|==H{vQD;m|n(6rBX3t!Z6+kKr2Cx5QZj!(#z`cjFTXw2-wM#nJ9ofO&N zs=7veI*NGW&`jJl1xSVIL!oAN@oU~mH`I%Ly=OCf5s5@!;l9&8La3ZL4MK`T?rf&| z=YZ|%F)oTWmo`p+`Q1B})9mH(%rmU`Yhi8hQ@YJ?_-gcu2lvRP8eH)FhwG2i_j8ca zoO@_?;O$K|h!Gi`G4h-Qgmx(Y^`CYMcFSWRWv2pDDJZ>AqYzu_vun!w!AueZnKXA` z>I4NadFj_>Y-_2%kSJI_OT$O}M%iPF`{t98MbcZ!7duk(tRA_W@=FTZn*Yd`HUVp* zckVtPjIc2+opKSg|Bc9fgK~VGIiT(}iU-kHy z2Q_aQ#j2r%Hnr zY|j;D?UQ5t$T%_$p&Nn@irB3j96ouRE4sqofOY?-XjS2|R95Y`P{@^JobwS?cOJYna&EJ-(gjOkXg z?t0iz-$TvpLVp}|Y1+(A@b3n(?D4#B-l4E>>X43|(EOPu*nJ@1iuehYORzt`5kiR^ z3{3B0k?~P-rrOG@jz_zhPP<~kf<5{=mLEuh*Ni)&t9R)jM#$xxrif`KuAC&Z=P&{_ z&NUSPdx6;^Kk@q@in3IW`l7A&rM(Cv)#!4!Y7M6mv7nb#Qg3}`w{dEYTpY#@Wu(s< zztGR+?O)1Fh!UW+6{t}XfL3p$Ov1!FNi3B5^k#UjxX6r_owLBjLa-+`Q>lS zIHnDC`zG<}>XOD(`N(F`Le9~HZxv&CwQfM2j)et$c!Mu6r-oWrU1!di7Hrl z?&DA{SzGZ%cCG?;}Ab6{;Bs%vco#rm2#iRYl zFTBoLH)?jlLtisDnT;f?qc#@-nys%+QwB34Rp)f z0gED)Am61Cht@dg4A2|50z!p;!35qYH3Kd+YQGe2-)g8ru@P;_AxUM0W{GnQL)vi7 zB=8`L!0h;iEH-d|oS?9A-~r1b-6CowBjlI)*Fj>L2&stvkRnqrRdG3!z!a0bT&1B0ARWY)zag92&Cz9y{^znxJ~j#Q|E#68fe-sK-vwEh6#d6X zfK?q(Zn}RKq?AZmhnS?||GyLW17>0sD>E?zv%J{e7OJ4zT81~Q(`lOcShUR~8Km_(y#Kjy1 zIFgCbdzaiZyFQ=(hh<9+{vx|23gnC;M1dyhXZwn=HOc$c3-Olm3&y&*?-ix5vA!Hr z#}>(eVB9AtSt&{SYY*gJXnBFl_kjBz5wW-?=dL$nOg%N}t|$-%&Ke!9?}06etwUC^ za(1=6&#dGZufx?1J8PRV?q>P#$`uSSX&RW7q}nE+u6?kY1hb9WUM-{x-((*XBhDON z5nkc+?~S4R`B~})O{?`A#M&$G^qlU z6go;nx)iI470~JkFy!oUSA>w~P zK4JE6>wH6W=%-A}CFXx9w(hb+I zSD)cIGv93Q^t)cj=A!9j?BrBul-^` z)YS>Bguh>|tANJaG`{@Sq!Ke#C%G%;1Cnd30Q9v(Si4n+Bi{DU@=!>yYgnmMG& zEK6iUPrhbVm#Eo~5-2z=Zh+Z|Xnb9IbJS_(@>0kgzU!s$O}MLGgwDidNT2$z;UJNY z<#q4R5^2IOgEq~j+nyHf33<5@Vg$qQ?pxE3y`j#81YFa|naM8S@AlgTmRg8Avw}MQ zYQE|68Vn&OC<3|NBvwYvXG@DF!}H2jGQ(qm9Bn;fzYz|%V6U&Cc)Aw8$)J^$f6bGd zG2;s6W(bvm0sW$98AmpZ)6?FrZDDnj{G)L0?gGz-Q_XQzr8PL66v`9CdjBg2AKs>{ z$g$=Vmc@?)+QwkUC}S(>89bi$aXKq+Et<8lz&w{BG7mSAOq?uPO8S6_{hG5CS)ygAieiW^hK9L%;Z73Jr zImu;6-e{9|vu%mZYXa z6vS+b&x4e6asIPhb5GWh^WS6gC(=@vKRWAR2eJ5D&9^x>;=wZ7r`7gHA?NNSa%zp& z%SIhZAX&y7y$a~C?B*HQ_;;tBM#mdE<;X}wA1E6k^xHe#WbvqhdZr?@o61wC&B$??@p(+l{R1V;|;nw9B4zTuoVa>cha~JhG2k7z} zBzjvj^=fUvRm@H!6cYc+FX1_|m9LTt_VoU8VyKFK51Wq}!yF@o#-vB3Mq!W zORIES*nPo`d#4T>KvDNYwFFYUVJs{O?*9y1o56j{k0^h64B!-`f1kAk;Zxpqm_G_3 zK8ir;R@iL!&Z#HHazqKZvo|2^@p#+T)isq7<@U9|>#3SO=93e|k*1r=gUDYfD(anF zw%)-`{kZSql&YU9V({24i{VtzfKmeRg)gK;aq-A|?|(xjP`ci!_yNQEZ`3BQ@z0>z z<~Iu`AW!Lgeu9nS=FZlx4kcWERq_5>wkK-s5pM0w;$97Be`~ctfkCt3i9Q}v5$66` z;x|Wj*UyuHRj$@U-SG$|$txVMPeZjq@)G2{GHHU1lj|}a%J*#zK9p0R%g54{QrR0R zVk8|x+W9h=jCYWKSMJd6nskNa4RbEDjc$tB94EyP#WbcwDDHA)QXDih?a=drE9 z9z=;blZH7Xj-MRn+DU0GxU~7T>fyv?zjgj%O*W_x*@=H2aHBoQ5zc;oHtU5;P+R@(n z0H{6M5omfx3N@;+5&lz#nWArKmj2>IS5b$ODMx8#lw)#GJLVR$frbKW^sV0b)t(}!$o=6RTh8r2(+avOarN1J{SpL>Qx08m>Lp?}kwmp{6 z#^WGMOUF9++G)em%Fn`RRr#C2suy`*LHlG$Z}e+njh(`VPfiJGX=!oT`e4cs8NWc7 zI8}mF<)}{c7p)KZ4o;cEU!~*MH&I**jnXei+*&?1Rkv|B`(O9n+ZKe8proxX zg~Ed;r3g*S*|=WZUPmG#yxV>pHONFZ5OQ_>g<0Cf;J z+zw|{bz3_3VX2)BhVBsbck*m!oQ~ zlU8d|sMw$AIP-Xohnlb-u-OgbZbSApRQ2+Uu7AeXz9?=!v!eyZJhK;eu2sH##<{}X z64Fnt7C;@cx2i{X*R%>7SMf%!L)(4!cP%wLGr~0@qVv7s#0_iwlGer+Gk&;QRU-hU zWvG?$65ECg#w}xMX04-9T6z%*^>h+<>zLA_!;Gp$v&di0Q0QOz!O*~^)bq)JuIi&S zf|D$2wie;5tn7FL6u~6oUitgfOMPKSVJG9WIF>3jr^SBRg)FxbzhClMi4daI^c)pG z_7uP4)t;yhhDG7!)LV@-x$=erhtbd0d8L8bnY2|(9hz45lGn74bbO@0D-8MWBIyfI zq3WRJx=!Sh5O_YXBY>Nb*`W!GZ=y~2RNM_~PB-D{T5}tPP1u&48PxS`fTHypXMEzv zmfmkD`x?Hr{#^Mij&p;%%Q`r=lWf_!*fAzqfDs3?S{NxE9eZjtKMSbZR`{LnGI>cN(La_;X+-2x`DFA6n_#(jH zzu?=+o9ciDl8=Bcrd!z~=o>51({su{d z6ajXMNGa*4B%+oJ#`}-^fCFBZ&sUN56h~ydTw9@Py4F!8+@u>9qoS#nJH-~f*3IKi(8cgO?fkcbYVxujK2&Bh@;@=A&W^Q=Z_VFVin36}-I^gf#6N7JohavsES0SjR{w?FF&y%gT^ z6Uwn~%?10L(cjJxzw+Mx{^FCIE?)@w)J(HYMwCznZhpZ_h$TsFWd3dF%9rPC0tnV{@{k3nK z<9@9k?iG`pbAg&(hO69n3Myg`8jp!<>nr)p79ym#koWoc?s9gyry|Gl3ah3PXeUG; z19R!R-T6`Hjc37@F;A~iTLX8V@8+_!X_6;=38Fmf=6{Z3xJWGXb zB%ua9LC}NM?yo-VT4_5nZ!Lm!VU_POvOP#iNkabcs$H}yC&UM)j0aBGNPFgzkUTp5 z;dV_2@}1z1l^;Emgu7(gY$oIxGYfH3Y<$7>eb0&;zU`@axLI2z@rQ!Xb_oxOK1EV( zu9`qLNXlSnmOUeNwpoZWA|a1*TtF}$hgQ22xiBA2Z?!nJ>Q@3V%0shv*8Xgu=14%& za$T$nv4Rpf@%=H0Zod>(nBIm$DIHHQW!KJ)v<0qwr|L)E8=TNs5S)2}6aaTy530j9 zD33`c^y>wu9_~J+L=->F)>X{RCW`kbQf|fzqN^CF&xIHaI|gk_c~~>U88em&3-B@_ z8NJd1XhJ#;PukX`bpMtR@udbFsE7nu%Rw+?nCQ|W0&mj6LPSalJ5+E|RRvN7BS9s> zOtD?m!bVQ$OQQ!CPx`Q0Lp<`ZwL&DA;u5MR;-Y{RQ)4bCd2vKB+)-(;MR8)3JT!L z3fuF=;nE9+XF&CxS>z1&BSDfqA`kKu%^9PmTsw2G zX2RQzw=a;8eBjgw{=pdl?-Mjnb?l~JB7@(qZ@?i!5)9f<1`#H7HFhL7H%ePo9E=!}XbrKgeW`+F z_KdN|83%lV0(DgZ}mCXGh3fZZh=@$N3*wVQAyF~8^e;!#D0^HFd zFsg^%(TzBpm;P=FA4d(+2rfH$1gOYr&7#zXZgP)WZ8(5!f)hlB!HRTs}|@ zoZ0FSv4zCS0B62Q1EJlu&8SNM!F31-tN;r}vI@q%O-;k04i4iWHgF+MO6J?(1`z0Q zC$yzm3Uo+!(s}spV}*(V^GRq%%DJ`0GGs6)a1*8rA~ppZ1I@@t#&M~+c=*0!O7&jw zB&AdLso=YzHdv#=k9~M3Rl!UHv?Qd|>2o;Xxljh}@EDS6-5u5jsa|Z?i=|?uKSou&5)N$Lh2PG77TuT(ThK(h$+hhz*}JeHjW4BiGxxl z-mDiY`P*3@WHBIN_X;f$0bVPuVc#x613tuj7{?44H59o<2!c>1sFHfb?5Chbo+88> zg*!bU*@E+dl&)~MZrJSfgFL;?IJ#1Lx{69D4NIJ(jG?3O$|CU=UV>QFs#ezJ$(H16 zi<1Qks(^(w6gV`{ExU-I<5wG0DWU=%m}j6R@eEHoF3M-S!mtuk3o(Wm-PV3qBY((} zH;qyPs`{EGAR0d_&S3$UkwgLfLF|U6!r$MG{sdxvgYwWbNOfYg@cVcnFMvxC14b+Q zDL8fAR1ikr((XIDtvn1S9(>3}!wtQ5hK!Xw)ldr3UaCR~ycYm4u<&Pb+3vs#U@&Yi z32b7;)$r3(1uc4{<$|?c;X>MQ%keq%51>Ht6F+)Q;aW!R59}LFC?iS&scsgC2!Gqh zsIH8Ed}laNT8RHD?g1`JgLVdUNWV};)QC^eQY*b1j_Xig6V9wk{BMmNvXP``w(3!+ z!$F77zrN(@U&`V4jl%W;0En=GrX4`j5+wI@WS8e&Y80sbFerKJ)J4aIVO+B#uN%lW z(GDm^HMSx(IptY~odK(X(e!~3TB3GT@co;ANN?LWvgoUgwTd@nEKFKSDhN_QvoWl*s^R6Yb~tu0yhVh zC#}b7BE_L;^Py3pweSm7l_NRgTdm-3i{j~Qs++|Y{6x~y05Ea5$4|hSa*Ju)0wj^! zPl9+1W$X-!$D&KAF?Wnts4MQxhmHAM=a9xF>b~eA=^vFiFoNghdO(g*1kLh|h4HfV zKX1uMfg<RzNh@EH z8vC&%b{1~+K#9D{pgC%^N8NM?lZU58x{MiSRUjz%k1=Tx7oFQx(bog41}hKL@h_5~ z#3xkGh;dzfQAWHcEL0(Rdb)4mJ){=e6bu+;Yx207g&7!VhqX9)c&SXF>1FGaGqe%; zzfC!UQ-aVEu(pA2;WXeVL|#vsKggw`r%(g13^~Y4jn%bQIk<;!kc246{;r0LcuDt4rmt)I0fL-A-2KFxhe406x>Dv1b(N(NdH z({7Xe3#o)5RRGL};2{SgETqt2$vzj^XuW9A>2E)$ta?6F2FWs=eSs>>%pCsz^zRiuO$W(Q3)Ta8%9_e1rDE zG=qK!a!PoV-V(T>E%M$#EjoMKX)JAkxaoETCMh9R0aKv4N~tcab=)#in3EzL}Cu%=kaurW}` zSA%L|4C_vU%=9O~Xh=qng-Oa6W6wu-x00w{^S)e(G!Ygi$MsL`brK1A!w~*X`xoUY zD1`f>SWqvDz9xAH(;n8iDYR-OCc~gx7Cg-AS4n1Oz~V$K|3E0xLRLIP%;RRF(v^5n zr4-a_){9@cYHU;&M1N9`GkCqjR!{<@l3JQD`82+e#ETasuEihru!krfLL z@va6F=Lic+_J$XTlu2-=xr*rDa`Gn{3PrsAZ#0?gIMo`LLJID{5%qNb>?=YYzy1k| z?>KZo)=OA{?l8e*EDD?&?;Om}Sy-6&#ma=toFn>%D|e{3rBq!7=9Qx(%Mxa$y`kBr zGNS;1j%Er7)exA#3*!!VyV}RPPnhPz$)&q!Sciw#jgDDH)E)&d#Rt$;;IL|trdxuA zI}fCL;RWJl)9p*N6cD(**lW$0wc&=s9U|sOm;6vQ#Hk zELUM?gOiCEf`fV?pl{WB&dsYOfrZilLdN}QB+=o~tSUGp)1UI?!+UV2QM0VJ6}iGc zr8^*Wq)Z&putwY|9=ys;zKI3;NyCw}?8wcicPBv2et{Wl!cQ7PkqUiPbb&M&Y7qmY zHdp~SQoZ$MH2G;VS&Xu!zg>$?-AQ(unqLnX!4Kf+w0PE>8LTz67a=4B@OgS@?(N6bV)lyBI8mifM-F(Q z2>7lO2|a!ItB?)QSl2{Ov;LP0LIZsuWXd7Gx^YG<4GqSK3!_#V3kynRK12ZNdrpN7 zoMUAKDEDSnz2I4pH><)H4$m;@b49gFDZVz~s0pyRUV<6F_}MQ#nIZ!$kaCFX(wG56 z^2u`)p)QF0hR9QK8iXs(1q7qV$wkuv^RWxFCXJ_36pB(JN}4AHDf_YC|3m|Ok}ETq+_UohUB;%h74!b`EnRhTz`TbWz;gCL>y)p zB$B;;JdM zHyl7T7G@n(GFL;m$W=!qeK9e5Q|~u#ADZ zoK9Xr2fss*%uE)Vn1WpBr+7iOW10tay148-f-oV-K5Q!7qhdeHz4?keS0Qe2S> zK*`b=SrI#`1c)ROgS)Sqfd*4|%zzx;D}7K3!t6Z=Dyo-I0koGDGmygIWR{u3g=7y< zvKdM5BP`94!C3pyUgIJKM(X6I%AqtIss?^)e$nP$|4oDI#yDti9S(9%Rx{%(Mhcg# z96ff#9C6|rv*&IaoJ%uPmZ>YwX#=*6GQ>~XHf@2m0egI8hizo4_~ZogI=L}?2se=hPHw?{Zb^lQ3GGM`a{h(2qpoki&KU?YE87in8vdlegCvMlT6XRg2;!T+B6J+afsV#z zEqBHou@+)mG3MB|DZup&B!O$nj6-Q4P&!*%tx=f6`ym0$KK^Qc1}_8KDE)tK$E)~4 z|2M4#f&P}Q7~@d^OG^RAd}A_xJ9|K%eBalcK=s#%H#9qmk0(>7#dU z>TxcJGry>5E3hx=YHw=DLSX=h!c0wwm4St5dNwnb9tUPM`HD1m_3M9z;s5J@#LB=xr24TNA&3hfw8oq>@|7o)mZHJH z)9fw%YMl|G%~(oYMS*1k(Po6T--7p)+DG`fmOJ1 z`M?Y4(P5q;&zM)nXbgF?xWyr&BW|{TSX;VATyO;?DA>3tRex<59~AX7>q3)ha1!)V zbq|syfu+C5_2KVns3F$o<6>O(m3h7Cl1#fqWeEpPd$ZfVnx273HoRpRQh>K zbQ#HC=+O2=wko|xAn{quAFJ{s>|f{kOAE5B?=&mz3RHpxAO`uT+IYg(!iJE*1ojf5ez-6L0um{Rg<0na5L5tI3JV%q5UUAJ zSA1Xh!`4D=Z*_5jK--!sxP>d}X+^8<*Pf+GSQS);BRz=3_PsC>MFXurZmsZ|1nQW|o2k*_poKPVKww}Ln?9uqto9=LkI|yxW9uf-S6L=)ft>++ z3I@5NRRfx6RS8lN%1ZNdMvv_=ryBN}kvK4Cp(L2dfe=@0x-&)sc2i+kql+UBX1bh( zU=El*ix`bje}r`im;;XP7MMZ;)6rM$HlQuoxCIxclNwEokF5!Ikq%_!{wOML)WKsJ z3Wpa%S!4=hs>b#Trj&q(_f52BP#V6WiNSzdf0aYIq{^LXZPtrL{O^i>D7r-#n5HPK zE(iWKOQhBd1j~T~6{RIU-9(ln?-#*;%qBpM+{7ASUfCy*3$0@g=3&iX_+}~s+)_Y| z)71y#E9w3>R2c;si76u?BB)4J?a5i<+j1sWIjM(q`&7yazr{*ybGd1A%zi^!i|W@M z-etYilxS917&gWg7K;u^Q!1SLj;XPc!6Ezd#N&PVa1uB}jRw6Tx6oc`I%D@-t^XGZ z8QehN|JYkU=2{fn&Rn_{rv|Q*pC;Xr;}tF9LI*oy9tEr6om`|UKI0PNncHQV4LX=Y zp|w%UJp3;J(m*Z0u_aI<`B=)j)NJc0QAd>4qPmE;HopUzVKd~UjMSVmNXk3{&T^;{ zbr~&lHSSNTc0&sU@@C-~0hZ5=bR)XViZzzFlrcUfRx-0fAU7$@fPf=A;iS>TQmLU0 z0=Y3vyx z8v&h0d~HJ3bP)Dy=+l@i@`N6Q{ph_{8^d(Q{FIRv;rAG3g9r8R76WH9EfzJM^AhVwf50sxy3g!=V(`V$av5qZ#L zQ8cJ)c>YY9R|gTMVm+bh+B*;XJf0>RC?pI*FVu(qkQ1H=Rol2q)PvHLi}oa9V5 zbRrCR8i;Zd+I*I05DX;*oZKBRnE^JM;8eYMD0yRaU|*U`if+JI2o5Jt$7g!E^`sA>ew(=z!C8m{fF}K@fG0by@hd`zb)fz{n`z1I<*$W!*y3 z<&dB!*cEX}S+RgzOdsfj(1enpX(W%&=B8>ST{kVVX{2gOb+luEC%rzCsMMPl=q$ra;E^Inb1#k(r>A zi#?EHHrypkXiK~nr*;y_*NCtm+B=VzIkfxmFU^Q=YXl+BnXd0^3D)#7S-%VFL$W$R zNV&CB$@&Ak;f(-aanG6Ae%93#WFz$HXe&5?kcl_SsR(*W#73mhjw-UML)AKB66&fD z)iTG*_`w_noe1hw3v^kLML8}&a^ovO3xQ!Ht+nFCfq@meKui>$6 z+$uav&_5(I?KloW#YU>Z2#fdT_|;U@GD<9wSnR#u?OE zh9g$!>1vk<&OyK>kW^%z!jYnA040D^^;!fTyd=AloYE!hH=+oz8JRO;Y>X_%eYQvo zbP$ASf;2&B0dZiqNHxK-|6Ej0aUxzVVs$jU3YHg`oG<}V5C#(F%O_~=_rN%#t@u}s z_(3+*&YkaY2lYDLK@o8A$06fuoTkTQkqqc~JZ;$5I(rgdVq;WhXIii%KrEoSyA0|sgpePT4D)Iv{y+lO;(PvFa z3L>XAV#eLm*V@(J-qqRx;!yXJ-n<;otKLZ3i}hq@OEe@Evn-t~iq!{Ni2%?DSa9e< z+#x+qWEPb9&{Hb0(W9QBW*|TND%f$N=!t*?@*t+lSgH_sXpQ`Gpce;3Y-py>C3qN5 z4M)@2k1RUblu02ByBUToh|tqd7(dSb+H&F$7a~EzXb?#n5l>=#pu@AhVqN&K0Mpgo z-#Vue5T;W|qC>=C-3^sX2&aQ?u(d5nrZgQ(?VKn=9)!tW8xo?&((qNLV`pNgLxt+B`QmrEJBYZej6h^>x(u)gybdW^#mzSEHw-4lk#FnGW4n0 z@TbSYCM>XX37zCuB0Up4Eh{8ALQLb6qfvf^_G9oUc#GDV%!?^6nD2aoTun%~(OTk3 z?*1x#spkhn!DaeVNUVonbAiatb@bXzv`siv;)@9v}aU+)V_2!aizIRfw45 ztfNvl;-484M#ivnvaTYUxlZdpBcdGfle3Q`C#)I4efa5E)~~&$nCD9;#cCgDj~TE+ zq@TD~*p@A)bm!HrankOlo_0h)hSLmiDP0hS&EytYa3k9edO?@Un$B!lebkoaVbnH_ zb$Nmci7dcM(oskbkX95CVdZF&izWmKuK_W|XcOSD0;4+QYfv+VQ*|MVWdT7#SKHJ# zX>yVqj>?imtI}a?P2%zJH!3G-3WxDiA{9rsHx4x)LMFTnG`Yr*U64$kQm_;$3<@HQ zhiK*~7qvm*q60W*qoT@DMWerx2>|a95;}ZQS%p3WY72saKp;Rrgwccy zBsd6Fun-vPX+PO8e=_N}Kyw3vCIY6PE{I?XhfWLu!*bYyzF_D~8^psJ)rBH3!(rV= zCaZ<53=X?skS>L2(HP@~L{65mL^FvaMx97v^f-n)+Mo@v_ zR6!Pr^<9)Y2$Y^lvTjtD$T)OZQK1o?OOL7d@pu-enV?!@;eYXwK(hC`j5LJ=y)^nQ zS|6VvW5tUsQt)sgwDnU;;E+Eh3_K~OGD^@g|ys(>cgkxxrpQivM0 zB$+l&km4Bqa4u;Sn?+7Y0!~DXTbd{yv>K`kO(O=KPpMe-VNoGuq&`T%aC9|v~UccV7obpCsT#%}3JXD7c!metKFjk;r8I7{_mdOqV zef3}#`dbWWuV`FfVOh@liqX*uk7qR^J9ZFIxKfdg3ZRrYnbGD^Q9u_HN3Jr(hKC?1 z8R1k3ap1a4P8^j+Z670qrifhHoQ4iiS_t2dRLIhJII@3*=;IBB(-cVZfS7$ z3*a!OZ(^8=vh2Wcde$~xvJX^$LF5T2@|wl&r$L~< zJmjkd-i2T=v2gf722lS@hkz%}%r6$HiL5(ZV;bnPrOS#E6_;tqwMl|p3W<3-S_w9! zAmqgb1V+Qq6Q@7A>i>d?;D;~y)WPkhAs7>9ZQWtPDfK6;?PCVv3ei! zKF=JmnyNu@@(_H=G($Q^Vg|LM=rYh!3KsE<;q7DiJf8L#W=IZ2fTA zU1CqG0g_Bl2+?O^*@QO_%RIEmd9H`WRdpV=Sr~LKZa~`*c}d+}oHA($ga?DZVc&3= zZo2^|Br8d2i+mInQ{+@rxelWgZ19+k)wINNp3)##hshbwX^Du;sl2PyDT~4&R0Dwq z!i{WTld}n)_+SeWe_Z8aoWyM~CC&|`l`)2Iqb5t$XhA;ELr{SR$)Q+h9{`X^U|FlE znN_A3=J6u3;0+9Wb=eynw%9PKP14-Fx#Xf_$Qnq8OKI46MX?2?UN$YhRU6DhoaqtY zGEKH=^Dsw9rUk(eM%b+8IgWLqVr)bn_JJnNnm<$+gf&>5NKeq}J~#ZpTQ zs?|ghBLR_1Nznx0Kum>N!mwnjkSVV4&6Xv|quKZ{pM*#V09pBH8+)9Wt3JD{bv5dG zA?q1K$|7QdDzq0C>u?Q{>N%ZgOywa7sDd_7-AJ8Hc#>4v>s3-JlH3i`uL_g$Ae9?d zH3Lr5gt$bIQ?7GEcAUh%Y)YX8)MV^5tvyJUD`>;<6{ZJ@SUE9lGQek_EjYWkwWGDE zuXSMte2rfm(gy=tj|v9`Ii=a0Ff7& zKG23%g{S~RE==&G3JcRnZs?Mks)Gj`u^gmPa*t1r!Q_*;HD7>C8Iq8ktH`w6?TCjJQ6}X5m`@Us9>~e`(O^ui*4MD z-`uC*{LC^BE$2isbSuWGW$GGwEUj8$#!z4j88&briPTDX?KUEd#0rNMQHTns&XUzYm;q(#&V*1b#Q`jN z8}0x>4@z<>o}io$r#pxdKB-ZtB-;9_O{1xcZwp>w4J9VVqR@e7In^S@K7uNu6r_R^ zngth&ArUbtYr5(A!F+o(q9w<~z~BKsQ89|Db>=7F^M#w_g$^nEeN?=002y}Z) zu-k3Y=2q7;KE>o5DU(Qn!)Rm@2UY`ZNFb6bOGb%UMS%uZ*o;|W#=Wb9Pz_^Uj464B zK}3)^RX_)zJ?8k9l{nTjCS{gIt}$*i3;*yiWW^jDd1mfkY?snBkBJI6HLlt2KYf8^ z1Vnv#A5J~&91L;x&LYsv)klzktWtMsc@U~9Gj@hpljmhuk`B8)Z&+nt=F& zu$77C6h-q71|v}CLSY|h*Fl2Q2tpSmjvs`o4kcYodpI6*YKTcEC@l@NRD`fly2%>J z*ja%%L%J}p=vw;mS~TYFICpNS!H1m(u>>9yh7nOLxG9x#IjeVI7!K=D!WWyaEf~hk z9J)3UgQ(!5;dT%jm&;BVd>&7mfNiGOU8Sfw&I{CHpH{S+SWKjwVQRO?6f7F=eu}nz zNvLz^m>3!FFf)hno(>F_4)sQi`^LSZ3#?)6sKrmhviCF*gdx5)T6F46b4oj~6eiJp z=*$4GH_B;Ij)%nm)gmu=$rU6w0jsB)BpyIs(5=qen3t+TsD;VRi0dO*xZ1Lr=A_t^ z6s#b$5RA;RN$*~-o>t%jBmo1jvS9YQEfum-(FiKY&8nyY73glFH-5AQes&7{mWxET zvtsnz*~LtNt*P8oFl-YtIYbO)VrqcRVD0H-e}`UV-X+5#sQuVV0L@rSng9#|L=Oi2*WV_R;v z-m!Aa7Ikg>QbpZ@XKRLV0C_+ywulsD>$937cB1I8-c2E?s7!99E`=Nw+c0a#oL!lN zdkq-EjzDN!i15{elYTe?jerHt@wThTE3Y<=R)ipMkDAH9-P&M7* znnk_3K%0PYsN-gUb&NsPNdEJ4t179t8a^jp#1R{+<7%I0+SF6vL+c&ZGCGg<(;pT5 zm__wsPSk7heILshfj}V8P*;cl9|#1T{}0p#>!t;3=hn{+1sfVdb<+Z&Ky6)c8VHns zxtUK&(>ZlopyaWfi~Bcu$Th-NK0_v9Epu$+AA)zDjf~L|y zQikfcar=Iqi)((gNP)R~s>b4s3>^3^%c9YkVYJCIBb|$rA8qroNIa|``hTyHhKCol zN@`<=Jc+i%;g=AJiMlWd>8CM4gkDjQ2FNTt0FBv*6_@k9Jd6mOYQiX zSg#`Urt;s9Rzeo%Ra9Y+)1i@e$36x^44?6OFL_dkOqpB|8br`sY_+rIUqKM-a z48uSbMoCPzwVF2ZqN~xhsKo#5rd>5U219-3ABgnBUfcU(p^PlOl84GRZk|;3s7~zn zq-E4PGZsQ4!kHBXN0~9N8&lphoso@*LQdjQ-!vdamdqiDyoL=5=x%1Z3UMTUgf_qy z3@HjVBYwkeRh5;Xmpb2Pb5D{b`!Is8K{4iX9LWXA)i%6I{ z8p4KDGe^peRt+YI;#YdG4IG;d%jUqdUdvkYpxiMdU1N;mu`gX=E)1L(2bUcSmlF>g z3(SFw$BK=|j*rJ5BOB|^z{>gA8l#S-8Tf~tJTq!LHiCK&0How$BM5l_a4r7V2pVYc zhodrHBf!<>5T&#hjB5lz^h#FsMiReCF7lX4g%yBpNH^@V8)eHHNmCkrFRKO`rj@#k zaahSNoU4Wff0M@6l3n;`qY*~z%!L|ow1^iFc);nbc9+qI;f8G+g7ksC8HjHX_JL_{ zL3o!8hPv_6eh?v|^~jhgjk|9)VqQonF^RRa*5vLp>uu6f42WJhQgFKgy67`)zGp*u zjbXfG7=NXuF@96cmS;;U?@%XD%3+*hYnpL#im@`n^vGc^?J23*TW6YPa$*5+CNC!6 z+dY5AYi7YQ%q*JHbUE2!100f8*e|{InUkL|<+mM-jMQ5Agpl-F#d6hAIjN*DGNXCF zFc~(6Fc?cV6#E+hqG)Oaq56hS!FU^0QjH)O2qax+Zd6)QWd*9bfX^`tJ7=I4qp`#ul6VRmQ!I`U*79$}1Auy_ z7!K4lfdP#h)v!8&b&8n?Cva>8?Kk0d1F*c_?DbtfGi%AIaiRSw2jET%(GjvZ}%;m5?(7i!ilg!E7vQ zSf=SQRGo3v8mx*|$LpTP%7G64u$Je6|= zjczH4r9yw3foW#qgG}KbkZ@d&M~!gNtgGu?+|+E+oBRt*(*Xg&JW{J=u1gvP&=V^cmZJDxfr9F`R-U|NJSsGtVxxtr*gH&A*CBKM=;=xCODOglJrDMf|F87 zs3H-EXv_rr&9lsbUB3+Vb;0Ul0&K6IfYbrfOd%pmUhG8RRZ|ioZtRCf1|%b5kft@M z65^7q;;aPJ;e$1)_EZ9Uz7pJtv5Wzjrr}~L)Kvi*z9%dX5o$v8f%a}#56fYi5N(o; zSEEV+j^vE9d1YEM27*CO6>!MDGsTL5Nz6cgz;ilBHZCJGC8)B7j#PUbc2z`nOvOYJ zr_SPCV(QWElK6G2eou2tA!${{At@Ke1PMu~J*%3{7z3&SF-E4|dvwmsGbJLYBp%z3 zEipL=ng+g5bx#J{j5edv9x-FHXL(GcxA7f|wPNXEtw^BR#$6gZAl5__BxtsCWZy7U z2PByWsPL;P$)_bMic(xyvJ;iAwjcvpxNO@(u*XM{i^px;7hYNEF#cC!YE|K4{~yFL z=pyv$x>#ZTQiY1>jd0NcQI2~xVKW55K&UPmsjzz%AW}m07Re;%H65A}!)InOGvcAl zpw;ZlWr`g~Q&NVV(kVm%aNw^wxWt=j{E*ZtLLG`}o6nXC5z3R|L?46hu0+CwC~9@H z&15RW$rLJ$WHVkl=4IT1mra)~&*3`GTrt`@R`xAzS#15QsiVVVJuLJVSKe_CM>Lv&d*Qg~9G1`U!<8g3H>6CE3u z{DL?vexnY_2lYGW8oOB@V=OkV5vcK32*x%W9sTd8pqe)KvxN>x;z@;fI_t>@E z1ccVNeVEJY#W6aKU|j`Cuj32&=T)5Ru^D8o(HKO}mnBDB(JY`#PCLV)E33bQrM)K>|D+wCW<5vjnL%EkV$;iYU)0|7bWG`6ycv>A^Fps4x#2k5k3yZt41{ zV2(j2S8O^2?1FGO{@FRDmaPf zR0MdlrzOi)TeXNfog{V&gOnv;U#-P>>{0rzBPK7dKS^-)vBPwZYfGm zDiX3A!Mr7cfw?kv&7jWglY;OFnUvc-s+g^wU9_qGkA)MRk`GmlrF0RC!%GLKr=5+utoH*{s^ZDQLpin z26cZWtFqy>Mx0W23;HM729k=ZkIui*K4W7OI8`V4(o^>J7PAEieIvB0`J+b4d~-#3 z)(RVk>Hk&hY>Zhny72^vEyJn11U+qB1p`Mqe_;O4roN7(>9=qcBs>&08d;VxNfR`j zhfCr)jMWVFo`>Q*6`IKyEGbSnB)AG#LSfc0Agee#3FHaq=6LuqrEA$*fGb$Wp@-S@I{s!gBFO5cJjiYOO(l z!8(E%rvm5-3!o!+pwpSpZ2Y}cDjlqxg{EUs(h%h_;c-sTMZPB@Xp?F>b%AICMhCnD zFpbk4EQjfuWV#zkBg-L{YAsF7;WJ>7ht;vNHstJC>$mwy?XgBsfo?#B%LhcXsF)uN z1qrWhXP@vZ%I4r47Xr@RI@?Ho>*B>4l~pL)>ZFlsj~LZb(%mUb=#IH&vH{LGTGN$Z zh~d;()ML8RQV|9uNsk6OMV*NeE;?WYJ(!4tk-?NCLQOMsrqY&JF*V4Eh+8+vjnyA` zD8cEoHA5gw%PH!k4w_{ZcK3mG7A(bz8=?QJB!i6RnjVi~8=84WS0Q8-0oYG2Fs;-@ zUS+h{HZT(p$ayK}kS_1ML30kvQxRKDzVVv~yCo#awZS7WR>N%4h*MsA%@<68K-322 zWP4L0tJ_C8F^|F661}mY0f_#^vCOhYphOKWUT4d>Y!)#=90E!Cf>Rm9rPp~*!RqHE0yfSDjV`uH>N>drBuS{OFcM-t1R8drvKSF-4n9TJ^tcMOO`>5L zVcdi*G6Z-5Cqjhu@H$%LA<6g&AhfGC67gX}O4&ktT2QfNi}`$geq2VLRF8`MFF;K z0cgHwkYRkr`_a(~Fgl9k&TajWx|*0JDYh@11mD`79k`uX53*EzLR>dP+J zKw^P!G;|QByHuP*<;Y8rIjsW2_a{4DYuO+7{J%mn?q}v_e5JfbRVqb_7duAo{J)`w z(A2|3e5}!Fu@QY zPreBSLIH1}&Ks=l4+dt|Hr36WS=&?_@->7)=aBEYIFx9I^}fK&P@t-liwcr1Yl&*| z1=P7X`JgSpahq%TzJ|KywTU&+p8EL%bX1z*k$e^m`R4nALGlaYgvo0jaqJMit!udZ7nEbBREW@z!uP#f3F&68knml%(xc;4IKkW<7Ps&#=SBzOE0zoiD+Xe6d}e5I=O(>3*&36(V)3Zf$JZ`Pckr>!RC{Q3sCiAR zu&KLa#l{$18W$6*T2?I=^wmR6!TOC#Z24TYm~+&bp|&+`%ewnFEnCqrGt?GMwA9WF zE$&tMnW46oO+7I++1aVg47J5#fhBd#QfEB2WZq_7U3o>42nr^uzzi+uW3!2HkV)0)e9Shm5T@DC4Gt>j4xf< zwiccfiRv2%0{V(%dRT8;y|lffJ+8%8^)zVluHH3DV)YuiYwb`^b1>N_t!S#319RH~ z1M`+C>A|{|zI1&gJ%5>&UfjOCS4=c?)-P`!;2OASZSAJE)hm|{uH4)i)q0jS^`=uB zL*o2oV);4TQc>wjLFt^~-t^4SVl5;~k#mH8Y31mu1Te(w)w$suBl}$46Itw9F5Q4xO_>VHZ&l#4mU}? z>hiTKmqwOvZ0qZ6=a<#B_6@I?8ES(KYlEu;%Vvh!hF11B$NKu(dS`~(&^(sG_F%8F zdeh9%;?Ro0X!GVZ=*Vqcnp(U(QMV+1P6M}TU@qFYmikD4+ft58EKkbG+TPyzT&PD$ zt!bMZ6P4lBwGHiS1YH#dQq8pub+s^+YOZZg*KLZx&0=@o{NSeUb5hGwo0cZXkzU)9 zUX_Y%)&@J43@dY+rFq@4HQhSjqXz5cd28mc39Rf$rF-f+29~#_=f?U{O9G+TaL>vm z!NHlKwq)(%u9=~>c}+8Gn`egF*sa7@6#Y!_PHpS6uQaWmHVsT`Z)xfuzVX#RZ0Wi7 zjo&@|+OC#|gtMlfar*5et&1;y@B#iw?l!LBuFlT>z;&NYe0}+AS6$or>e*lYTK)Cc zPe1*WUpgby(Xm1sfahHQ^cRn5h3~SsUPil_O9>l zK4I(L!KW|ZJ@nZ6=J!5c*ZE(I-n{R`^Z)*t8SgxI@%v_+a>*r^Tyn~%qo2Oyl1s$< zgH0_hEe+3a2Ne|+Hz*w+IO(L%cg~x2$t9OOGV9cnTUuK9ldm|wqN3u?<98i%(n%*h zec=(*?3gt*AGzhW+oA^#yn4yymp`=k>AQl1d)J)svB0!h*BpQN@ZlHt+)??vA0{vT zqIcc>fB3^`7hG_GGBmX0(Jy)*|6y{SzIV?_hYuePe5vDOf$+44FaP+(FTR*~@ZpCe z2M@gZ$Rm$@QV_ne|F&g~4<26n!GpE4t~majGO3k8JOlb;8FRPWa9_KUl0N zfran z&Of?e`o~87wLi9szx)32-@Es9&rgQ-UGd#>@2RM(`_K&y$*UJ${_^Jzeg2FCORk+a z>y#I->0Wr>Ri9{9b}#rRIOB|C+S}WIH2CWE``5ltedFbo-`=qE^!x6+@7HzjYrgpX z58bxo{5hi^dFs=+@z5W)fBoVeTMtiv;o-|abKP|xJ#X_%GsUOxY<>HTi}&1{uD$>M z`=5L1rQ`2<`m*nTzwV`L-m~{g{*Fc8eBZ8?)4sj-u6O@*^BecyeC5JzKl;(Um$Vz_ zG&Fo%9k|#&%eC(%;8sm@Y`Sick6p=&bxQb+ov{1whrw&eCm~l{&3pCd(OJza~nVS z!4LlWw(c4CzV`6PfBCa7J+gM&wrzpr@9K_u_q!{C!4+?x+8o}R+I4vEm4}`>?cl*P zuQ-0%t}ACO+4sy(Pde$O`xe!I=gZ5ME&IUfr(f~&pMUbUttb9?#qB#Uif;X3bnE+e z9hNq|6%0lnKH<%`-r}D9+2|9uRVDX5^V1i9^No{ZyT9xm-PXHj$LQ@lFXFZyxbN`# z;f@;{Q=Xsw>}Mmjm*3=Fd*?CdpMUbHb3yKoHP1c&`~|=IRmV$x>w7nEZoK#2dwb41 z&o{d5JqKoAdgzWt?caT3$Md@`d?<3kJ@=gT`ak}0YxgGMqrUZ@y5WW!9vyvU`oSlU zJFx5U89!dU^`g^HKK9sS|NhT^UbpZw-+bwbTi?5F+qPSFE1mxuZhV-G$#c`)%{mu40 zKix9-?KfVTJ^Jpa9;n@Y_Gk9}>|od1C)^X>`ZBlmj9)B0G(Fa_<~ystzwxPU^1R-T zwQHyU?)yUJ=tYn1*>U}z8SSBETR(Nd!w+r`M%Vvs_u{$Rp8D46=sRz|_C$Qog@?X@ z=2^M_xR3E2d^~>h^6Pw0#IJha$mr;`hwf|M+daDX$}_(4`wcUjFZ3_uMVdc=(Fb&K!OB)Av2<-+9@8 z9rymFJ68Dj?w+@2MtkoaJ7507jFV?wb9{Sy`xEi2PCH}PtctVGUjO!Go4KtIqm^zu zwDPw7+pDUpoBr{a$8OyX&f56IEyw@zm%qGa_t#H85I-Bux8TK zPv@7su9`geZv$-3cmy8g{$ zgUWNCJhf4O*9 z_3KCeZ_$n~ed+k;{xT!{!V52a<|E#7!cX4`f3)d^cQ0GM{I%Z=eDC>1|9b1hk&%(B zuD^cH>j!&g9QXcHf8N)a1C(pZ_Lze829`QFZpz9!65o||^(op=8FJL~3td)?jd z-+K71*>#-{e0jl^t8TjKa_J90;SRs^*1YrInRoh@y}<_`eDEt@`O36^9oo0`tHLP_ z@-qmzzxn2y=-RCOm#_25+c!QnXZ^jyE8ZOX)4tQr8a&~qvxdHiw(QD7?UAi}yX7yO zcJk?`pZ>`1-PbLAK~DbuM<>m?=J<=>f7+*a?3nS(M<4zCwbvfIXwjl~_HF&ww>AfF zS~z;j#V5{q_q6pt-TdL3mt5J_(Q!i8j)m{*eDd#4t={m}d+$BfT;jWf&_$&L5Pu;ocg|=gkJ@%_V`q9T0E?oHL8^7IfN8<5{k^PS^L1_1z=XLD- z*Wt4+I&sE%Z@`6}Pk!L!lmF{mPi@=2efu|eHs~+@`kNp9^`-uwt$E|w6K?DHlKOv( z*1a|J=l9-wHvHMWt8aQ{$M>Gu_pJvHpVGE(_v(HBTp8K=zMFsfkMDFn9sKGOp%YIy z;ligjKD7U(Cr|qDhmV~xW5%gx4W4jY_m1yw4u0veSW8>ms?n~0{N=F+UjOr>E7q^S ztTz5XU%B_*Q+Hi)+5_w4pMLh4pKd|7=I)<2OJ0c0^TzB0^RZV->v<>IKHS;H_S1#JNZQD0zydM3*Id^P)YR;Q)zWLn! zpM7tY*Za_mkKcUKhdy-S)mMM;&*yc_d1r33Etg$(!Y`h^X!DBa|L`m8`C74J#j=qd zsnHL8^rJ64aqIHi&-u=@PYwL`yDJZEee12a<_-Pr)S8bxn*3MCpYQHo`LBchZ@wN+ z4!-)k&;H_?*~@pVIP<{J$p^2w@30iv`u11%Zr?svekQr^nVByPAAI%h*Zy|TzGdi> z_uzw|i+{Lh?txeTZ#KG(J2u_1=;~V*Z>?W3*s*@+ z`KNW>&~WX-&z$<)m$&?_skQa9`=|dPvi0GI4lljhbLgp-r-SdB_WbkDuY6YPc=)R8 zuiv)f=C<}7D`xNAJ&e%YH+G&?yBk|Qd|>rWuSfsiwDX3a zKUVy|A9lWd!kzd1<*^%r`ing_I>cWR-1N?yo8Elut@a&F4S#>_wflZ?&FouuCq8iC zwuNYIK6Tq|x81q#!qm!- zTzYKsci;c~!UueNc5FuUw0G-8r<}aypMPsb*LQmViQS71)g9RPtbg>Pb8lbt#_fx) z=5INCLjA01sjW-5of-P$iDyQ(z8v0q#xD|wrb`{uKDlPi_TEK1pZV~uU;EmeLkphz z0k`$-U5A%mebT|&KW(2jO_t?9{pByqb~M$`)BbWoqy8coy{P$)MTa6=&-lgH4^1EJ znD)tQW_9+gS~Y9*-7EWgdq4e`$8K1@;3EvH+b%eD%G1cfYmgS?}K6Z>|5vqU%mMd0K$G|CqyHSTK8f{l*W?>i%-g=tbYX zebHaJty>>DeB-XC-qwB`eAl$sUVCl$@An<|`I~O?j&A$JX$v-g=+)o-;DMi{Ub&_F z@tFtyx@Pb92LC^MZvqeH+W(JhK}kunZ+CXt_oX8HPIi@T%nXLv%#5A1h=d^#MTwFq zMVqCPNN6ERNF^bARCdw-b>Fj~dd_ps^E?0V_Bx)|>p9JJU(4s(KFj;M?)yE`RN{JD zH(h{(0Y5demo)g2F`i22czOcvk&}+D zl@WXA1l(k#q^e#O*f(GI&=nIGH_L{v8@c|uJ$s?#K?OW2s#eMN2%F9f!}Pmg;Y-$M zk5^ag4-!e@y1K&lmnol=qH%feCL+1c6IecP@Ho>K6Tk0e`oMwJ%p_QRt}iyu6wQ?g|ij{2^2F685S z(%5@J8Ru)!t$t}b4bt1UZ!h+$Wm&s+?S}@*Y(sth!xLumai9+k1{sWXhPx051h9QO z3+BzOhxI2!Ph@4G%eY@B@@o_a^cW}bD6KBqcf0yg9LI^%r==sg4lSIJoie%Io#A`F zNoSsQ+qP}KuP(F4u<{;$^vDp|b<4rUw*$)~y5b{p`|kid zcM7=O4KixG=B9*tDHgFf+pih5cy9uw_T=f)nwX9JiUA)DcYduG9caG5EFvP3oRT6E z$*0CJFKRZD#6VtucL$+&otKx__{VsKT&qlV9&M78zP`SqPon@Bk=Bs~i9@?OIyy|P ztsiG;5jSty0(!HzFr8eY#tBu&Ic1X5()wP7*O#;ln|VcDi-%V~w9e8z)Z2?NG%*p? z)Z{t4BRD2AliyN;V{UpZslMLy*%`GBSDcEfUl;8Um>Gv5yuC#vC7H|1%j=t(Ow7#I zGn~J8aqaBvZ2j}+M%LDwlvPx~Z0L6toHEYW9z8p)!p_SZx41A5@2x-K`?gG}f;4zI zIe9bKoR$`^mX=oa1JPc~ktDGa-L{8H+rTYpLKb+~cyo%HnFj>fr)Kx+^bftTDM_C&4-6a*f}|m2EPww z{_^EZdpS|^#*G{Jp2r&pZPG}`z$x*u6yRWyl98#YKOt%hY8;kw01E&4G$po44iZ1imVG$lw^Q7xCoCnlmx zOEpxj4DJSvz9@8*QN_G*m{TRJg2v}I-g4lTMpwid8yg!j35nHZv*#HAB_;NA=g!T{ z4PO^;57hK0F?b(X~mQshCj)_6NnMnGl zsehXK-`~`>Dz6e?*Dk@%Qk)4IE$iKMF0lk&=T&uZmEvj3@#$%kIZ+i)x`Qyir zpfSjJ?#;@lx-KUt$M^MB-iXLZB}Dz^XBkRs%*@Q{8ymS61-JP?(v)u^uis%|V^enn z`BV|zuDEl&YR$S$n_?Oe)!$5AV{|0l7L9G&wr$(C&53QB6Wg|(Ol;f6#L2|3zkjb* zb^q(?RaN(%v-dvx-ecLHD<#c+jodn~!?d%tb@ld?su%8%8ea+~IW6&xRbJ$`#m4Rx zia2ejs-ZCpW4d$*646G@G|=?*%i-^3csPV)g3Is>W`;1LP~k5Nx8*~-Z?Os;@o`LK zx9Myv%U7jQ504P}&AQIU$9w$tNj1(Xj=WGn^`{ePY%~fGxaQuE?ajZ=hJ;1k?~5|7 zc8IDwtL09NQ??8ZU!~sf2A5vt|$1rer*m6DlBa{yCfz#`4vRnhmz@GU0|2+YW ziyx@Ee+ziUNL1nGZ*T91jF^<>+zaAfZ+Kaa+uSFQCAyt#;rKk3uBv?!I`$B+95|3U ze!0zL%{QGMpCt&k(|(#t=Ozk^jr2m-qBDfz{SNjSx+?m*OL{?3rLAVePtoKCq#G}< zqk)mZ-(HL#Q>zN#jv17ffj@$T3EG;bMZGyly6Jq(<6>i3mYIF4*J`+v zl8DizcQxSN^;O+sM32M3XS-SY4L{17)vw=ObzW8*+1V>sNF;G&n`Pn?cns&taFyO4XYZ{%I{KF)Qd5 zOBEv0Yf0Q9|9)J5?;! zF1Y_vRGoja*=ozrduwFyo?2Q~=8%hJ#gSp^_84nZqdPKGg!3^Ytk}CQ?(XaB+ur_K z3T^Fmq2CR*v$Io*hPLPyyE>a6N<@7&Smx~6swutF?GfDE+|2km1B9g zHZ-)4!&Kxkv%oGD&Fky=JpI`t-ey319*T>NT`MH%atX(XMd`h}`+LoG_jV$Ml93_H z8Lr9<-vG-j8--_|wIor)*-; z8WZ+noL*U3c_!NL=Y5evR}t>ri4i4MCnhkHa>&BsNjF!KHPg7;aaUT7Ai%x+E}MR6 z@+ao)4P(PwxYBYKPte_Nr(ja)351c$ev2}MJjpGbD)kAQJs?VoqIQQr0TooJT=`GE zJ2P->KKEJO$WCCu^$34O??wqJsxiH$6vc7pD{eBra>0I|i$|Ki)vNgs$gcYO&Oc|T(H$BRcQn-0y-GV+I5<_< zcg{DxKCds=8=zts2JYRsY#kYqc-AzwbK#hR6%D0C-6G0+pnZxh>pf3i=EnB+J6*(k zv*VG8MRGX0e?~Z)>9iYopdk4$Z z6nAS)YUAQ&6oI&S5fju(zWo#&{^r&DDdGog^9SS+tKz%-L#g`0r~)r`s-(S)Fp{U+ zdTxlQU}eU}=7Yo0N4EK{H`k|?0{2gvO~cOb@7{h=@J+j&b2eN%^8d{`mg?f9rDnb! za)m;=CdezMCO}+&CYPU^jraHOZ2}-z+n$+-L%!dSZF=f);op*}-p{JTl`H1I+*ECs zvT_pP;G?SEc<7pqA^3ZEc+6D%$sId7GA3vEcaP`|cp_Pl&5tp7dII!gK<$h+%RPQq zmp&8{+lOdaAI^VR-NnDwOKsF2-*)u%I#fsi>pG(qO=)I_b|C3N6Zb zoU3=cX1lt(+cAe%nS9UZ;-fo57vZwUuaO^&jEwwkEh^5OI(z$F=H`efE!SK$AQHwW zG!iCjOAT7-5CF$3YdoQ#0UqB=UvsjLf71-<3yMq%TSF%B`~vdg!UA<%OQy-vSNv^H zUS<+8dz81SCz}?a{X#04Rp0Fvgf-oZxP@n$C4Q%!pZjGVA#X8VW)3nDm|8P=S->gsy3Etd6zT4Y~;cgnz0PgHeJO|sp zuqHyaO2g;Q9>ej$!NDg>yHw-mM5MP>`V~M3Y|8EJP2QueOtYb@|GVI1h4 za+k)y=^rDdwBCIz0MbD`TYGuEi4bnxSY)ElVRHb0Nj{zfXqx%2Uk}33O?tpO-d|dJ zTDk1OW7Gl}<)s68nwG0>7i=G*~)yfv)RLxy_qhpD@Q&Fsc{mC`cggSSZI z640&`($CBE$izw;X`~aw+&C{TFN0siB_$3agesCyuJp|3XV4V+KstyN;Y@Q^Ir{@rVV>o~-zDJuS844#6=+xw-bk`UZ@Pgwb z49z^&YR#qO73;m;T|r^OyfY2m?^kFebieIaU20@VIrI`kQp&Suhm$Zk*il~jREJ5r zw-`>2Cr)W+VM1t1L}7J?9z7Bmtjwq6UbY4`S*5fr)XewJF}sa&w05?fSn4mp&(wZq zlNzsXHuff8#3yW}gnZ)VEg?FbA1(6Y7XQFfNOwATgy_jMT2hwK641kpFt#LPwkYUl zUMdFFTUhb6(;Dp74mESHotq2HrCb){c8!fDM}EawY;=B;%FEmk+(x@y-TB4T38y2B zO&n*GkhN7NAuNm^G16KJ0!+LHHSaGMZxd;Gl|YcggDJ@zogHt?nN zwo?w&gU$?}%^K+#3!Vx>J!TuNL4RYXc41vouC%lX^*ar`KCQcg#b3Y!BqT=RZU$~# zQidA~I7Q6(TL32J09B7kZcnr8uCma*f1(x#h-r`cwg44ltE)pwJh}e)<#jl}MCSLG zRt}@E2NfcU_7TP|^en1}0ytzstlw(t9cYTv&_ z8ko&VKPIYw`%IYr5j0@zL(xbGoJ7aR_3rPv+wafVV?$T7F35KYg1u)qExARXKW2Uao*iTIKGJ0Z4lvW2Y%(0N`Tb(Q_1jett}LeIXZ5-mbAbr6V!-0B%kzqBQfu zg)nhkQxh5lyw^HCjR_boo+S5DpdvqGhakL+j@!H0yA7)%V=vJ{neszC&~tg(FE1}3 zI5^t?Y^$=kSdFEkstT;HfAH||@E#7q@8}54q`UB~Qr|~ujjbaFjjX(I3aP9N4Wgrq z^2Q#!bh0x*8!Nmg$LjK;$PQF@JR{px2k7UnCDdT^A0W2S89)4Iw zI&C+~z`$3nS^v$%*8?0e92OcHDDam@Lu1%6KM#<{>W2=TSY2F5fChj7jMY7y>h$z9 zp7SpjDCbW6{#-Z!KCHK!Z(+cwa0q)!iEIb_aCM*?Y?GJ>CVp_FnwZ2K@Z}{`r~e4cOf4@BFE+DJ*My`0h^*?`j$qeEs>M z{r2zu>7Psr3Oayw{Sow)nT`oEu07uK|1p%-6IT>h2YhL38_4Qk2zLB9)>B06g2J*k zbG}G;TUjI9sf#N8#J&Eo=e*GG{ET^nZ&ijBhz{vV$$SS5fOG_`0pv%(pr3J z3=0}}e+`9Eh4+uo*T3p&L)4Wtx>2;a#m~b%pv)RJ#uo1-i9)&^?YYF;>+7@YWaF|c zu8cCOOGw5x;cD)1OKT(haB8nS)-;zJrpxfJ+El#S#>+WU8A7@(hU)~W9ZmNH@buM* zLM=FxWNcK+6k4DTg=SSXp(0f=v{zdffWP{%8L|g~v)60M>A4np-K^5K1}ji5Ea|=D zZ&P4`_bG~N6?CZYWFOj`<_L|1f`^BN(@^7hW?>h)(oKY$Muuv6H86?15kQ$$Q`Xks znNytGTc8>k+nrMcH#f5>tg|*dCatrJC8sg%K{GD2z!>zYg{MoKfvb61iB)&fN@d?3 zmy!lN>-5k@l1&;^xFms(9uZ%&_3DwZ z2E!7ziWS8PGzNMb8D_=S*Rhfxq}OSpwb#PTaKSG`Lr@Ad7z!Eus~iks&gNf%y-=tD zVu>l8`4$c65T}@B@h$GqO3Z6;i%?>lS7DWvrq}jKgWl;33=|*1`k%}am+v&ILBL|- z@YzCpz2iVGhN{VFh@-P3Xn)ZI;h$cW?>XGrn2)yYLn@;F=-7t#?>y?>-pw6_=D5`wo-0S1}lU)Q>>$a7=q@7md-u(DP!#U%BC)0Uw z!v9QXW2cE)XN94pX8rDzATL}hF-|9L_lX=aGs|d_Yf-(i(K_yR8g5cl-qxHi2h+!Y-9rSRn4Dqi%qMp={qq@Lyja-~Ro3x`AGnWkfege(P;V+TV5d zbmmde?zJBn|Ezse%xJjD&BdiwxU!boDR_E(oSK|cP2Vu5I6JE_If;Vh6_78;z%X07 z?xG&tSmB(kWa8XNa?VG{_m@!y*c7#TAIoEmew)&c0Ss`Cnq-S@zlyh`Nz(YyMnOH$*%t@ z@N2WSy}ey74gQZ~62)CtuiwrD#K_RicvVO>%kpQZD~9F%UcZ3)_>I?V6-VC3NG9u8 z=Z>fb{j_4X*_D{X>0z|j^JHP?M$23&lJYyBD(E+z=)|jjSXN)qU{q@Aa9G$@wyXqH zifH_Q+BHDbm&MRUtS4P#ft3W>)C13^Uz`t3axaxkAh?-zy!d-JQD@KBJv<)jq~|1w z)ZkJc7#|-`VrcS}La7UOgokjJIkgkG!qoUsS(p7cdU0oH&{z#q2?@V9U0n$9j$OAl zO5v;wMy7aXHvqJg>B5n3ih(L4BXM9852+TPgE%ca`=co5+-0S8JD$vl(#__hTQj!< zGU~(mmD};1jo+d7&`!-Vo94*(M%19I`+KKg;V@EL#3hh=y7VrMJg5M#S^BP{*{5Q` z9{1*#3z^Dx_l4f!+apldQ8=>nfWuDZO*NJlhn_KlHa!0~#cn=Ll> zRDX4v{xm5&l*A}1YKetz!~!B>0$hv1!S`}%ZNW^_calC4-`@N6!L{9i-C|Vy zQ4R~?=xB0iao<*Qn*(ix<49Dp3zHWDN8c%tah0pKZV)t)z=P;1q$YSeV=eLMm zZ@o=x{iX9S&NcF>rHHL9{j9Xhgf27_#)B>zO9~yk*vmT>Dzs?Hg~xp$#rnvaVhB0@ zX6~`T&ex^#qvM2fhwYxsC6?&@eyr z*R$$oTl$apw1)Jk3odO%)15B2?xgV^;5-9n?J=>RRS^a4x_`g~i%HQiH;MD}Tupgy zt@^hAjYa;i4Q0Jx$%al$#yUSua(=+&#SJcBWpO>noH$4OkOU7Zr3R2C9eq8 zJE)@e`dcgUF!yGa-qspZ9bXj{eUSQSWBdVIH;rtUjvJo#{iGyG_xO{eBhSzTMLuoC zH)+2w2e89KAViS|wS)WBwR#r-Eps`Tz%!D|OevN$>1`YxYIL`$p{-P)+D;yk;mR>Z z`f&dD4$3e{N~-Q2PcF&ngz3NiOznC7CDEJ;x@7-1C@6^75SPqlGhEWmH%hDKGo@Vd zBOYA}S&-i+gT%pD3-X%E-ASy!Gt7qZk2&I<7&}qwv&zUS3v*=zr9O_&ohX&K9Akg! zF#SQWvx(aycuL<<7~jEC{s&ib``RXVIumRdldHHwKK_0b4V4oT=TgMrFA5*Coch9C zn9f7&qr*c3L&eyHe(lViCIE|EVu8xAcTUK0b#-!IT}NISn)9F*+}row0&njYF3>qT zI@)Ru2=MLlS$`*NmRCO83RleGYOM9xW$mL#uPx`*$XH#tn>(47kdWxSyFH}DE$V+- ze%^L)iD+1iq2H`SR2WcQcU1)V1l&mG-F@-{TDdHeuJ#Q z>+bGg1$EfouHZX#u#LG9ntXaXG%)Bpgb)_S#A3y45P!njI`(xZWrSX#Q?FeLxx1_1 z6}3J1WA!$;`TIYKZ)|suvk2}`J!D-zjJUC0f>+j-4_y$B%@8X;k0UB}`}z4w)5-Qn z3oFLkzMb}$g1WZ2IeN&W+w10Tc*^zAkTm@p2L$!JeACog{o0KG6=DX?#?<`FQEW}@ zGz5gAx&Zn1NA7TnNS0@K!-q&tP7Z*f;p=d_0w6d7B{@0#9Z`lNI)SB`SuANk(goe0 z%>Dc5FwMH-7WjZlF7z8jsblk_G5n0{buf(8I?3O zF_V%u5=q)LGo)nQRJ5LwLpEG<)r@1qC6`hM;7}J{ZEb7;_)q z3VFAt4h;8?&ohqh_XB0Qg>w!*0g^+@oWrla)Azdr81_bt# zekUt<*5Oy~^x-0k<42Fb+ZR?_?2iXh*w#$uEOkt@vio9~s;8ck%O#q^g|Ik&Zrwh8 zhM)6^`L^Jd#tN4G#l=TgWq=mif7?&Q{!E|E;p$R2=p6(Y^(N7Oe_VVVED>6MG3iX>4G%g=EFDr2)a6xO=8WPObI#K-?wJDGFrk_Tk}7OiWDY z-7!0=ad*w!P3o$}B2T(zhrG1(#PZ^=YCteNELiYMAP|IL@3ssw6j4FZZA(YJok7q* zL`00nmRg3vhFovZOiOY1*Ke0r(v{1uB<87Ca->wWTmR=Z!^!Sm`+IEcK0dgs9xMrJ zq(cXIkF%~3Wl7B(O! zJY&T3Z<(8|dwG_$WbWo768HqXZL$NRtM-DIsGR@z_fANNGj7L8LXu#g17CN@1|7KI zyF~3qo4{--Qns!(b%|fP-q|cQ1x?rJjRR8oKJr?Km*}osHds9LUnm}lzwS+``$n7N zlw~t&eX~Vw#p-3=MHBWz(9J0*hTC>~jXEtlQ86(d00PXqyu`~!&>d?bsv+v>6XWW3k&M)Yt|$@QzQMZBvgsho1&(>CcMa0QPkp1N=c^tBN?HYeu;YC1Z$nr3;Qhmo9!H0!fNxde)P z)uF&LtOW7R%y@ui06@|7buZ=`U$EfZUd(^wf?(i-~ z`4D+7eRTFEEi3@f9JwnfFqf82+Ho>$*Iy*XJy!W5w zWZs;ZX|pwPnVd+GpdgVv0H@Xf12JY5{DAzG|GXu7c{Wr${yF0RX&S02l2THUlCJ}^ zycr76(Sk8l#4ozII5>Ij6RX%(6PAzu>CRNrmJa#>svPb6=j1N1F(`87UFL1^`%fQE z;1n8pACW*#4J_U*Ha z*Z!R;NlD80E#z24=eSsb&JjJjVU})B-oLYVar^zhF1;yUG)(e3Tbo0MH&fsj%+0eF z78dq5@$xew{m-@CV)b2FDbE&yfDM@#CYJ}WeSBn*BE@ty*FsZM=_{?RxqmY-tIHew zOU+A9cey{@1RU>Yb8$VrH*k|TtHsLbd=?m_KyRbtd}zKIUx#$#@Exu zQbWToDupFUerwD2wG}KP^!;_Mps|gEfuDn>=Pz$>J2^PjW{FK*jhL2Ne!mNXQGhpL zdaknmhINHG`fjWS&fe~0i&5L$U7Uh~ypevEL%dOq1!t0H)10e2f+cSU+4oG%z`9Zb z0L(Iz=6rA!+!NwWF#hrJ@%^Qrg(ut{D%7x~+?8jBX#`Xpec}Q{@{dtOUIS#1VV>;=lDI3Qi`qRY*q3?BjI3^SyEm+Rc(a+hqlttR7BpOu#wlvQ^ zX`6A@Dd|K=`%4(RF&;qC^zd-vR(d;ZCbj8s{~+(?Hm&@atN*W16MT1wBR#!W_4NG@ z0{r1Ruk|f`ZEful=Qc+*DQw>OY`l#%3>2nEIA%$UucI5zgU{9Oz=aBxJ0~%55Nyit z7(~q1dm5>vKYi?$yW^A?#34ze2AE4+t@=|=PJ)vpM0!0v>xF~aw0X`QH(igs<(%%0 zJGkrS_+K*rWDPOa&oCi`$&u{J+Zd%V4<3$fB$r(= z%G+-Bp^_Ux*xR&OUut>B(&_iVU+C6VY{p`rUg}=d$wOmU$9d9MF?ttiy8HhWJ#!mS zIFY`*pZ)70E@SmDm<{O5Zs`v^sQu`M$B1W#{9ESb<3mXK+Q-msIOq%5wNz+S8PexV zzE=OLQC1v*+GM@wW~Dg(0Fb1wqVe2QcV2Z(4?J7wW)k|BxseQ%I_j1kx-6EN7fTb# zJxlbVvtO;27sg8yOP@71KPm`e9cN%Y8`tvr+FZ6{XGBLHfAbhx)e*XFpQ?-}=j7D|vNRrV$h!d{;S}M}ZuyDq7ZE$klZ3LW6jl zWoN@E-R0T!G9N5eawux1Qg3e)Mk4groi|YdW+XKb{`(Z5W1;SJ+Q~UI2D$4#Gqb$h za`|!1$+XT-Y@>2h2}MQYu!}BWp22YYQpCc-N5htbMoJ(V^#CLw|fp8wi%JW0q;?hb~l3Edmdyur@Rw4IJ~xqUbm?xRt!?X?Gl ze4;7<_PlZuMdxwM`WP?33e_RVy9yUVLGQR8`m@M0jYzL^ZFP+K$D#oP79Jj)2hQ5s z35>nuVIPu71^f06eU%{w=O*LX{)7E0_Gmz9mb5RR5_A}JxT_odejA3w#wG{mbyRas zK7sr~Y!f-9zD}1ky6;(Sx5tuK_6DU@d!2rz`fr-C_ z`tz7h*M4(;t*?CMM2t`r6;)YT88lf4LECEWe(HCrRQ}$>B$we94OaK_emf(JS6rjP zX-aXaenO1Q9^q}r#S-hXH+j3{rF2&8<3Cy0FgzxN>R2kmc{J1WTj}J{bFuOddPvcA znA>lVa3l@(EWR{}OR@4dfFaC8%L{RBEjxX7+-}~+?->ROS-ZBpoRToDqc*3q|5V7K zKge1bfZw+PsIH8IV=yGee~ysA*rD&R=8jHxEu@7#tand{>Qzh2aNnp=zNpc+ztavl zgID!%cD@f<6VC+YTOV=ct_vO2a?NuekQ4>p0j*;$>utiv#|N0NI>2p@L0nbr>t-m< zxIM)bcqY5ldoDGu;~KaCdnL-oSZPK4o-oOl3%`OIZMC4#AK=DC~QWbZ-{{)B)YDR?!i&v+w35az=6Ri;Pc+_%X^m@Cz1bYPyzoax=IzZl zAFx}#VZdBJ^P!)XKOOSZe8mkdo@+AKskqsuo?lpC4nyLXfi#;{o9RQ^+%t5UsH>h^Mb_)jMAPoq{SA?awi)O0m{TO@9^hRfF1JUqDxw?hybG_I4{v@axoXMgZ=3e0V5na}>18 zbwt9^5pdEDc-q-<%{G}aWxF`7T5a&_;MI^uoARBUnCT6GYdAbQ(;Vti-kF@Kb#DJ7 zo-QjVVq%!8sc&yT3!t^1I9jgr1G%0K;Ptnxh9zidav-29+r=0l@~TDT&7^Ii;o;Fn zj4O61tJ0C^0{bE+Zr4#xH$R{77KV3u>n*Z2AMU|gr%S7=8cZcG_T3cct~>nq8?3UB zkdT-=6?x71hv+nj(V5l&YmGl3K>cw;)PKs>z3L|EvnR8L6=@f*tas?>goX)Apd!Dk zY-D0#>Dm^4?CZQC{HX1x?knQ6k{lRoHD1c62Cbp?Wn#XSj|XlpR`_-NJ3(UatlNJ? z>ugU?j=x$w6$^)8);FSQb``kPsKTcAum8smxsjOQoO}ex z1)aYc>t&Iz2rfD%oSYmOu6+{j68QZd%?Z#;o&i4Y&buk!FUh`I8xQK`r6tl=hl$#X zeOXO_wCnl0%O4aR9BkJ33<&shg4LG{a!z~-D5EqqPp&`;SdT^yR{&VftO?_ zbMZwsCLE_G_1HaGZ_eV=w;v{fvwgN+f&@7izo`E7nMOrNd#|jPF&nO4f1KOyElqn= zfSE3AZ*NzZ0s|-)!|U)e77#rAUw}vTYG~~57zQS7*Z41hQ_Ic6U-tEN!|`{$e$0iC zpa8K=@Xx~nRqxa$*?@o&P-^cragUOo9-p>dZ!Dm9iiQSmzE`yx!|YpjnV96PV&#r~ zBVX-wWOYtj;>o5E5lYPa8lILFy9_e!g*TBNdnSL0pS$WA{xl9m5Wa8?waJ#N8~>)H zqYLbkZU0+{v2UB;$C%}r8NeKTCM%OQ`~X{L;P-R~<#Os*-UzVkVKKALG(b~B2Dht_zb}k2>R>&<7OJU%-Y()G6^vC2yjnj zhG3=f9iV4Yg2$VZO2`=+5@Bes1o#&DS6Gu2Bff^p1=sv-7u5q-M-QjtJgD%WUNnk5 z8P-313e7^#7a9P1$Nk!ev-2@tKV91buGHNd&Z&If%^#*aZbEo9?KWh`kM@K7$uyfX zG6#A%JpY>*2}g7`s}(f=5MP`Hg2v`&fFch?);#DA| z&$(_qLML+@1*6?(NM5m$#@2?u;gvYMH0Z<>VNMlY znWz*>pV5!xeqy4WQ>HwVk!U=P+&#nSwB&RF;7y_YQMz8TLj7ckGrv7PLEvmOj8lM~w*oOoyupCLKO0Dk^?^ zOMa*`2eRt_ZOR2Ir)?+oX*)koh(plr-f7MRW?xobQ}cP)*6-512!y)=N%d>o41IpP zhtvw}r>x%mx}_A1HoxkEMRBM%Q5gAALjBx5Hz{-_Q*uxuz9+76*xZ1p&OJ;$WyzM% z*LK^u+j1@<$~bu9`uchxdyC~VgVSV_4nLyLt=nMAL{@QYHnEj9$9APkoxx+ioW72| zbD~S#j^Fh>(cj?6lsm zkC7H_oOr*jQHu}zE%69-LT_A!hl*mas_N=jE}j=ZeD}UL*6XEiju?A^zj(NGx9}iO zHriTMN9Z&O{PLRXcWe=r_4SORGx@aP@)&dCIC<41#X%%|3-IAM^f$?U1LE zgK&TaIGg}=rq@~YO*n+Mi>DAw`7SuCj;lc+1BF`f42S|Cczh?C~Yp2$DvQxo$Rge1{6$DRFQ3fR;u~B zYZjf8U&U^;g}$>DV^K5hi(H4BOZTXunsRc_uZW6mOWJ!Qqho+y^jwrw-CJV=pD7!CW_*pPSrF(0mnak{@| z1LXZiSXj!p99Z+Jni{YpC_m5;l(~p%MuV=Wdu6h!=t=}TJDq-nrQjOKC*M<}X` z64RZcDkn3UUc0?r1hCWq+?sh8{MM>?Y+bjz*X7dz30UlgYiJJBwhi3@-VO|MLa%{B z|CS^3a(6HoI{g+Z(q(r--Zn;wiL+c(i*a4u+@y!=IfDs2&+y@RPgbq!gs;m0An|jr zKOjIk`Y|#-?glufV4*1{Wv#ePTDBgN*3|>^@aTvYtauA3cbDLq&t=#ELt7FVc^4(3 z!!%OT{g8zE8pC=_F7BsIEHvkcdp?9~t-6)yGpoJkWz6V+XqeD2>+|bNFmeE>C`()k zE9Y3$80#s(d+a*l_NS7%x{CJO_eW7w{67C9;0HaRs3;H`=L}pFGT6*n2)!UiWL>m~dy81o;bX**jjDd69Q$YHZOxAyQZ#g{;Y)Vdz)v!*QLk( z0axr0iYb=)ZL*Po7+@z9*Su)KA8x-2h)K((07_)&)5ozE{TA4sd_WYlax$v~4nm7GA)P*O$4WMoNX)UZSgVmzgl$G-?SM;kp7@1 z{`w~rxt;Pr9^l>n9mw)Xm<1A987x-d#14$4PqU2JRi{0n(jsO^23|=92iVL}l31}A zWiAN2lsF#yJfCB^swKb%uI6!%Q>-!~y{CzRW(gseC?xD1`pXbn2N(vs9hd=0b`e6Y zU@>0IrWmLLM@fqer@#ZOsBoD07#OnarSySL6r1WZC~>wpsYcbRc#y2YVUi^ftIS$n z2s_XSZ32^Ir@VQ30XO1&<1+L%xF_23g1VkB3i4!$ykP8GP5Ios;kOhsy z5GX=_10h;Wtf)7jnIPa)p)kz|Sg5)&LWkc^EMP(JMads!eFUcV-BvcBM)Sl9UKO3r z&HP7@`I_Nss(+#Lr*XBk{eEqQF}M2cl}77L^Kj8H?QX9w{6|4t?si}B^G`rlXjGBe zbrRWpY2hc32QUVBl@+KV+4dfAnD8Np^kyIqED#vjAyg2SJ&+z9lpd4DTy`j#R^hxA z8Zz{lF|wGw5WeegZJ+_%aFG!2-v$QKDGxxdxARtHn*wOCls2F;NXSevj50*A3f<)d$&V%z4c@^6eXjPPWL3I(8bk~KT_4N!OxLc~B=&~`yWFe6J>1vG{m zY4S>!ci^=^u_BZ(!^uFbqDr?aIH1)@#jB#`a*~5HaGF%kpquYSN}QlvR)k94EqdJ~ z3qUyNp(7+wXs0$HDB(iF{dZtFYmSibjP)0#t~#o}o-B^3W~d?=XyHnwmbxTqn<3@C zqcGELxX-KCk)pzbV)B~!R;X}5q=kfYgr`uYQ`6p6X_%1^BvGOe`oPE*Fe449QjB5y^`0u663LxL|nEPNH^XCMrjiiv$^Ce||b=eqc1ynzG&< zJFEODJNZ|5hftk7$$~OQlRTvk!b%C5Q_do~NTzyZE7Z$$Eb9{mEjt zFNM)9LMu-n-ba#R8$pd6D;7NgwlpM5KYb8>k;KS?XWArIDMF2W$B`r=I#@=+j+Y>A zB%9QtZ+2hy2V#<1S?IhQj1zjUiUPtRku705i-`u|qEiP_($KcysE}wt;Tw^N79XlC zO9&hmib*Z{Ma3@lMMn}Sgd$Bv_vZ}=_jkG>Oqj718^bzPXcLP@Y$Cx(<&Ufj(!ynO ziWJ!-=xKo@Gy+!XPXR`OV7XWzZJzKERakLXqwG*Yg8&#=l9jz9IO(9DW@6zI;mshi zzyG9&{=T;p7h3oC)rmF|U zj5rm^PPNEY%L7?eSFSlB*z$j{X7#>Evj-A10^7U%rw(Y!3gNW8>fg$WA8 zj3gjOybdHPAKYm<%Y!ibBYy+wM+V4&JF3WWckYlTyz>s?Mll+G0d}{r-V#;9DdFnS z$!Ms1nxe!h7;s`}13^rvl81}>3UoCtLCdEg(i6}|Bf4M_Qon*iZDHS@k){MuAT|q$ z`7bhJQ7JmM!ixR?$Py)KUt(JX9(FLEUPgLwHb^uTRUQ}W4px6)`2pdATXp3DWY{rd zCMgvkSaqGNp16fY6&-` zf}zd8NE9sMsQH7!0N~1oPnZZgc-q>?RLuC}583ikZU5-S3+9OABD`%(iNL|aPpckA zINV5K6e0mDC>GJ$ZLcY_0{ec$yDPysOjQWo_~V#VP;`W3BFU==JOtXaI1(i3U!g*D zV&BqNT=t2H#8f0~>S9#h;3Y}|T6n)~yI`A0dO3@2#Mdv~^R6wL6dc$Z+@X(@x-Uw0fBFIi! zR=wbZP*hGysJ|6!m|=QLq=l#}@z$WQpd~W7c(9pr|LH`NRG_n6EYeM_2Uk|fJ3?m+ z3^Xtik_BrpYQ>fHeoTV)Xc^gc|{h z-A9Fr|M^93)G*XtVk*=^Vugm$siu&Qau+ecVwt zR96W{=hVFZJdzXV^ih)+G40K7OkA9LKZrRaj0T7ZGID&v*oZi_A$IZ*c9uUjRD|?I zimYY)AqR|%fc^|TI7uh{Z>pTBQ@f}z%D`P3RkCAJ06$nL_* z(WavR^LJh;`P9Q7ksa}=RXD3k>L8dBob*4;0SGsRkV+jy^Npeqv`WR4-1C{~!(MO1 z2V_McrO@C|kD@hBO7~o$yNZKLj%444V1j`bu;JiFR#YrR#K0umm{Cw-q|i-3D!Y;d zNW{rbU;#<}t~QXOMoL;}Vh3_@|I&%AGlbZn!z4*h&gqeV<8LgW)>6;j<%fb*g8m>9 z{R@Ca`t*9ICL(eZD7+}osa7ghzeHr4%)f*}@{Mw0d)}56*N)$h5woq4QY$V|MjRMC zCtMt)y3G$4^FMJWEok_~a1!8x15JOncaWJ{D;0cnBRrNOw%72F+!93Q?Z%0gT7}@- zVn93~A?aJ#oTk4%c6IbtBc00XGtsGQo((f3jNmhB-XjJNMV2J=(3y%(+HAvx5o-mx z@H;((@kiV=P*QmwY?C3R49^MuUTi>0N>LM;2;`2K=sqwmY&-x0_ea8B_Xx?TB}`&S znhQicBGJi;47jbtUI-M76h&DevHKG<-VRS9@FUs^l!OURL|+{&c>j08aTfz4PY}JQUss;^bF;@pdXP zpqh>7rR~mCg9wHjMMXU+`lC9J=4`6%Ow>(BQF`dxKiaHB_V!zUp!8fP9;K3jTTbxL zN`LdFni?u%anT<^@NO(UA`Cc9BQkBL_+HQjp$0}2*&7g$lbbj)y6&`w>vSkLZ|mVVDZm5~4{VX5f|oDlkRMXk0hi+P&ZeRZ6oQ~1BeD8TUZ5W~OcKPefOZ#q zDY)o}GoiWzQ_r7BMnWPB3!jQELhYXmb2%dw=+6Ftxo`BQE;Eh|?#`gNsI3w19Z5t& z`Os}bLejJhF99DG2}FVhH@shf04sv5%yrobRNE&+rw$_ogU0~|PL={u@DI@j1~*b- z3Pfw0aYne1C9vofN-d5|8|ZJ$@Is@djh}2SDf9yn(MgCVgp-!g+y=olI9yC1@<5Pb z)x^k<6oxOH6cC3e*=inG$cOBYD^UC4cV#4=IRn)hiAI56agECSVhG1ZW*`Z%eS_1a z40wp0z0eYv_?lk-G|mpsQqw0jzXK=u8+X5LXQ`O6Hf9VUiF^d|+_lpu>RFzClvR zLE#5RV(n`%va%ERJ1I$W2@wud8x%xqix~;Zru>w@N*VBEWJ~#EeXokiJJ|pf*|>#L z^U}wMW*Ly$UV%a)q}s#dpA&;*aut9_+mjJ~K9%_!f2!Nv-VP0YW8$~guq{FvU9`aBu*x_+ts#!4(|p!uf7kmy1>B|m z|M?^18-@aFnn-47Muf}+6STWe3Ir2~o-8IbNc}sL>gV%W=lJL9DoV=61q~D9v>2Xh zqI#mb#uGa6u;Kd=WGCM@D831@A_a0D;$Q!Mdi1$s-8M@$LRj*X5&;XJAnd>Fe|adu zm&oZ1Zop0eGGjPPhz;X+I{<=B69e4}T#O7$hPJ{$+qC@2X!^eZ>I4=0@o!w6<*p57 z?a}uKI2uGa0fq-H5x4_Hev^R`T8L;VDJxNY?Un8mltguNppRUjyn#?$pd^9j>HOvv zD;!5a;)n`M?a1NqpwkJdTB_-`!ePNZ_LJvA3z1epcd%tw`BB~g7KubqZ%m6WJ<$d* zlp5*g6s!#G1%vz3UwT+l95gc+h(#lbMA~(7daV#J6$C?r-a6gfEWZyN>vzXZzXV~B22e{lPk`so=G0f|(gTy&&A`puY% zlF$eO%@(g{m=+#T*2~}7 z00IRzSQ6GQ5RIhXZ>D-;EOf_~f*YfV022Hcq;O$G07idNLKYz6R;UJ9ith^*13d)F zH(x+kOWuz99R?f$kT(E3{hQG0PwgpDN*qg5WsuNxV~StVuYbAQmN4a?T%cw9YstB$ zg6>Q63%$9pECK+dNdgk^1FaNwB&eBW0X(JKFa!(_!Os|QutRZy1ZZO~nK~<&KNv|6 zpvi#V*d@SF)YlFOw0A_HSB$9N#KGf;Bp(8j7=WgqjL^J^6>o+BasUjC1eG4t4?|oq zmi`C;)hFRNY5kCIJW1NX|sfse`m_4uYcRHG3bv7%qLdBhY|Mfiib^;d=`g&|1m9G~HpIUUyfY*FD zAG?;C+)U=BQHhl;;2aW@t_p#3935PHMf?z~Zii}ap_0GY8dv({afvI8*<8)G%ZTCFwAW0n4FAS8vR`~$mLy#_Ez4M}df6|?SiH$2R6##HBt5tQO` zq0%2L!OJ$O&THPk5=T{79073z!4qUrD+DX;Aes+1ZyImZv8hf>Y9c+~cGL5fmG0VY zpm{=0-#Q1gXZ-Him0_C!&?*q8s~gLb4+aziSK#M@DCXm3394_SAdxK`%f&~CY7I3jS1CH)&sr^e#~rfQ`+s{f3Vb=5}8UOwQBZ*_p(Qj zX#0>=mI(HNyZ( F1ps=Eu>=4B diff --git a/charts/keycloak-7.5.0.tgz b/charts/keycloak-7.5.0.tgz index 4f685b54d528123dca5c2623fe58e9d8b3af9b0d..7c372be827836082842b8239f72d272971deee29 100644 GIT binary patch literal 36565 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 _o`reI9!U(Mg%)P!~Pm@bz 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 W<@vw%{Qm#|0RR71G9r=yMgsr}_i6V4 literal 41245 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 diff --git a/charts/kong-0.10.0.tgz b/charts/kong-0.10.0.tgz index f985c7d322e3f9dc68853e1e0c6727817cb989d2..68c5725336b31dff40feda03e54756dd40721b59 100644 GIT binary patch literal 11895 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 literal 13262 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 M|HrnYZU9^X0PYIyt^fc4 diff --git a/charts/opendistro-es-1.11.0.tgz b/charts/opendistro-es-1.11.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4155570f6f78d3cfb7e4470494458c8f68723609 GIT binary patch literal 10796 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 literal 0 HcmV?d00001 diff --git a/index.yaml b/index.yaml index 3cfa3a85..59ceea60 100644 --- a/index.yaml +++ b/index.yaml @@ -2,7 +2,7 @@ apiVersion: v1 entries: aether-couchdb-sync: - apiVersion: v1 - created: "2020-11-24T06:49:56.764561147-08:00" + created: "2020-12-11T16:49:52.869445066+01:00" description: The CouchDB Sync module for Aether, an open source development platform for data curation, exchange, and publication digest: 94663db9c562f35f22ea90820d01721390dbb9ae201ea839e31e7fe097737fcc @@ -12,18 +12,18 @@ entries: version: 1.2.0 couchdb-backup: - apiVersion: v1 - created: "2020-11-24T06:49:56.76512015-08:00" + created: "2020-12-11T16:49:52.870004075+01:00" description: A Helm chart for automating CouchDB backups - digest: acbd3f7361bf2c415b6e531247936ac7e1c04912c041a9b7e84ff6caca901983 + digest: 7f03e8ce5efb5f1ac81f23bc67c1dfc1ffce84d0c13a4d31836011d4e729b55a name: couchdb-backup urls: - https://ehealthafrica.github.io/helm-charts/charts/couchdb-backup-1.0.0.tgz version: 1.0.0 database-provisioner: - apiVersion: v1 - created: "2020-11-24T06:49:56.765623658-08:00" + created: "2020-12-11T16:49:52.870219283+01:00" description: A Helm chart for provisioning databases - digest: 70fec899cd44099b5adfb99708d402b76b4cc360d4f8b23d9541b2eefe0259c9 + digest: 314cd7d1171b059703b7d2f0f859e073862a506b162347ab3fe87962075503ca name: database-provisioner urls: - https://ehealthafrica.github.io/helm-charts/charts/database-provisioner-1.0.0.tgz @@ -31,16 +31,16 @@ entries: generic: - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.811894742-08:00" + created: "2020-12-11T16:49:52.886002817+01:00" description: A Generic Helm chart for Kubernetes - digest: 3cc9d83d6d7fbf69affd3717272693927df897c106f3766f822abfaf68a89129 + digest: 2906a4761d0651571db2bc89e4ee57291b489509ac18680335642e34026e1896 name: generic urls: - https://ehealthafrica.github.io/helm-charts/charts/generic-0.3.2.tgz version: 0.3.2 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.810638266-08:00" + created: "2020-12-11T16:49:52.885164028+01:00" description: A Generic Helm chart for Kubernetes digest: 10f2b56521458d58cd9fc95e12a0f086c7c3641875d3cd5c155e3eae15cfe94f name: generic @@ -49,7 +49,7 @@ entries: version: 0.3.1 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.809318765-08:00" + created: "2020-12-11T16:49:52.884451167+01:00" description: A Generic Helm chart for Kubernetes digest: 337f73d077ecf02f71d233aa6b9fbab1562ea67a8800be1a31dd439496d129c1 name: generic @@ -58,7 +58,7 @@ entries: version: 0.3.0 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.808264892-08:00" + created: "2020-12-11T16:49:52.883543053+01:00" description: A Generic Helm chart for Kubernetes digest: c7ab24a271f46a1284c71297383c110833ecc47dbb6bbe377d3ca09ed46c7f49 name: generic @@ -67,7 +67,7 @@ entries: version: 0.2.9 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.806923214-08:00" + created: "2020-12-11T16:49:52.88265392+01:00" description: A Generic Helm chart for Kubernetes digest: e934230cb9f11e6e89059dbe074518fcd9c9a72f2b3ccae47314dd93f674b9b7 name: generic @@ -76,7 +76,7 @@ entries: version: 0.2.8 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.805816578-08:00" + created: "2020-12-11T16:49:52.881770234+01:00" description: A Generic Helm chart for Kubernetes digest: f4b0038768002679ebbd7fbe875b76636bdf4115e4f28c46feb1e59000ee10ec name: generic @@ -85,7 +85,7 @@ entries: version: 0.2.7 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.804567002-08:00" + created: "2020-12-11T16:49:52.88099976+01:00" description: A Generic Helm chart for Kubernetes digest: 9bb082c417843a293274c4fbb9f983bcd0b4e0ee7b99d44ef55b1de5d2486368 name: generic @@ -94,7 +94,7 @@ entries: version: 0.2.6 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.799685035-08:00" + created: "2020-12-11T16:49:52.880228905+01:00" description: A Generic Helm chart for Kubernetes digest: f529e036dc23b30e83b2f0eca6f38a091bb060ce4b16440d32c7442fb9916192 name: generic @@ -103,7 +103,7 @@ entries: version: 0.2.5 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.796435314-08:00" + created: "2020-12-11T16:49:52.879082991+01:00" description: A Generic Helm chart for Kubernetes digest: fcdaf734d2fe928a32585c97b4d8cb6bce3a31f9b203f50b1fba44949a22b7ee name: generic @@ -112,7 +112,7 @@ entries: version: 0.2.4 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.792909862-08:00" + created: "2020-12-11T16:49:52.878272371+01:00" description: A Generic Helm chart for Kubernetes digest: c6d061ca74d2b518f2273ce4bad400846e5fa5d4bb5199a7cc35dc114205f1b6 name: generic @@ -121,7 +121,7 @@ entries: version: 0.2.3 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.788814255-08:00" + created: "2020-12-11T16:49:52.876687054+01:00" description: A Generic Helm chart for Kubernetes digest: 9af6d1356fbe192e26fd4a0bc69797a28b3e1bb6711132aea2597eead3711627 name: generic @@ -130,7 +130,7 @@ entries: version: 0.2.2 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.783834119-08:00" + created: "2020-12-11T16:49:52.875932389+01:00" description: A Generic Helm chart for Kubernetes digest: 5b61076f2673454ecab15461bec3e3c8e211990b1f7d904aa218c84198a380b7 name: generic @@ -139,7 +139,7 @@ entries: version: 0.2.1 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.781396783-08:00" + created: "2020-12-11T16:49:52.875285627+01:00" description: A Generic Helm chart for Kubernetes digest: 51db3c069dc057f75e8ee70757daaf78b6b42b19618ad2b8a3ae12a6c99a89ad name: generic @@ -148,7 +148,7 @@ entries: version: 0.2.0 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.779341336-08:00" + created: "2020-12-11T16:49:52.874656822+01:00" description: A Generic Helm chart for Kubernetes digest: bbfee1526a953f358d0ac390b5e2ca21ffd683b3f1f1387f67fa0f3b8bc5a8ab name: generic @@ -157,7 +157,7 @@ entries: version: 0.1.7 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.778084986-08:00" + created: "2020-12-11T16:49:52.874027649+01:00" description: A Generic Helm chart for Kubernetes digest: 726776bfc218704127d851e3664026b4d87917963510406c2e6b683858d238a1 name: generic @@ -166,7 +166,7 @@ entries: version: 0.1.6 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.77705315-08:00" + created: "2020-12-11T16:49:52.873328765+01:00" description: A Generic Helm chart for Kubernetes digest: 9699140edfbecf22e6ea1fe387e40f5fcdf35219896cf4a8599e5f28ecdde663 name: generic @@ -175,7 +175,7 @@ entries: version: 0.1.5 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.775805407-08:00" + created: "2020-12-11T16:49:52.872746576+01:00" description: A Generic Helm chart for Kubernetes digest: a29b00eb91e006b11d2959a3c3cc2caf695ae0403158f1f0758c0d27c3ed7d14 name: generic @@ -184,7 +184,7 @@ entries: version: 0.1.4 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.772674642-08:00" + created: "2020-12-11T16:49:52.872191957+01:00" description: A Generic Helm chart for Kubernetes digest: 6b7a220566d085053beeea929c3ea70b5ce4b0779b6c600ab57d3138b7e76587 name: generic @@ -193,7 +193,7 @@ entries: version: 0.1.3 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.770703303-08:00" + created: "2020-12-11T16:49:52.871649603+01:00" description: A Generic Helm chart for Kubernetes digest: 8153cb3920c4ca85c18b027d4854da990c97b3453b0d97e19ace8805ea32207e name: generic @@ -202,7 +202,7 @@ entries: version: 0.1.2 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.769375855-08:00" + created: "2020-12-11T16:49:52.871170199+01:00" description: A Generic Helm chart for Kubernetes digest: ca3bd2d3033da36d9d6a765f9b84d0872329e68b178199d7ac07301831818464 name: generic @@ -211,7 +211,7 @@ entries: version: 0.1.1 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.766880041-08:00" + created: "2020-12-11T16:49:52.870701118+01:00" description: A Generic Helm chart for Kubernetes digest: f989086c5c472493d44e7094946980e5a9c95a74f66e4fd20775fedf84b7a013 name: generic @@ -221,21 +221,21 @@ entries: generic3: - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.923393877-08:00" + created: "2020-12-11T16:49:52.947493032+01:00" dependencies: - condition: redis.enabled name: redis repository: https://charts.bitnami.com/bitnami version: ~10.6.12 description: A Generic Helm chart for Kubernetes - digest: 54831caa9258b90054b6bc03bb49fb59d78feaaab90f40349fe9f4705b863d51 + digest: fa0d38af9032a88192659550b15a0223fda54bf66bab84c150a0f01026150435 name: generic3 urls: - https://ehealthafrica.github.io/helm-charts/charts/generic3-0.3.2.tgz version: 0.3.2 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.914955642-08:00" + created: "2020-12-11T16:49:52.942123847+01:00" dependencies: - condition: redis.enabled name: redis @@ -249,7 +249,7 @@ entries: version: 0.3.1 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.90944167-08:00" + created: "2020-12-11T16:49:52.937556474+01:00" dependencies: - condition: redis.enabled name: redis @@ -263,7 +263,7 @@ entries: version: 0.3.0 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.900928663-08:00" + created: "2020-12-11T16:49:52.933157532+01:00" dependencies: - condition: aether.redis.enabled name: redis @@ -277,7 +277,7 @@ entries: version: 0.2.9 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.892899271-08:00" + created: "2020-12-11T16:49:52.928042663+01:00" dependencies: - condition: redis.enabled name: redis @@ -291,7 +291,7 @@ entries: version: 0.2.8 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.887008271-08:00" + created: "2020-12-11T16:49:52.923144969+01:00" dependencies: - condition: aether.redis.enabled name: redis @@ -305,7 +305,7 @@ entries: version: 0.2.7 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.875290981-08:00" + created: "2020-12-11T16:49:52.918991968+01:00" dependencies: - condition: aether.redis.enabled name: redis @@ -319,7 +319,7 @@ entries: version: 0.2.6 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.868186144-08:00" + created: "2020-12-11T16:49:52.914825851+01:00" dependencies: - condition: aether.redis.enabled name: redis @@ -333,7 +333,7 @@ entries: version: 0.2.5 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.858029461-08:00" + created: "2020-12-11T16:49:52.909767641+01:00" dependencies: - condition: aether.redis.enabled name: redis @@ -347,7 +347,7 @@ entries: version: 0.2.4 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.85023458-08:00" + created: "2020-12-11T16:49:52.904436141+01:00" dependencies: - condition: aether.redis.enabled name: redis @@ -361,7 +361,7 @@ entries: version: 0.2.3 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.838131378-08:00" + created: "2020-12-11T16:49:52.899135458+01:00" description: A Generic Helm chart for Kubernetes digest: 964e069a8dd4fccd82cc7c436165512611dc78aa9c5eb99ce8dd4034e2c8f35a name: generic3 @@ -370,7 +370,7 @@ entries: version: 0.2.2 - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.835381043-08:00" + created: "2020-12-11T16:49:52.898166503+01:00" description: A Generic Helm chart for Kubernetes digest: c8122c3843f5611c68e2c1e4f476ae8ba0c233d19d65cda970d504559ad6cf30 name: generic3 @@ -379,7 +379,7 @@ entries: version: 0.2.1 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.83312117-08:00" + created: "2020-12-11T16:49:52.897177287+01:00" description: A Generic Helm chart for Kubernetes digest: c56aa4de0e73dcb593a283bd6901e8cd7098375a6b15f0821eaf2e733575c03d name: generic3 @@ -388,7 +388,7 @@ entries: version: 0.2.0 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.831434565-08:00" + created: "2020-12-11T16:49:52.895719591+01:00" description: A Generic Helm chart for Kubernetes digest: 5da5fc6b9a5ce6810f1c3215e06d0ea29ddca13f357e7dc64dfb571260f1e84d name: generic3 @@ -397,7 +397,7 @@ entries: version: 0.1.9 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.830256716-08:00" + created: "2020-12-11T16:49:52.894332239+01:00" description: A Generic Helm chart for Kubernetes digest: cba826d6e9df0e930d421a488d0850d8d7785cb4279358e88d9820ca92dd2d19 name: generic3 @@ -406,7 +406,7 @@ entries: version: 0.1.8 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.828964411-08:00" + created: "2020-12-11T16:49:52.893336199+01:00" description: A Generic Helm chart for Kubernetes digest: f483a153cf1d3cbf728dd8966d8f727fac405dc38210732aeb5954c08c99d255 name: generic3 @@ -415,7 +415,7 @@ entries: version: 0.1.7 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.827423985-08:00" + created: "2020-12-11T16:49:52.892445724+01:00" description: A Generic Helm chart for Kubernetes digest: 7e9d3df66ac3708dd6171b12e1032bd09e9819dc631372c897054b4da18c9331 name: generic3 @@ -424,7 +424,7 @@ entries: version: 0.1.6 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.825902777-08:00" + created: "2020-12-11T16:49:52.891615342+01:00" description: A Generic Helm chart for Kubernetes digest: 96ab5964f5c836474bbb9532cf7ff17815663707c6fc23e6e30a24055222b421 name: generic3 @@ -433,7 +433,7 @@ entries: version: 0.1.5 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.824434378-08:00" + created: "2020-12-11T16:49:52.890758598+01:00" description: A Generic Helm chart for Kubernetes digest: fe9bdd30194ebc48b82fafd5f8c6575304d1ea9193559f59e66b052cfce13474 name: generic3 @@ -442,7 +442,7 @@ entries: version: 0.1.4 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.820497021-08:00" + created: "2020-12-11T16:49:52.889993929+01:00" description: A Generic Helm chart for Kubernetes digest: 08c2ad2be84f2793ddb0905c12fd8962d57fb4f8178227edb4485ded55f02a7d name: generic3 @@ -451,7 +451,7 @@ entries: version: 0.1.3 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.81833681-08:00" + created: "2020-12-11T16:49:52.889089996+01:00" description: A Generic Helm chart for Kubernetes digest: d28a5cb19b6e5208734446d2c9e62a4f10a53826729e9c63120b3ab08294b6d4 name: generic3 @@ -460,7 +460,7 @@ entries: version: 0.1.2 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.816322949-08:00" + created: "2020-12-11T16:49:52.888259777+01:00" description: A Generic Helm chart for Kubernetes digest: d816bdb34c39c0b8709f8efbacddcc7ac90c261b531420150e38c0b9b87ddd97 name: generic3 @@ -469,7 +469,7 @@ entries: version: 0.1.1 - apiVersion: v2 appVersion: "1.0" - created: "2020-11-24T06:49:56.814223221-08:00" + created: "2020-12-11T16:49:52.887058721+01:00" description: A Generic Helm chart for Kubernetes digest: ee30bec2f607b6dfc130e4b7aba93fb6456cd88e1da01d87823e4374655ef11e name: generic3 @@ -479,7 +479,7 @@ entries: helloworld: - apiVersion: v1 appVersion: "1.0" - created: "2020-11-24T06:49:56.924611292-08:00" + created: "2020-12-11T16:49:52.947885385+01:00" description: A Helm chart for Kubernetes digest: a530741c031d54379fe8381baac8245e925e0bd2c79e81bce3ed495ac41a52cc name: helloworld @@ -489,7 +489,7 @@ entries: keycloak: - apiVersion: v1 appVersion: 9.0.2 - created: "2020-11-24T06:49:56.931448068-08:00" + created: "2020-12-11T16:49:52.951092847+01:00" dependencies: - condition: keycloak.persistence.deployPostgres name: postgresql @@ -497,7 +497,7 @@ entries: version: 6.3.13 description: Open Source Identity and Access Management For Modern Applications and Services - digest: e4d059a76ab3caa204b74bd8b971ddfcfc88e1e8b6d1a24aaca2d263eadb47ec + digest: 4782df2aa72193aba5084e6df10ceee213482d3db7118c8379dc9e5149eb28d5 home: https://www.keycloak.org/ icon: https://www.keycloak.org/resources/images/keycloak_logo_480x108.png keywords: @@ -522,9 +522,9 @@ entries: kong: - apiVersion: v1 appVersion: "1.1" - created: "2020-11-24T06:49:56.932989256-08:00" + created: "2020-12-11T16:49:52.952918995+01:00" description: The Cloud-Native Ingress and Service Mesh for APIs and Microservices - digest: f9686e72b76bd4bc1113d73e5277cba043fb0bb0e6051b60f12bbfdd78b526c3 + digest: b533bbdd25b878905758897e376959103e07fc2f4756ae084703ddaa24a3ee8f home: https://KongHQ.com/ icon: https://s3.amazonaws.com/downloads.kong/universe/assets/icon-kong-inc-large.png maintainers: @@ -539,7 +539,7 @@ entries: logstash: - apiVersion: v1 appVersion: 7.5.2 - created: "2020-11-24T06:49:56.934416788-08:00" + created: "2020-12-11T16:49:52.954022716+01:00" description: Official Elastic helm chart for Logstash digest: 5e3a775debc2b09c5a5d245f040d928d98811a96e8631f52f11736d159ca7eb7 home: https://github.com/elastic/helm-charts @@ -554,9 +554,26 @@ entries: - https://ehealthafrica.github.io/helm-charts/charts/logstash-7.5.2.tgz version: 7.5.2 opendistro-es: + - apiVersion: v1 + appVersion: 1.11.0 + created: "2020-12-11T16:49:52.967959681+01:00" + description: Open Distro for Elasticsearch + digest: a4a79d4794072fa1b9d2e9c0c5e90dae8afddd97902be0132ba1dcf8d8b8ac7e + kubeVersion: ^1.10.0-0 + maintainers: + - email: derek.heldt-werle@viasat.com + name: Derek Heldt-Werle + - email: kalvin.chau@viasat.com + name: Kalvin Chau + name: opendistro-es + sources: + - https://pages.git.viasat.com/ATG/charts + urls: + - https://ehealthafrica.github.io/helm-charts/charts/opendistro-es-1.11.0.tgz + version: 1.11.0 - apiVersion: v1 appVersion: 1.8.0 - created: "2020-11-24T06:49:56.957828418-08:00" + created: "2020-12-11T16:49:52.969655686+01:00" description: Open Distro for Elasticsearch digest: d1a106b42372e0c230088a82e24c474275af0b0b993bbdb00d595c9c6523dc64 kubeVersion: ^1.10.0-0 @@ -573,7 +590,7 @@ entries: version: 1.8.0 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.955749121-08:00" + created: "2020-12-11T16:49:52.966553146+01:00" description: Opendistro Elasticsearch digest: 0d969f81a141995b09e923568c8c03892218f823cf737d682ff4f23de892d63b kubeVersion: ^1.10.0-0 @@ -587,7 +604,7 @@ entries: version: 1.0.7 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.952997125-08:00" + created: "2020-12-11T16:49:52.964838493+01:00" description: Opendistro Elasticsearch digest: 6ff1170c979257f4ad2085cac84b6d63208d2bf5bc32b60bbd16a2db0ef22422 kubeVersion: ^1.10.0-0 @@ -601,7 +618,7 @@ entries: version: 1.0.6 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.950873592-08:00" + created: "2020-12-11T16:49:52.963455111+01:00" description: Opendistro Elasticsearch digest: 30a2c1a290924700eebe108a8a16dea6cd4e576b3684a7258adebc5c62e1d754 kubeVersion: ^1.10.0-0 @@ -615,7 +632,7 @@ entries: version: 1.0.5 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.948916954-08:00" + created: "2020-12-11T16:49:52.961671534+01:00" description: Opendistro Elasticsearch digest: a52a88c9d8ea55a9c35341fcee8e39c63276059bc24456bab042b7dc82e5b721 kubeVersion: ^1.10.0-0 @@ -629,7 +646,7 @@ entries: version: 1.0.4 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.944870533-08:00" + created: "2020-12-11T16:49:52.959588667+01:00" description: Opendistro Elasticsearch digest: 46f82df3aaa62eefb611b5d14b86d9c42c66c20ad0f8b42b198447c6e8d8001b kubeVersion: ^1.10.0-0 @@ -643,7 +660,7 @@ entries: version: 1.0.3 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.941899164-08:00" + created: "2020-12-11T16:49:52.958227+01:00" description: Opendistro Elasticsearch digest: 52b2f28b407772d8417a4b0628ec28ef2d55928793ef060782ffd0370701536f kubeVersion: ^1.10.0-0 @@ -657,7 +674,7 @@ entries: version: 1.0.2 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.938584452-08:00" + created: "2020-12-11T16:49:52.956851813+01:00" description: Opendistro Elasticsearch digest: 0f9959ea4163c9c431334ccb5487666b4a26bdcbef3c28334621fff2a1766562 kubeVersion: ^1.10.0-0 @@ -671,7 +688,7 @@ entries: version: 1.0.1 - apiVersion: v1 appVersion: 1.0.0 - created: "2020-11-24T06:49:56.936252049-08:00" + created: "2020-12-11T16:49:52.955466887+01:00" description: Opendistro Elasticsearch digest: e7b57bf2c027b2878696cb1de02b4a0203bdf2dd8518229988b8654407af57bf kubeVersion: ^1.10.0-0 @@ -683,4 +700,4 @@ entries: urls: - https://ehealthafrica.github.io/helm-charts/charts/opendistro-es-1.0.0.tgz version: 1.0.0 -generated: "2020-11-24T06:49:56.763185836-08:00" +generated: "2020-12-11T16:49:52.868466758+01:00" diff --git a/src/opendistro-es/.helmignore b/src/opendistro-es/.helmignore old mode 100644 new mode 100755 diff --git a/src/opendistro-es/Chart.yaml b/src/opendistro-es/Chart.yaml old mode 100644 new mode 100755 index f810493f..1f9165d2 --- a/src/opendistro-es/Chart.yaml +++ b/src/opendistro-es/Chart.yaml @@ -1,11 +1,29 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + apiVersion: v1 -appVersion: 1.0.0 -description: 'Opendistro Elasticsearch' +# Open Distro for Elasticsearch version +appVersion: 1.11.0 +description: 'Open Distro for Elasticsearch' engine: gotpl kubeVersion: ^1.10.0-0 maintainers: - - name: OpenDistro ES Maintainers +- email: derek.heldt-werle@viasat.com + name: Derek Heldt-Werle +- email: kalvin.chau@viasat.com + name: Kalvin Chau name: opendistro-es sources: - https://pages.git.viasat.com/ATG/charts -version: 1.0.7 +# Chart version +version: 1.11.0 diff --git a/src/opendistro-es/README.md b/src/opendistro-es/README.md new file mode 100644 index 00000000..2ca4f4be --- /dev/null +++ b/src/opendistro-es/README.md @@ -0,0 +1,6 @@ +# Custom eHA OpenDistro Chart + +This custom chart is cloned from [here](https://opendistro.github.io/for-elasticsearch-docs/docs/install/helm/). +The `values.yaml` and `Chart.yaml` are major files that were edited. Others remain mostly a clone of the src code. + +Current Version is `1.11.0`. diff --git a/src/opendistro-es/templates/_helpers.tpl b/src/opendistro-es/templates/_helpers.tpl old mode 100644 new mode 100755 index fa32d1cc..15275eca --- a/src/opendistro-es/templates/_helpers.tpl +++ b/src/opendistro-es/templates/_helpers.tpl @@ -1,4 +1,19 @@ {{/* vim: set filetype=mustache: */}} +{{/* +Copyright 2019 Viasat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"). +You may not use this file except in compliance with the License. +A copy of the License is located at + + http://www.apache.org/licenses/LICENSE-2.0 + +or in the "license" file accompanying this file. This file is distributed +on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +express or implied. See the License for the specific language governing +permissions and limitations under the License. +*/}} + {{/* Expand the name of the chart. */}} @@ -29,11 +44,22 @@ If release name contains chart name it will be used as a full name. Define standard labels for frequently used metadata. */}} {{- define "opendistro-es.labels.standard" -}} +app: {{ template "opendistro-es.fullname" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" {{- end -}} +{{/* +Define labels for deployment/statefulset selectors. +We cannot have the chart label here as it will prevent upgrades. +*/}} +{{- define "opendistro-es.labels.selector" -}} +app: {{ template "opendistro-es.fullname" . }} +release: "{{ .Release.Name }}" +heritage: "{{ .Release.Service }}" +{{- end -}} + {{/* Create the name of the service account to use */}} diff --git a/src/opendistro-es/templates/elasticsearch/elasticsearch-serviceaccount.yaml b/src/opendistro-es/templates/elasticsearch/elasticsearch-serviceaccount.yaml old mode 100644 new mode 100755 index e3b6c569..070c9a51 --- a/src/opendistro-es/templates/elasticsearch/elasticsearch-serviceaccount.yaml +++ b/src/opendistro-es/templates/elasticsearch/elasticsearch-serviceaccount.yaml @@ -1,3 +1,18 @@ +# Copyright 2019 Viasat, Inc. +# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{ if .Values.elasticsearch.serviceAccount.create }} apiVersion: v1 kind: ServiceAccount diff --git a/src/opendistro-es/templates/elasticsearch/es-client-deploy.yaml b/src/opendistro-es/templates/elasticsearch/es-client-deploy.yaml index 782ba452..ac3f6ddd 100644 --- a/src/opendistro-es/templates/elasticsearch/es-client-deploy.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-client-deploy.yaml @@ -1,7 +1,19 @@ +# Copyright 2019 Viasat, Inc. # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 -{{- if .Values.elasticsearch.client.enabled }} ---- +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{- if and .Values.elasticsearch.client.enabled .Values.elasticsearch.client.dedicatedPod.enabled }} apiVersion: apps/v1 kind: Deployment metadata: @@ -14,7 +26,8 @@ spec: replicas: {{ .Values.elasticsearch.client.replicas }} selector: matchLabels: -{{ include "opendistro-es.labels.standard" . | indent 8 }} +{{ include "opendistro-es.labels.selector" . | indent 6 }} + role: client template: metadata: labels: @@ -23,8 +36,11 @@ spec: annotations: {{/* This forces a restart if the secret config has changed */}} {{- if .Values.elasticsearch.config }} - configchecksum: {{ include (print .Template.BasePath "/elasticsearch/es-config.yaml") . | sha256sum | trunc 63 }} + configchecksum: {{ include (print .Template.BasePath "/elasticsearch/es-config-secret.yaml") . | sha256sum | trunc 63 }} {{- end }} +{{- if .Values.elasticsearch.client.podAnnotations }} +{{ toYaml .Values.elasticsearch.client.podAnnotations | indent 8 }} +{{- end }} spec: {{- include "opendistro-es.imagePullSecrets" . | indent 6 }} serviceAccountName: {{ template "opendistro-es.elasticsearch.serviceAccountName" . }} @@ -36,31 +52,29 @@ spec: nodeSelector: {{ toYaml . | indent 8 }} {{- end }} - # Weighted anti-affinity to disallow deploying client node to the same worker node as master node + {{- with .Values.elasticsearch.client.affinity }} affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - topologyKey: "kubernetes.io/hostname" - labelSelector: - matchLabels: - role: client - {{- with .Values.elasticsearch.client.nodeAffinity }} - nodeAffinity: -{{ toYaml . | indent 10 }} - {{- end }} +{{ toYaml . | indent 8 }} + {{- end }} initContainers: +{{- if .Values.elasticsearch.sysctl.enabled }} - name: init-sysctl - image: {{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} command: - sysctl - -w - vm.max_map_count={{ .Values.elasticsearch.maxMapCount }} securityContext: privileged: true +{{- end }} +{{- if .Values.elasticsearch.extraInitContainers }} +{{ toYaml .Values.elasticsearch.extraInitContainers| indent 6 }} +{{- end }} containers: - name: elasticsearch + securityContext: + capabilities: + add: ["SYS_CHROOT"] env: - name: cluster.name value: {{ .Values.global.clusterName }} @@ -94,8 +108,8 @@ spec: resources: {{ toYaml .Values.elasticsearch.client.resources | indent 12 }} # Official Image from Open Distro Team - image: {{ .Values.elasticsearch.image }}:{{ .Values.elasticsearch.imageTag }} - imagePullPolicy: Always + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.image }}:{{ .Values.elasticsearch.imageTag }} + imagePullPolicy: {{ .Values.elasticsearch.imagePullPolicy | default "Always" | quote }} ports: - containerPort: 9200 name: http @@ -103,12 +117,18 @@ spec: name: transport - containerPort: 9600 name: metrics + - containerPort: 9650 + name: rca {{- with .Values.elasticsearch.client.readinessProbe}} readinessProbe: {{ toYaml . | indent 10 }} {{- end }} {{- with .Values.elasticsearch.client.livenessProbe}} livenessProbe: +{{ toYaml . | indent 10 }} + {{- end }} + {{- with .Values.elasticsearch.client.startupProbe}} + startupProbe: {{ toYaml . | indent 10 }} {{- end }} volumeMounts: @@ -117,9 +137,6 @@ spec: name: config subPath: elasticsearch.yml {{- end }} - - mountPath: /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/config.yml - name: security-config - subPath: config.yml {{- if .Values.elasticsearch.log4jConfig }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/log4j2.properties name: config @@ -128,44 +145,47 @@ spec: - mountPath: {{ .Values.elasticsearch.configDirectory }}/logging.yml name: config subPath: logging.yml - {{- if and .Values.elasticsearch.ssl.transport.enabled .Values.elasticsearch.ssl.transport.existingCertSecret }} - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-crt.pem + {{- if .Values.elasticsearch.ssl.transport.existingCertSecret }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-crt.pem name: transport-certs - subPath: transport-crt.pem - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-key.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretCertSubPath }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-key.pem name: transport-certs - subPath: transport-key.pem - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretKeySubPath }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-root-ca.pem name: transport-certs - subPath: transport-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretRootCASubPath }} {{- end }} {{- if and .Values.elasticsearch.ssl.rest.enabled .Values.elasticsearch.ssl.rest.existingCertSecret }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-crt.pem name: rest-certs - subPath: elk-rest-crt.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretCertSubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-key.pem name: rest-certs - subPath: elk-rest-key.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretKeySubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-root-ca.pem name: rest-certs - subPath: elk-rest-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretRootCASubPath }} {{- end }} {{- if and .Values.elasticsearch.ssl.admin.enabled .Values.elasticsearch.ssl.admin.existingCertSecret }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-crt.pem name: admin-certs - subPath: admin-crt.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretCertSubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-key.pem name: admin-certs - subPath: admin-key.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretKeySubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-root-ca.pem name: admin-certs - subPath: admin-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretRootCASubPath }} {{- end }} +{{- if .Values.elasticsearch.extraVolumeMounts }} +{{ toYaml .Values.elasticsearch.extraVolumeMounts | indent 8 }} +{{- end }} volumes: - name: config - configMap: - name: {{ template "opendistro-es.fullname" . }}-config - {{- if and .Values.elasticsearch.ssl.transport.enabled .Values.elasticsearch.ssl.transport.existingCertSecret }} + secret: + secretName: {{ template "opendistro-es.fullname" . }}-es-config + {{- if .Values.elasticsearch.ssl.transport.existingCertSecret }} - name: transport-certs secret: secretName: {{ .Values.elasticsearch.ssl.transport.existingCertSecret }} @@ -180,7 +200,7 @@ spec: secret: secretName: {{ .Values.elasticsearch.ssl.admin.existingCertSecret }} {{- end }} - - name: security-config - configMap: - name: {{ template "opendistro-es.fullname" . }}-security-config +{{- if .Values.elasticsearch.extraVolumes }} +{{ toYaml .Values.elasticsearch.extraVolumes | indent 6 }} +{{- end }} {{- end }} diff --git a/src/opendistro-es/templates/elasticsearch/es-client-ingress.yaml b/src/opendistro-es/templates/elasticsearch/es-client-ingress.yaml old mode 100644 new mode 100755 index cddb379c..0267bc21 --- a/src/opendistro-es/templates/elasticsearch/es-client-ingress.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-client-ingress.yaml @@ -1,8 +1,22 @@ -{{- if and .Values.elasticsearch.client.ingress.enabled .Values.elasticsearch.client.enabled -}} -{{- $fullName := printf "%s-%s" (include "opendistro-es.fullname" .) "client-service" }} -{{- $ingressPath := .Values.elasticsearch.client.ingress.path -}} +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{- if and .Values.elasticsearch.client.ingress.enabled .Values.elasticsearch.client.enabled }} +{{ $fullName := printf "%s-%s" (include "opendistro-es.fullname" .) "client-service" }} +{{ $ingressPath := .Values.elasticsearch.client.ingress.path }} kind: Ingress -apiVersion: apps/v1 +apiVersion: extensions/v1beta1 metadata: name: {{ $fullName }} labels: @@ -31,5 +45,5 @@ spec: backend: serviceName: {{ $fullName }} servicePort: http - {{- end -}} -{{- end -}} + {{- end }} +{{- end }} diff --git a/src/opendistro-es/templates/elasticsearch/es-client-pdb.yaml b/src/opendistro-es/templates/elasticsearch/es-client-pdb.yaml old mode 100644 new mode 100755 index c976b5e5..89e4a1b2 --- a/src/opendistro-es/templates/elasticsearch/es-client-pdb.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-client-pdb.yaml @@ -1,7 +1,18 @@ -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 -{{- if and .Values.elasticsearch.client.podDisruptionBudget.enabled .Values.elasticsearch.client.enabled }} ---- +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{- if and .Values.elasticsearch.client.podDisruptionBudget.enabled .Values.elasticsearch.client.enabled .Values.elasticsearch.client.dedicatedPod.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: @@ -11,7 +22,7 @@ metadata: {{ include "opendistro-es.labels.standard" . | indent 4 }} spec: {{- if .Values.elasticsearch.client.podDisruptionBudget.minAvailable }} - minAvailable: {{ .Values.client.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.elasticsearch.client.podDisruptionBudget.minAvailable }} {{- end }} {{- if .Values.elasticsearch.client.podDisruptionBudget.maxUnavailable }} maxUnavailable: {{ .Values.elasticsearch.client.podDisruptionBudget.maxUnavailable }} diff --git a/src/opendistro-es/templates/elasticsearch/es-data-pdb.yaml b/src/opendistro-es/templates/elasticsearch/es-data-pdb.yaml old mode 100644 new mode 100755 index 0d0ca789..961a6471 --- a/src/opendistro-es/templates/elasticsearch/es-data-pdb.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-data-pdb.yaml @@ -1,7 +1,18 @@ -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 -{{- if and .Values.elasticsearch.data.podDisruptionBudget.enabled .Values.elasticsearch.data.enabled }} ---- +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{- if and .Values.elasticsearch.data.podDisruptionBudget.enabled .Values.elasticsearch.data.enabled .Values.elasticsearch.data.dedicatedPod.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: @@ -11,7 +22,7 @@ metadata: {{ include "opendistro-es.labels.standard" . | indent 4 }} spec: {{- if .Values.elasticsearch.data.podDisruptionBudget.minAvailable }} - minAvailable: {{ .Values.data.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.elasticsearch.data.podDisruptionBudget.minAvailable }} {{- end }} {{- if .Values.elasticsearch.data.podDisruptionBudget.maxUnavailable }} maxUnavailable: {{ .Values.elasticsearch.data.podDisruptionBudget.maxUnavailable }} diff --git a/src/opendistro-es/templates/elasticsearch/es-data-sts.yaml b/src/opendistro-es/templates/elasticsearch/es-data-sts.yaml index bbe09f07..0537a0e1 100644 --- a/src/opendistro-es/templates/elasticsearch/es-data-sts.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-data-sts.yaml @@ -1,7 +1,19 @@ +# Copyright 2019 Viasat, Inc. # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 -{{ if .Values.elasticsearch.data.enabled }} ---- +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{ if and .Values.elasticsearch.data.enabled .Values.elasticsearch.data.dedicatedPod.enabled }} apiVersion: apps/v1 kind: StatefulSet metadata: @@ -15,7 +27,8 @@ spec: replicas: {{ .Values.elasticsearch.data.replicas }} selector: matchLabels: -{{ include "opendistro-es.labels.standard" . | indent 8 }} +{{ include "opendistro-es.labels.selector" . | indent 6 }} + role: data updateStrategy: type: {{ .Values.elasticsearch.data.updateStrategy }} template: @@ -26,8 +39,11 @@ spec: annotations: {{/* This forces a restart if the secret config has changed */}} {{- if .Values.elasticsearch.config }} - configchecksum: {{ include (print .Template.BasePath "/elasticsearch/es-config.yaml") . | sha256sum | trunc 63 }} + configchecksum: {{ include (print .Template.BasePath "/elasticsearch/es-config-secret.yaml") . | sha256sum | trunc 63 }} {{- end }} +{{- if .Values.elasticsearch.data.podAnnotations }} +{{ toYaml .Values.elasticsearch.data.podAnnotations | indent 8 }} +{{- end }} spec: {{- include "opendistro-es.imagePullSecrets" . | indent 6 }} {{- with .Values.elasticsearch.data.tolerations }} @@ -39,37 +55,36 @@ spec: {{ toYaml . | indent 8 }} {{- end }} initContainers: +{{- if .Values.elasticsearch.sysctl.enabled }} - name: init-sysctl - image: {{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} command: - sysctl - -w - vm.max_map_count={{ .Values.elasticsearch.maxMapCount }} securityContext: privileged: true +{{- end }} - name: fixmount command: [ 'sh', '-c', 'chown -R 1000:1000 /usr/share/elasticsearch/data' ] - image: busybox + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} volumeMounts: - mountPath: /usr/share/elasticsearch/data name: data - # Weighted anti-affinity to disallow deploying client node to the same worker node as master node + subPath: {{ .Values.elasticsearch.data.persistence.subPath }} +{{- if .Values.elasticsearch.extraInitContainers }} +{{ toYaml .Values.elasticsearch.extraInitContainers| indent 6 }} +{{- end }} + {{- with .Values.elasticsearch.data.affinity }} affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - topologyKey: "kubernetes.io/hostname" - labelSelector: - matchLabels: - role: data - {{- with .Values.elasticsearch.data.nodeAffinity }} - nodeAffinity: -{{ toYaml . | indent 10 }} - {{- end }} +{{ toYaml . | indent 8 }} + {{- end }} serviceAccountName: {{ template "opendistro-es.elasticsearch.serviceAccountName" . }} containers: - name: elasticsearch + securityContext: + capabilities: + add: ["SYS_CHROOT"] env: - name: cluster.name value: {{ .Values.global.clusterName }} @@ -101,8 +116,8 @@ spec: {{ toYaml .Values.elasticsearch.extraEnvs | indent 8 }} {{- end }} # Official Image from Open Distro Team - image: {{ .Values.elasticsearch.image }}:{{ .Values.elasticsearch.imageTag }} - imagePullPolicy: Always + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.image }}:{{ .Values.elasticsearch.imageTag }} + imagePullPolicy: {{ .Values.elasticsearch.imagePullPolicy | default "Always" | quote }} # only publish the transport port ports: - containerPort: 9300 @@ -115,11 +130,16 @@ spec: {{- end }} {{- with .Values.elasticsearch.data.livenessProbe}} livenessProbe: +{{ toYaml . | indent 10 }} + {{- end }} + {{- with .Values.elasticsearch.data.startupProbe}} + startupProbe: {{ toYaml . | indent 10 }} {{- end }} volumeMounts: - mountPath: /usr/share/elasticsearch/data name: data + subPath: {{ .Values.elasticsearch.data.persistence.subPath }} {{- if .Values.elasticsearch.config }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elasticsearch.yml name: config @@ -133,47 +153,47 @@ spec: - mountPath: {{ .Values.elasticsearch.configDirectory }}/logging.yml name: config subPath: logging.yml - {{- if and .Values.elasticsearch.ssl.transport.enabled .Values.elasticsearch.ssl.transport.existingCertSecret }} - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-crt.pem + {{- if .Values.elasticsearch.ssl.transport.existingCertSecret }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-crt.pem name: transport-certs - subPath: transport-crt.pem - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-key.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretCertSubPath }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-key.pem name: transport-certs - subPath: transport-key.pem - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretKeySubPath }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-root-ca.pem name: transport-certs - subPath: transport-root-ca.pem - {{- end }} - {{- if and .Values.elasticsearch.ssl.rest.enabled .Values.elasticsearch.ssl.rest.existingCertSecret }} + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretRootCASubPath }} + {{- end }} + {{- if and .Values.elasticsearch.ssl.rest.enabled .Values.elasticsearch.ssl.rest.existingCertSecret }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-crt.pem name: rest-certs - subPath: elk-rest-crt.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretCertSubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-key.pem name: rest-certs - subPath: elk-rest-key.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretKeySubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-root-ca.pem name: rest-certs - subPath: elk-rest-root-ca.pem - {{- end }} - {{- if and .Values.elasticsearch.ssl.admin.enabled .Values.elasticsearch.ssl.admin.existingCertSecret }} + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretRootCASubPath }} + {{- end }} + {{- if and .Values.elasticsearch.ssl.admin.enabled .Values.elasticsearch.ssl.admin.existingCertSecret }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-crt.pem name: admin-certs - subPath: admin-crt.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretCertSubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-key.pem name: admin-certs - subPath: admin-key.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretKeySubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-root-ca.pem name: admin-certs - subPath: admin-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretRootCASubPath }} {{- end }} - - mountPath: /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/config.yml - name: security-config - subPath: config.yml +{{- if .Values.elasticsearch.extraVolumeMounts }} +{{ toYaml .Values.elasticsearch.extraVolumeMounts | indent 8 }} +{{- end }} volumes: - name: config - configMap: - name: {{ template "opendistro-es.fullname" . }}-config - {{- if and .Values.elasticsearch.ssl.transport.enabled .Values.elasticsearch.ssl.transport.existingCertSecret }} + secret: + secretName: {{ template "opendistro-es.fullname" . }}-es-config + {{- if .Values.elasticsearch.ssl.transport.existingCertSecret }} - name: transport-certs secret: secretName: {{ .Values.elasticsearch.ssl.transport.existingCertSecret }} @@ -188,16 +208,41 @@ spec: secret: secretName: {{ .Values.elasticsearch.ssl.admin.existingCertSecret }} {{- end }} - - name: security-config - configMap: - name: {{ template "opendistro-es.fullname" . }}-security-config + {{- if not .Values.elasticsearch.data.persistence.enabled }} + - name: "data" + emptyDir: {} + {{- else }} + {{- if .Values.elasticsearch.data.persistence.existingClaim }} + - name: "data" + persistentVolumeClaim: + claimName: {{ .Values.elasticsearch.data.persistence.existingClaim }} + {{- end }} + {{- end }} +{{- if .Values.elasticsearch.extraVolumes }} +{{ toYaml .Values.elasticsearch.extraVolumes | indent 6 }} +{{- end }} + {{- if and .Values.elasticsearch.data.persistence.enabled (not .Values.elasticsearch.data.persistence.existingClaim) }} volumeClaimTemplates: - metadata: name: data + annotations: + {{- range $key, $value := .Values.elasticsearch.data.persistence.annotations }} + {{ $key }}: {{ $value }} + {{- end }} spec: - accessModes: [ ReadWriteOnce ] - storageClassName: {{ .Values.elasticsearch.data.storageClassName }} + accessModes: + {{- range .Values.elasticsearch.data.persistence.accessModes }} + - {{ . | quote }} + {{- end }} resources: requests: - storage: {{ .Values.elasticsearch.data.storage }} + storage: {{ .Values.elasticsearch.data.persistence.size | quote }} + {{- if .Values.elasticsearch.data.persistence.storageClass }} + {{- if (eq "-" .Values.elasticsearch.data.persistence.storageClass) }} + storageClassName: "" + {{- else }} + storageClassName: "{{ .Values.elasticsearch.data.persistence.storageClass }}" + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/src/opendistro-es/templates/elasticsearch/es-data-svc.yaml b/src/opendistro-es/templates/elasticsearch/es-data-svc.yaml old mode 100644 new mode 100755 index a6b10465..895ff205 --- a/src/opendistro-es/templates/elasticsearch/es-data-svc.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-data-svc.yaml @@ -1,7 +1,18 @@ +# Copyright 2019 Viasat, Inc. # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 -{{- if .Values.elasticsearch.data.enabled }} ---- +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off apiVersion: v1 kind: Service metadata: @@ -18,7 +29,12 @@ spec: name: http - port: 9600 name: metrics + - port: 9650 + name: rca clusterIP: None selector: + {{- if .Values.elasticsearch.data.dedicatedPod.enabled }} role: data -{{- end }} \ No newline at end of file + {{- else }} + role: master + {{- end }} diff --git a/src/opendistro-es/templates/elasticsearch/es-master-pdb.yaml b/src/opendistro-es/templates/elasticsearch/es-master-pdb.yaml old mode 100644 new mode 100755 index d77c82b5..8cac05db --- a/src/opendistro-es/templates/elasticsearch/es-master-pdb.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-master-pdb.yaml @@ -1,7 +1,18 @@ -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if and .Values.elasticsearch.master.podDisruptionBudget.enabled .Values.elasticsearch.master.enabled }} ---- apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: @@ -11,7 +22,7 @@ metadata: {{ include "opendistro-es.labels.standard" . | indent 4 }} spec: {{- if .Values.elasticsearch.master.podDisruptionBudget.minAvailable }} - minAvailable: {{ .Values.master.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.elasticsearch.master.podDisruptionBudget.minAvailable }} {{- end }} {{- if .Values.elasticsearch.master.podDisruptionBudget.maxUnavailable }} maxUnavailable: {{ .Values.elasticsearch.master.podDisruptionBudget.maxUnavailable }} diff --git a/src/opendistro-es/templates/elasticsearch/es-master-sts.yaml b/src/opendistro-es/templates/elasticsearch/es-master-sts.yaml index 3a5af7c1..3c46a792 100644 --- a/src/opendistro-es/templates/elasticsearch/es-master-sts.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-master-sts.yaml @@ -1,7 +1,19 @@ +# Copyright 2019 Viasat, Inc. # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if .Values.elasticsearch.master.enabled }} ---- apiVersion: apps/v1 kind: StatefulSet metadata: @@ -11,13 +23,14 @@ metadata: name: {{ template "opendistro-es.fullname" . }}-master namespace: {{ .Release.Namespace }} spec: - serviceName: {{ template "opendistro-es.fullname" . }}-discovery replicas: {{ .Values.elasticsearch.master.replicas }} selector: matchLabels: -{{ include "opendistro-es.labels.standard" . | indent 8 }} +{{ include "opendistro-es.labels.selector" . | indent 6 }} + role: master updateStrategy: type: {{ .Values.elasticsearch.master.updateStrategy }} + serviceName: {{ template "opendistro-es.fullname" . }}-discovery template: metadata: labels: @@ -26,8 +39,11 @@ spec: annotations: {{/* This forces a restart if the secret config has changed */}} {{- if .Values.elasticsearch.config }} - configchecksum: {{ include (print .Template.BasePath "/elasticsearch/es-config.yaml") . | sha256sum | trunc 63 }} + configchecksum: {{ include (print .Template.BasePath "/elasticsearch/es-config-secret.yaml") . | sha256sum | trunc 63 }} {{- end }} +{{- if .Values.elasticsearch.master.podAnnotations }} +{{ toYaml .Values.elasticsearch.master.podAnnotations | indent 8 }} +{{- end }} spec: {{- include "opendistro-es.imagePullSecrets" . | indent 6 }} serviceAccountName: {{ template "opendistro-es.elasticsearch.serviceAccountName" . }} @@ -39,35 +55,39 @@ spec: nodeSelector: {{ toYaml . | indent 8 }} {{- end }} - # Anti-affinity to disallow deploying client and master nodes on the same worker node + {{- with .Values.elasticsearch.master.affinity }} affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - topologyKey: "kubernetes.io/hostname" - labelSelector: - matchLabels: - role: master - {{- with .Values.elasticsearch.master.nodeAffinity }} - nodeAffinity: -{{ toYaml . | indent 10 }} - {{- end }} +{{ toYaml . | indent 8 }} + {{- end }} initContainers: +{{- if .Values.elasticsearch.sysctl.enabled }} - name: init-sysctl - image: {{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} command: - sysctl - -w - vm.max_map_count={{ .Values.elasticsearch.maxMapCount }} securityContext: privileged: true +{{- end }} - name: fixmount command: [ 'sh', '-c', 'chown -R 1000:1000 /usr/share/elasticsearch/data' ] - image: busybox + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.initContainer.image }}:{{ .Values.elasticsearch.initContainer.imageTag }} volumeMounts: - mountPath: /usr/share/elasticsearch/data name: data + subPath: {{ .Values.elasticsearch.master.persistence.subPath }} +{{- if .Values.elasticsearch.extraInitContainers }} +{{ toYaml .Values.elasticsearch.extraInitContainers| indent 6 }} +{{- end }} +{{- if .Values.elasticsearch.master.extraInitContainers }} +{{ toYaml .Values.elasticsearch.master.extraInitContainers| indent 6 }} +{{- end }} containers: - name: elasticsearch + securityContext: + capabilities: + add: ["SYS_CHROOT"] env: - name: cluster.name value: {{ .Values.global.clusterName }} @@ -76,9 +96,17 @@ spec: - name: node.master value: "true" - name: node.ingest + {{- if .Values.elasticsearch.client.dedicatedPod.enabled }} value: "false" + {{- else }} + value: "true" + {{- end }} - name: node.data + {{- if .Values.elasticsearch.data.dedicatedPod.enabled }} value: "false" + {{- else }} + value: "true" + {{- end }} - name: network.host value: "0.0.0.0" {{- if .Values.elasticsearch.transportKeyPassphrase.enabled}} @@ -116,11 +144,15 @@ spec: {{- end }} {{- with .Values.elasticsearch.master.livenessProbe}} livenessProbe: +{{ toYaml . | indent 10 }} + {{- end }} + {{- with .Values.elasticsearch.master.startupProbe}} + startupProbe: {{ toYaml . | indent 10 }} {{- end }} # Official Image from Open Distro Team - image: {{ .Values.elasticsearch.image }}:{{ .Values.elasticsearch.imageTag }} - imagePullPolicy: Always + image: {{ .Values.global.registry }}/{{ .Values.elasticsearch.image }}:{{ .Values.elasticsearch.imageTag }} + imagePullPolicy: {{ .Values.elasticsearch.imagePullPolicy | default "Always" | quote }} ports: - containerPort: 9300 name: transport @@ -128,9 +160,12 @@ spec: name: http - containerPort: 9600 name: metrics + - containerPort: 9650 + name: rca volumeMounts: - mountPath: /usr/share/elasticsearch/data name: data + subPath: {{ .Values.elasticsearch.master.persistence.subPath }} {{- if .Values.elasticsearch.config }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elasticsearch.yml name: config @@ -144,82 +179,86 @@ spec: - mountPath: {{ .Values.elasticsearch.configDirectory }}/logging.yml name: config subPath: logging.yml - {{- if and .Values.elasticsearch.ssl.transport.enabled .Values.elasticsearch.ssl.transport.existingCertSecret }} - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-crt.pem + {{- if .Values.elasticsearch.ssl.transport.existingCertSecret }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-crt.pem name: transport-certs - subPath: transport-crt.pem - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-key.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretCertSubPath }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-key.pem name: transport-certs - subPath: transport-key.pem - - mountPath: {{ .Values.elasticsearch.configDirectory }}/transport-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretKeySubPath }} + - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-transport-root-ca.pem name: transport-certs - subPath: transport-root-ca.pem - {{- end }} - {{- if and .Values.elasticsearch.ssl.rest.enabled .Values.elasticsearch.ssl.rest.existingCertSecret }} + subPath: {{ .Values.elasticsearch.ssl.transport.existingCertSecretRootCASubPath }} + {{- end }} + {{- if and .Values.elasticsearch.ssl.rest.enabled .Values.elasticsearch.ssl.rest.existingCertSecret }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-crt.pem name: rest-certs - subPath: elk-rest-crt.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretCertSubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-key.pem name: rest-certs - subPath: elk-rest-key.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretKeySubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/elk-rest-root-ca.pem name: rest-certs - subPath: elk-rest-root-ca.pem + subPath: {{ .Values.elasticsearch.ssl.rest.existingCertSecretRootCASubPath }} {{- end }} {{- if and .Values.elasticsearch.ssl.admin.enabled .Values.elasticsearch.ssl.admin.existingCertSecret }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-crt.pem name: admin-certs - subPath: admin-crt.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretCertSubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-key.pem name: admin-certs - subPath: admin-key.pem + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretKeySubPath }} - mountPath: {{ .Values.elasticsearch.configDirectory }}/admin-root-ca.pem name: admin-certs - subPath: admin-root-ca.pem - {{- end }} - {{- if .Values.elasticsearch.securityConfig.enabled }} - {{- if .Values.elasticsearch.securityConfig.actionGroupsSecret }} + subPath: {{ .Values.elasticsearch.ssl.admin.existingCertSecretRootCASubPath }} + {{- end }} + {{- if .Values.elasticsearch.securityConfig.enabled }} + {{- if .Values.elasticsearch.securityConfig.actionGroupsSecret }} - mountPath: {{ .Values.elasticsearch.securityConfig.path }}/action_groups.yml name: action-groups subPath: action_groups.yml - {{- end }} - {{- if .Values.elasticsearch.securityConfig.configSecret }} + {{- end }} + {{- if .Values.elasticsearch.securityConfig.configSecret }} - mountPath: {{ .Values.elasticsearch.securityConfig.path }}/config.yml name: security-config subPath: config.yml - {{- end }} - {{- if .Values.elasticsearch.securityConfig.internalUsersSecret }} + {{- end }} + {{- if .Values.elasticsearch.securityConfig.internalUsersSecret }} - mountPath: {{ .Values.elasticsearch.securityConfig.path }}/internal_users.yml name: internal-users-config subPath: internal_users.yml - {{- end }} - {{- if .Values.elasticsearch.securityConfig.rolesSecret }} + {{- end }} + {{- if .Values.elasticsearch.securityConfig.rolesSecret }} - mountPath: {{ .Values.elasticsearch.securityConfig.path }}/roles.yml name: roles subPath: roles.yml - {{- end }} - {{- if .Values.elasticsearch.securityConfig.rolesMappingSecret }} + {{- end }} + {{- if .Values.elasticsearch.securityConfig.rolesMappingSecret }} - mountPath: {{ .Values.elasticsearch.securityConfig.path }}/roles_mapping.yml name: role-mapping subPath: roles_mapping.yml - {{- end }} - {{- if .Values.elasticsearch.securityConfig.tenantsSecret }} + {{- end }} + {{- if .Values.elasticsearch.securityConfig.tenantsSecret }} - mountPath: {{ .Values.elasticsearch.securityConfig.path }}/tenants.yml name: tenants subPath: tenants.yml - {{- end }} - {{- end }} - - mountPath: /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/config.yml + {{- end }} + {{- if and .Values.elasticsearch.securityConfig.config.securityConfigSecret .Values.elasticsearch.securityConfig.config.data }} + - mountPath: {{ .Values.elasticsearch.securityConfig.path }} name: security-config - subPath: config.yml + {{- end }} + {{- end }} +{{- if .Values.elasticsearch.extraVolumeMounts }} +{{ toYaml .Values.elasticsearch.extraVolumeMounts | indent 8 }} +{{- end }} +{{- if .Values.elasticsearch.master.extraContainers }} +{{ toYaml .Values.elasticsearch.master.extraContainers | indent 6 }} +{{- end }} volumes: - name: config - configMap: - name: {{ template "opendistro-es.fullname" . }}-config - - name: security-config - configMap: - name: {{ template "opendistro-es.fullname" . }}-security-config - {{- if and .Values.elasticsearch.ssl.transport.enabled .Values.elasticsearch.ssl.transport.existingCertSecret }} + secret: + secretName: {{ template "opendistro-es.fullname" . }}-es-config + {{- if .Values.elasticsearch.ssl.transport.existingCertSecret }} - name: transport-certs secret: secretName: {{ .Values.elasticsearch.ssl.transport.existingCertSecret }} @@ -234,6 +273,11 @@ spec: secret: secretName: {{ .Values.elasticsearch.ssl.admin.existingCertSecret }} {{- end }} + {{- if and .Values.elasticsearch.securityConfig.config.securityConfigSecret .Values.elasticsearch.securityConfig.config.data }} + - name: security-config + secret: + secretName: {{ .Values.elasticsearch.securityConfig.config.securityConfigSecret }} + {{- end }} {{- if .Values.elasticsearch.securityConfig.actionGroupsSecret }} - name: action-groups secret: @@ -241,8 +285,8 @@ spec: {{- end }} {{- if .Values.elasticsearch.securityConfig.configSecret }} - name: security-config - configMap: - name: {{ .Values.elasticsearch.securityConfig.configSecret }} + secret: + secretName: {{ .Values.elasticsearch.securityConfig.configSecret }} {{- end }} {{- if .Values.elasticsearch.securityConfig.internalUsersSecret }} - name: internal-users-config @@ -264,13 +308,41 @@ spec: secret: secretName: {{ .Values.elasticsearch.securityConfig.tenantsSecret }} {{- end }} + {{- if not .Values.elasticsearch.master.persistence.enabled }} + - name: "data" + emptyDir: {} + {{- else }} + {{- if .Values.elasticsearch.master.persistence.existingClaim }} + - name: "data" + persistentVolumeClaim: + claimName: {{ .Values.elasticsearch.master.persistence.existingClaim }} + {{- end }} + {{- end }} +{{- if .Values.elasticsearch.extraVolumes }} +{{ toYaml .Values.elasticsearch.extraVolumes | indent 6 }} +{{- end }} + {{- if and .Values.elasticsearch.master.persistence.enabled (not .Values.elasticsearch.master.persistence.existingClaim) }} volumeClaimTemplates: - metadata: name: data + annotations: + {{- range $key, $value := .Values.elasticsearch.master.persistence.annotations }} + {{ $key }}: {{ $value }} + {{- end }} spec: - accessModes: [ ReadWriteOnce ] - storageClassName: {{ .Values.elasticsearch.master.storageClassName }} + accessModes: + {{- range .Values.elasticsearch.master.persistence.accessModes }} + - {{ . | quote }} + {{- end }} resources: requests: - storage: {{ .Values.elasticsearch.master.storage }} + storage: {{ .Values.elasticsearch.master.persistence.size | quote }} + {{- if .Values.elasticsearch.master.persistence.storageClass }} + {{- if (eq "-" .Values.elasticsearch.master.persistence.storageClass) }} + storageClassName: "" + {{- else }} + storageClassName: "{{ .Values.elasticsearch.master.persistence.storageClass }}" + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/src/opendistro-es/templates/elasticsearch/es-security-config.yaml b/src/opendistro-es/templates/elasticsearch/es-security-config.yaml index 64d02e53..5b97cbe4 100644 --- a/src/opendistro-es/templates/elasticsearch/es-security-config.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-security-config.yaml @@ -1,46 +1,14 @@ +{{- if and .Values.elasticsearch.securityConfig.config.securityConfigSecret .Values.elasticsearch.securityConfig.config.data }} apiVersion: v1 -kind: ConfigMap +kind: Secret metadata: - name: {{ template "opendistro-es.fullname" . }}-security-config + name: {{ .Values.elasticsearch.securityConfig.config.securityConfigSecret }} + namespace: {{ .Release.Namespace }} + labels: +{{ include "opendistro-es.labels.standard" . | indent 4 }} +type: Opaque data: - config.yml: | - _meta: - type: "config" - config_version: 2 - - config: - dynamic: - do_not_fail_on_forbidden: true - kibana: - multitenancy_enabled: true - server_username: admin - http: - anonymous_auth_enabled: false - xff: - enabled: true - internalProxies: '.*' # trust all internal proxies, regex pattern - remoteIpHeader: 'x-forwarded-for' - - authc: - basic_internal_auth_domain: - http_enabled: true - transport_enabled: true - order: 0 - http_authenticator: - type: basic - challenge: false - authentication_backend: - type: intern - - proxy_auth_domain: - http_enabled: true - transport_enabled: true - order: 1 - http_authenticator: - type: proxy - challenge: false - config: - user_header: "x-oauth-preferred_username" - roles_header: "x-oauth-realm" - authentication_backend: - type: noop +{{- range $key, $val := .Values.elasticsearch.securityConfig.config.data }} + {{ $key }}: {{ $val | b64enc | quote }} +{{- end }} +{{- end}} diff --git a/src/opendistro-es/templates/elasticsearch/es-service.yaml b/src/opendistro-es/templates/elasticsearch/es-service.yaml old mode 100644 new mode 100755 index 07cd5983..122d0243 --- a/src/opendistro-es/templates/elasticsearch/es-service.yaml +++ b/src/opendistro-es/templates/elasticsearch/es-service.yaml @@ -1,12 +1,23 @@ +# Copyright 2019 Viasat, Inc. # Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: MIT-0 -{{- if .Values.elasticsearch.client.enabled }} ---- -apiVersion: v1 +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off kind: Service +apiVersion: v1 metadata: annotations: -{{- toYaml .Values.elasticsearch.client.service.annotations | indent 4 }} +{{ toYaml .Values.elasticsearch.client.service.annotations | indent 4 }} labels: {{ include "opendistro-es.labels.standard" . | indent 4 }} role: client @@ -20,7 +31,12 @@ spec: port: 9300 - name: metrics port: 9600 + - name: rca + port: 9650 selector: + {{- if .Values.elasticsearch.client.dedicatedPod.enabled }} role: client + {{- else }} + role: master + {{- end }} type: {{ .Values.elasticsearch.client.service.type }} -{{- end }} \ No newline at end of file diff --git a/src/opendistro-es/templates/elasticsearch/master-svc.yaml b/src/opendistro-es/templates/elasticsearch/master-svc.yaml old mode 100644 new mode 100755 index 2aab017b..be806833 --- a/src/opendistro-es/templates/elasticsearch/master-svc.yaml +++ b/src/opendistro-es/templates/elasticsearch/master-svc.yaml @@ -1,3 +1,18 @@ +# Copyright 2019 Viasat, Inc. +# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if .Values.elasticsearch.master.enabled }} apiVersion: v1 kind: Service @@ -14,4 +29,4 @@ spec: clusterIP: None selector: role: master -{{- end }} \ No newline at end of file +{{- end }} diff --git a/src/opendistro-es/templates/elasticsearch/role.yaml b/src/opendistro-es/templates/elasticsearch/role.yaml old mode 100644 new mode 100755 index fa51a81c..6bc87173 --- a/src/opendistro-es/templates/elasticsearch/role.yaml +++ b/src/opendistro-es/templates/elasticsearch/role.yaml @@ -1,3 +1,17 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if .Values.global.rbac.enabled }} apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role diff --git a/src/opendistro-es/templates/elasticsearch/rolebinding.yaml b/src/opendistro-es/templates/elasticsearch/rolebinding.yaml old mode 100644 new mode 100755 index 3b1faa0c..385699dd --- a/src/opendistro-es/templates/elasticsearch/rolebinding.yaml +++ b/src/opendistro-es/templates/elasticsearch/rolebinding.yaml @@ -1,4 +1,18 @@ -{{- if .Values.global.rbac.enabled -}} +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{- if .Values.global.rbac.enabled }} kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: diff --git a/src/opendistro-es/templates/kibana/kibana-deployment.yaml b/src/opendistro-es/templates/kibana/kibana-deployment.yaml index d9ba1a59..269e4dc0 100644 --- a/src/opendistro-es/templates/kibana/kibana-deployment.yaml +++ b/src/opendistro-es/templates/kibana/kibana-deployment.yaml @@ -1,40 +1,60 @@ +# Copyright 2019 Viasat, Inc. +# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if .Values.kibana.enabled }} apiVersion: apps/v1 kind: Deployment metadata: labels: {{ include "opendistro-es.labels.standard" . | indent 4 }} + role: kibana name: {{ template "opendistro-es.fullname" . }}-kibana spec: replicas: {{ .Values.kibana.replicas }} selector: matchLabels: -{{ include "opendistro-es.labels.standard" . | indent 8 }} +{{ include "opendistro-es.labels.selector" . | indent 6 }} + role: kibana template: metadata: labels: {{ include "opendistro-es.labels.standard" . | indent 8 }} - app: {{ template "opendistro-es.fullname" . }}-kibana + role: kibana annotations: {{/* This forces a restart if the secret config has changed */}} {{- if .Values.kibana.config }} - checksum/config: {{ include (print .Template.BasePath "/kibana/kibana-config.yaml") . | sha256sum | trunc 63 }} + checksum/config: {{ include (print .Template.BasePath "/kibana/kibana-config-secret.yaml") . | sha256sum | trunc 63 }} {{- end }} +{{- if .Values.kibana.podAnnotations }} +{{ toYaml .Values.kibana.podAnnotations | indent 8 }} +{{- end }} spec: - securityContext: - {{ toYaml .Values.kibana.podSecurityContext | indent 8 }} {{- include "opendistro-es.imagePullSecrets" . | indent 6 }} +{{- if .Values.kibana.extraInitContainers }} + initContainers: +{{ toYaml .Values.kibana.extraInitContainers | indent 8 }} +{{- end }} containers: - env: - name: CLUSTER_NAME value: {{ .Values.global.clusterName }} # If no custom configuration provided, default to internal DNS + {{- if not .Values.kibana.config }} - name: ELASTICSEARCH_HOSTS - value: http://{{ template "opendistro-es.fullname" . }}-client-service:9200 - - name: ELASTICSEARCH_USERNAME - value: admin - - name: ELASTICSEARCH_PASSWORD - value: admin + value: https://{{ template "opendistro-es.fullname" . }}-client-service:9200 + {{- end }} {{- if .Values.kibana.elasticsearchAccount.secret }} - name: ELASTICSEARCH_USERNAME valueFrom: @@ -63,19 +83,22 @@ spec: {{- if .Values.kibana.extraEnvs }} {{ toYaml .Values.kibana.extraEnvs | indent 8 }} {{- end }} - image: {{ .Values.kibana.image }}:{{ .Values.kibana.imageTag }} + image: {{ .Values.global.registry }}/{{ .Values.kibana.image }}:{{ .Values.kibana.imageTag }} + imagePullPolicy: {{ .Values.kibana.imagePullPolicy | default "Always" | quote }} {{- with .Values.kibana.readinessProbe}} readinessProbe: {{ toYaml . | indent 10 }} {{- end }} {{- with .Values.kibana.livenessProbe}} livenessProbe: +{{ toYaml . | indent 10 }} + {{- end }} + {{- with .Values.kibana.startupProbe}} + startupProbe: {{ toYaml . | indent 10 }} {{- end }} resources: {{ toYaml .Values.kibana.resources | indent 12 }} - securityContext: -{{ toYaml .Values.kibana.securityContext | indent 10 }} name: {{ template "opendistro-es.fullname" . }}-kibana volumeMounts: {{- if .Values.kibana.config }} @@ -86,39 +109,39 @@ spec: {{- if and .Values.kibana.ssl.kibana.enabled .Values.kibana.ssl.kibana.existingCertSecret }} - mountPath: {{ .Values.kibana.certsDirectory }}/kibana-crt.pem name: kibana-certs - subPath: kibana-crt.pem + subPath: {{ .Values.kibana.ssl.kibana.existingCertSecretCertSubPath }} - mountPath: {{ .Values.kibana.certsDirectory }}/kibana-key.pem name: kibana-certs - subPath: kibana-key.pem + subPath: {{ .Values.kibana.ssl.kibana.existingCertSecretKeySubPath }} - mountPath: {{ .Values.kibana.certsDirectory }}/kibana-root-ca.pem name: kibana-certs - subPath: kibana-root-ca.pem + subPath: {{ .Values.kibana.ssl.kibana.existingCertSecretRootCASubPath }} {{- end }} {{- if and .Values.kibana.ssl.elasticsearch.enabled .Values.kibana.ssl.elasticsearch.existingCertSecret }} - mountPath: {{ .Values.kibana.certsDirectory }}/elk-rest-crt.pem name: elasticsearch-certs - subPath: elk-rest-crt.pem + subPath: {{ .Values.kibana.ssl.elasticsearch.existingCertSecretCertSubPath }} - mountPath: {{ .Values.kibana.certsDirectory }}/elk-rest-key.pem name: elasticsearch-certs - subPath: elk-rest-key.pem + subPath: {{ .Values.kibana.ssl.elasticsearch.existingCertSecretKeySubPath }} - mountPath: {{ .Values.kibana.certsDirectory }}/elk-rest-root-ca.pem name: elasticsearch-certs - subPath: elk-rest-root-ca.pem + subPath: {{ .Values.kibana.ssl.elasticsearch.existingCertSecretRootCASubPath }} {{- end }} - - mountPath: /usr/share/kibana/plugins/opendistro_security/securityconfig/config.yml - name: security-config - subPath: config.yml +{{- if .Values.kibana.extraVolumeMounts }} +{{ toYaml .Values.kibana.extraVolumeMounts | indent 10 }} +{{- end }} ports: - containerPort: {{ .Values.kibana.port }} +{{- if .Values.kibana.extraContainers }} +{{ toYaml .Values.kibana.extraContainers | indent 6 }} +{{- end }} serviceAccountName: {{ template "opendistro-es.kibana.serviceAccountName" . }} volumes: - - name: security-config - configMap: - name: {{ template "opendistro-es.fullname" . }}-security-config {{- if .Values.kibana.config }} - name: config - configMap: - name: {{ template "opendistro-es.fullname" . }}-kibana-config + secret: + secretName: {{ template "opendistro-es.fullname" . }}-kibana-config {{- end }} {{- if and .Values.kibana.ssl.kibana.enabled .Values.kibana.ssl.kibana.existingCertSecret }} - name: kibana-certs @@ -130,8 +153,15 @@ spec: secret: secretName: {{ .Values.kibana.ssl.elasticsearch.existingCertSecret }} {{- end }} +{{- if .Values.kibana.extraVolumes }} +{{ toYaml .Values.kibana.extraVolumes | indent 8 }} +{{- end }} {{- with .Values.kibana.nodeSelector }} nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.elasticsearch.client.affinity }} + affinity: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.kibana.tolerations }} diff --git a/src/opendistro-es/templates/kibana/kibana-ingress.yml b/src/opendistro-es/templates/kibana/kibana-ingress.yml old mode 100644 new mode 100755 index 82643721..3817b0cc --- a/src/opendistro-es/templates/kibana/kibana-ingress.yml +++ b/src/opendistro-es/templates/kibana/kibana-ingress.yml @@ -1,31 +1,43 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if and .Values.kibana.ingress.enabled .Values.kibana.enabled }} -{{- $serviceName:= printf "%s-%s" (include "opendistro-es.fullname" .) "kibana-svc" }} -{{- $servicePort := .Values.kibana.externalPort -}} +{{- $serviceName := printf "%s-%s" (include "opendistro-es.fullname" .) "kibana-svc" }} +{{- $servicePort := .Values.kibana.externalPort }} +{{- $ingressPath := .Values.kibana.ingress.path }} apiVersion: extensions/v1beta1 kind: Ingress metadata: + name: {{ template "opendistro-es.fullname" . }}-kibana-ing labels: -{{ include "opendistro-es.labels.standard" . | indent 4 }} - name: {{ template "opendistro-es.fullname" . }}-kibana + {{- include "opendistro-es.labels.standard" . | nindent 4 }} + {{- with .Values.kibana.ingress.annotations }} annotations: - {{- range $key, $value := .Values.kibana.ingress.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} + {{- toYaml . | nindent 4 }} + {{- end }} spec: rules: {{- range .Values.kibana.ingress.hosts }} - {{- $url := splitList "/" . }} - - host: {{ first $url }} + - host: {{ . | quote }} http: paths: - - path: /{{ rest $url | join "/" }} + - path: {{ $ingressPath }} backend: serviceName: {{ $serviceName }} servicePort: {{ $servicePort }} - {{- end -}} + {{- end }} {{- if .Values.kibana.ingress.tls }} - tls: -{{ toYaml .Values.kibana.ingress.tls | indent 4 }} - {{- end -}} -{{- end -}} - + tls: {{ toYaml .Values.kibana.ingress.tls | nindent 4 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/src/opendistro-es/templates/kibana/kibana-service.yaml b/src/opendistro-es/templates/kibana/kibana-service.yaml old mode 100644 new mode 100755 index c07cc786..98295823 --- a/src/opendistro-es/templates/kibana/kibana-service.yaml +++ b/src/opendistro-es/templates/kibana/kibana-service.yaml @@ -1,11 +1,27 @@ +# Copyright 2019 Viasat, Inc. +# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if .Values.kibana.enabled }} apiVersion: v1 kind: Service metadata: annotations: -{{- toYaml .Values.kibana.service.annotations | indent 4 }} +{{ toYaml .Values.kibana.service.annotations | indent 4 }} labels: {{ include "opendistro-es.labels.standard" . | indent 4 }} + role: kibana name: {{ template "opendistro-es.fullname" . }}-kibana-svc spec: ports: @@ -13,6 +29,6 @@ spec: port: {{ .Values.kibana.externalPort }} targetPort: {{ .Values.kibana.port }} selector: - app: {{ template "opendistro-es.fullname" . }}-kibana + role: kibana type: {{ .Values.kibana.service.type }} {{- end }} diff --git a/src/opendistro-es/templates/kibana/kibana-serviceaccount.yaml b/src/opendistro-es/templates/kibana/kibana-serviceaccount.yaml old mode 100644 new mode 100755 index 507fab65..1be04b0a --- a/src/opendistro-es/templates/kibana/kibana-serviceaccount.yaml +++ b/src/opendistro-es/templates/kibana/kibana-serviceaccount.yaml @@ -1,3 +1,17 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{ if and .Values.kibana.serviceAccount.create .Values.kibana.enabled }} apiVersion: v1 kind: ServiceAccount diff --git a/src/opendistro-es/templates/kibana/role.yaml b/src/opendistro-es/templates/kibana/role.yaml old mode 100644 new mode 100755 index 758cfcca..a7e7bf99 --- a/src/opendistro-es/templates/kibana/role.yaml +++ b/src/opendistro-es/templates/kibana/role.yaml @@ -1,3 +1,17 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if and .Values.global.rbac.enabled .Values.kibana.enabled }} apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role diff --git a/src/opendistro-es/templates/kibana/rolebinding.yaml b/src/opendistro-es/templates/kibana/rolebinding.yaml old mode 100644 new mode 100755 index 181c9f12..7f3608c5 --- a/src/opendistro-es/templates/kibana/rolebinding.yaml +++ b/src/opendistro-es/templates/kibana/rolebinding.yaml @@ -1,4 +1,18 @@ -{{- if and .Values.global.rbac.enabled .Values.kibana.enabled -}} +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off +{{- if and .Values.global.rbac.enabled .Values.kibana.enabled }} kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: diff --git a/src/opendistro-es/templates/psp.yml b/src/opendistro-es/templates/psp.yml old mode 100644 new mode 100755 index e50fd56b..891c3884 --- a/src/opendistro-es/templates/psp.yml +++ b/src/opendistro-es/templates/psp.yml @@ -1,5 +1,19 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +# @formatter:off {{- if .Values.global.psp.create }} -apiVersion: extensions/v1beta1 +apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: labels: @@ -33,4 +47,6 @@ spec: - min: 1 max: 65535 readOnlyRootFilesystem: false + allowedCapabilities: + - 'SYS_CHROOT' {{- end }} diff --git a/src/opendistro-es/values.yaml b/src/opendistro-es/values.yaml index a32d722f..b9f1c9cc 100644 --- a/src/opendistro-es/values.yaml +++ b/src/opendistro-es/values.yaml @@ -1,19 +1,36 @@ +# Copyright 2019 Viasat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + kibana: enabled: true image: amazon/opendistro-for-elasticsearch-kibana - imageTag: 1.8.0 - replicas: 3 + imageTag: 1.11.0 + ## Specifies the image pull policy. Can be "Always" or "IfNotPresent" or "Never". + ## Default to "Always". + imagePullPolicy: "" + replicas: 1 port: 5601 - externalPort: 5601 - resources: - limits: - cpu: 2500m - memory: 2Gi - requests: - cpu: 500m - memory: 512Mi + externalPort: 443 + resources: {} + # limits: + # cpu: 2500m + # memory: 2Gi + # requests: + # cpu: 500m + # memory: 512Mi readinessProbe: [] livenessProbe: [] + startupProbe: [] elasticsearchAccount: secret: "" @@ -22,46 +39,71 @@ kibana: extraEnvs: [] + extraVolumes: [] + # - name: extras + # emptyDir: {} + + extraVolumeMounts: [] + # - name: extras + # mountPath: /usr/share/extras + # readOnly: true + + extraInitContainers: [] + # - name: do-something + # image: busybox + # command: ['do', 'something'] + + extraContainers: [] + # - name: do-something + # image: busybox + # command: ['do', 'something'] + ssl: kibana: enabled: false existingCertSecret: + existingCertSecretCertSubPath: kibana-crt.pem + existingCertSecretKeySubPath: kibana-key.pem + existingCertSecretRootCASubPath: kibana-root-ca.pem elasticsearch: - enabled: true - existingCertSecret: elasticsearch-certificates - ingress: - enabled: false + enabled: false + existingCertSecret: + existingCertSecretCertSubPath: elk-rest-crt.pem + existingCertSecretKeySubPath: elk-rest-key.pem + existingCertSecretRootCASubPath: elk-rest-root-ca.pem + + configDirectory: "/usr/share/kibana/config" certsDirectory: "/usr/share/kibana/certs" + ingress: + ## Set to true to enable ingress record generation + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + labels: {} + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + service: type: ClusterIP annotations: {} - config: - # Default Kibana configuration from kibana-docker. - server.basePath: "/kibana-app" - server.rewriteBasePath: true - elasticsearch.preserveHost: false - opendistro_security.auth.type: "proxy" - opendistro_security.multitenancy.enabled: true - elasticsearch.requestHeadersWhitelist: - - securitytenant - - Authorization - - x-forwarded-for - - x-forwarded-by - - x-oauth-preferred_username - - x-oauth-realm - opendistro_security.multitenancy.tenants.enable_private: false - opendistro_security.multitenancy.tenants.enable_global: false + config: {} + ## Default Kibana configuration from kibana-docker. + # server.name: kibana + # server.host: "0" ## Replace with Elasticsearch DNS name picked during Service deployment - elasticsearch.hosts: ["http://opendistro-es-client-service:9200"] - elasticsearch.requestTimeout: 360000 - elasticsearch.username: admin - elasticsearch.password: admin - server.host: "0.0.0.0" + # elasticsearch.hosts: ${ELASTIC_URL} + # elasticsearch.requestTimeout: 360000 ## Kibana TLS Config # server.ssl.enabled: true @@ -70,7 +112,7 @@ kibana: # elasticsearch.ssl.certificateAuthorities: /usr/share/kibana/certs/kibana-root-ca.pem # opendistro_security.cookie.secure: true - # opendistro_security.cookie.password: ${COOKIE_PASS} + # opendistro_security.cookie.password: ${COOKIE_PASS} @@ -84,33 +126,30 @@ kibana: ## tolerations: [] - podSecurityContext: - fsGroup: 1000 - - securityContext: - capabilities: - drop: - - ALL - # readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1000 + affinity: {} serviceAccount: - # Specifies whether a ServiceAccount should be created + ## Specifies whether a ServiceAccount should be created create: true - # The name of the ServiceAccount to use. - # If not set and create is true, a name is generated using the fullname template + ## The name of the ServiceAccount to use. + ## If not set and create is true, a name is generated using the fullname template name: + podAnnotations: {} + global: clusterName: elasticsearch psp: - create: false + create: true rbac: enabled: true + + # Optionally override the docker registry to use for images + registry: docker.io + ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. # imagePullSecrets: @@ -130,136 +169,336 @@ elasticsearch: rolesSecret: rolesMappingSecret: tenantsSecret: + #The following option simplifies securityConfig by using a single secret and specifying the respective secrets in the corresponding files instead of creating different secrets for config,internal users, roles, roles mapping and tenants + #Note that this is an alternative to the above secrets and shouldn't be used if the above secrets are used + config: + securityConfigSecret: + data: {} + # config.yml: |- + # internal_users.yml: |- + # roles.yml: |- + # rolesMapping.yml: |- + # tenants.yml: |- extraEnvs: [] + extraInitContainers: [] + # - name: do-something + # image: busybox + # command: ['do', 'something'] + + extraVolumes: [] + # - name: extras + # emptyDir: {} + + extraVolumeMounts: [] + # - name: extras + # mountPath: /usr/share/extras + # readOnly: true + initContainer: image: busybox imageTag: 1.27.2 + ## Set optimal sysctl's. This requires privilege. Can be disabled if + ## the system has already been preconfigured. + sysctl: + enabled: true + ssl: + ## TLS is mandatory for the transport layer and can not be disabled transport: - enabled: true - existingCertSecret: elasticsearch-certificates + existingCertSecret: + existingCertSecretCertSubPath: elk-transport-crt.pem + existingCertSecretKeySubPath: elk-transport-key.pem + existingCertSecretRootCASubPath: elk-transport-root-ca.pem rest: - enabled: true - existingCertSecret: elasticsearch-certificates + enabled: false + existingCertSecret: + existingCertSecretCertSubPath: elk-rest-crt.pem + existingCertSecretKeySubPath: elk-rest-key.pem + existingCertSecretRootCASubPath: elk-rest-root-ca.pem admin: - enabled: true - existingCertSecret: elasticsearch-certificates + enabled: false + existingCertSecret: + existingCertSecretCertSubPath: admin-crt.pem + existingCertSecretKeySubPath: admin-key.pem + existingCertSecretRootCASubPath: admin-root-ca.pem master: enabled: true - replicas: 3 + replicas: 1 updateStrategy: "RollingUpdate" - nodeAffinity: {} - storageClassName: standard - storage: 50Gi - resources: - limits: - cpu: 1 - memory: 1024Mi - requests: - cpu: 200m - memory: 1024Mi + + ## Enable persistence using Persistent Volume Claims + ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ + ## + persistence: + enabled: true + ## A manually managed Persistent Volume and Claim + ## Requires persistence.enabled: true + ## If defined, PVC must be created manually before volume will be bound + ## + # existingClaim: + + ## The subdirectory of the volume to mount to, useful in dev environments + ## and one PV for multiple services. + ## + subPath: "" + + ## Open Distro master Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessModes: + - ReadWriteOnce + size: 8Gi + annotations: {} + + resources: {} + # limits: + # cpu: 1 + # memory: 1024Mi + # requests: + # cpu: 200m + # memory: 1024Mi javaOpts: "-Xms512m -Xmx512m" podDisruptionBudget: enabled: false minAvailable: 1 - tolerations: [] readinessProbe: [] livenessProbe: tcpSocket: port: transport initialDelaySeconds: 60 periodSeconds: 10 + startupProbe: [] nodeSelector: {} + tolerations: [] + ## Anti-affinity to disallow deploying client and master nodes on the same worker node + affinity: {} + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - topologyKey: "kubernetes.io/hostname" + # labelSelector: + # matchLabels: + # role: master + podAnnotations: {} + + extraInitContainers: [] + # - name: do-something + # image: busybox + # command: ['do', 'something'] + + extraContainers: [] + # - name: do-something + # image: busybox + # command: ['do', 'something'] data: enabled: true - replicas: 3 + ## Enables dedicated statefulset for data. Otherwise master nodes as data storage + dedicatedPod: + enabled: true + replicas: 1 updateStrategy: "RollingUpdate" - nodeAffinity: {} - storageClassName: standard - storage: 100Gi - resources: - limits: - cpu: 1 - memory: 1024Mi - requests: - cpu: 200m - memory: 1024Mi + + ## Enable persistence using Persistent Volume Claims + ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ + ## + persistence: + enabled: true + ## A manually managed Persistent Volume and Claim + ## Requires persistence.enabled: true + ## If defined, PVC must be created manually before volume will be bound + ## + # existingClaim: + + ## The subdirectory of the volume to mount to, useful in dev environments + ## and one PV for multiple services. + ## + subPath: "" + + ## Open Distro master Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessModes: + - ReadWriteOnce + size: 8Gi + annotations: {} + + resources: {} + # limits: + # cpu: 1 + # memory: 1024Mi + # requests: + # cpu: 200m + # memory: 1024Mi javaOpts: "-Xms512m -Xmx512m" podDisruptionBudget: enabled: false minAvailable: 1 - tolerations: [] readinessProbe: [] livenessProbe: tcpSocket: port: transport initialDelaySeconds: 60 periodSeconds: 10 + startupProbe: [] nodeSelector: {} + tolerations: [] + ## Anti-affinity to disallow deploying client and master nodes on the same worker node + affinity: {} + # podAntiAffinity: + # preferredDuringSchedulingIgnoredDuringExecution: + # - weight: 1 + # podAffinityTerm: + # topologyKey: "kubernetes.io/hostname" + # labelSelector: + # matchLabels: + # role: data + podAnnotations: {} client: enabled: true + ## Enables dedicated deployment for client/ingest. Otherwise master nodes as client/ingest + dedicatedPod: + enabled: true service: type: ClusterIP annotations: {} - replicas: 2 + # # Defined ELB backend protocol as HTTPS to allow connection to Elasticsearch API + # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https + + # # ARN of ACM certificate registered to the deployed ELB for handling connections over TLS + # # ACM certificate should be issued to the DNS hostname defined earlier (elk.sec.example.com) + # service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-1:111222333444:certificate/c69f6022-b24f-43d9-b9c8-dfe288d9443d" + # service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https" + + # service.beta.kubernetes.io/aws-load-balancer-connection-draining-enabled: "true" + # service.beta.kubernetes.io/aws-load-balancer-connection-draining-timeout: "60" + # service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true" + + # # Annotation to create internal only ELB + # service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 + replicas: 1 javaOpts: "-Xms512m -Xmx512m" - nodeAffinity: {} ingress: + ## Set to true to enable ingress record generation enabled: false - limits: - cpu: 1 - memory: 1024Mi - requests: - cpu: 200m - memory: 1024Mi + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + labels: {} + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + resources: {} + # limits: + # cpu: 1 + # memory: 1024Mi + # requests: + # cpu: 200m + # memory: 1024Mi podDisruptionBudget: enabled: false minAvailable: 1 - tolerations: [] readinessProbe: [] livenessProbe: tcpSocket: port: transport initialDelaySeconds: 60 periodSeconds: 10 + startupProbe: [] nodeSelector: {} + tolerations: [] + ## Weighted anti-affinity to disallow deploying client node to the same worker node as master node + affinity: {} + # podAntiAffinity: + # preferredDuringSchedulingIgnoredDuringExecution: + # - weight: 1 + # podAffinityTerm: + # topologyKey: "kubernetes.io/hostname" + # labelSelector: + # matchLabels: + # role: client + podAnnotations: {} + + config: {} + ## Example Config + # opendistro_security.allow_unsafe_democertificates: false + # opendistro_security.allow_default_init_securityindex: true + # opendistro_security.audit.type: internal_elasticsearch + # opendistro_security.enable_snapshot_restore_privilege: true + # opendistro_security.check_snapshot_restore_write_privileges: true + # cluster.routing.allocation.disk.threshold_enabled: false + # opendistro_security.audit.config.disabled_rest_categories: NONE + # opendistro_security.audit.config.disabled_transport_categories: NONE + # cluster: + # name: ${CLUSTER_NAME} + # node: + # master: ${NODE_MASTER} + # data: ${NODE_DATA} + # name: ${NODE_NAME} + # ingest: ${NODE_INGEST} + # max_local_storage_nodes: 1 + # attr.box_type: hot + + # processors: ${PROCESSORS:1} + + # network.host: ${NETWORK_HOST} + + # thread_pool.bulk.queue_size: 800 + + # path: + # data: /usr/share/elasticsearch/data + # logs: /usr/share/elasticsearch/logs + + # http: + # enabled: ${HTTP_ENABLE} + # compression: true + + # discovery: + # zen: + # ping.unicast.hosts: ${DISCOVERY_SERVICE} + # minimum_master_nodes: ${NUMBER_OF_MASTERS} + + # # TLS Configuration Transport Layer + # opendistro_security.ssl.transport.pemcert_filepath: elk-transport-crt.pem + # opendistro_security.ssl.transport.pemkey_filepath: elk-transport-key.pem + # opendistro_security.ssl.transport.pemtrustedcas_filepath: elk-transport-root-ca.pem + # opendistro_security.ssl.transport.enforce_hostname_verification: false + + # # TLS Configuration REST Layer + # opendistro_security.ssl.http.enabled: true + # opendistro_security.ssl.http.pemcert_filepath: elk-rest-crt.pem + # opendistro_security.ssl.http.pemkey_filepath: elk-rest-key.pem + # opendistro_security.ssl.http.pemtrustedcas_filepath: elk-rest-root-ca.pem - - config: - opendistro_security.allow_unsafe_democertificates: false - - # TLS Configuration Transport Layer - opendistro_security.ssl.transport.pemcert_filepath: transport-crt.pem - opendistro_security.ssl.transport.pemkey_filepath: transport-key.pem - opendistro_security.ssl.transport.pemtrustedcas_filepath: transport-root-ca.pem - opendistro_security.ssl.transport.enforce_hostname_verification: false - opendistro_security.restapi.roles_enabled: ["all_access", "security_rest_api_access"] - - # TLS Configuration REST Layer - opendistro_security.ssl.http.pemcert_filepath: elk-rest-crt.pem - opendistro_security.ssl.http.pemkey_filepath: elk-rest-key.pem - opendistro_security.ssl.http.pemtrustedcas_filepath: elk-rest-root-ca.pem - - opendistro_security.nodes_dn: 'CN=opendistro-es-*,OU=eha,O=eha,L=Berlin,ST=Berlin,C=DE' - opendistro_security.authcz.admin_dn: - - 'CN=admin,OU=eha,O=eha,L=Berlin,ST=Berlin,C=DE' log4jConfig: "" loggingConfig: ## Default config - # you can override this using by setting a system property, for example -Des.logger.level=DEBUG - es.logger.level: DEBUG + ## you can override this using by setting a system property, for example -Des.logger.level=DEBUG + es.logger.level: INFO rootLogger: ${es.logger.level}, console logger: - # log action execution errors for easier debugging + ## log action execution errors for easier debugging action: DEBUG - # reduce the logging for aws, too much is logged under the default INFO + ## reduce the logging for aws, too much is logged under the default INFO com.amazonaws: WARN appender: console: @@ -279,17 +518,20 @@ elasticsearch: maxMapCount: 262144 image: amazon/opendistro-for-elasticsearch - imageTag: 1.8.0 + imageTag: 1.11.0 + ## Specifies the image pull policy. Can be "Always" or "IfNotPresent" or "Never". + ## Default to "Always". + imagePullPolicy: "" configDirectory: /usr/share/elasticsearch/config serviceAccount: - # Specifies whether a ServiceAccount should be created + ## Specifies whether a ServiceAccount should be created create: true - # The name of the ServiceAccount to use. - # If not set and create is true, a name is generated using the fullname template + ## The name of the ServiceAccount to use. + ## If not set and create is true, a name is generated using the fullname template name: nameOverride: "" -fullnameOverride: "" +fullnameOverride: "" \ No newline at end of file