From 6487c77da5572b0fb76b644eb765df1c42820007 Mon Sep 17 00:00:00 2001 From: shreben Date: Mon, 17 Apr 2017 01:44:01 +0300 Subject: [PATCH] Add files via upload --- Vagrantfile | 75 ++++++++++++++++++++++++++++++++++++++ autosign.conf | 1 + client_info.png | Bin 0 -> 34055 bytes client_puppet.conf | 5 +++ hosts | 4 ++ lesson13_mysql_client.png | Bin 0 -> 26927 bytes lesson13_nginx.png | Bin 0 -> 40599 bytes pg_hba.conf | 3 ++ prod_site.pp | 48 ++++++++++++++++++++++++ server_puppet.conf | 19 ++++++++++ site.pp | 39 ++++++++++++++++++++ 11 files changed, 194 insertions(+) create mode 100644 Vagrantfile create mode 100644 autosign.conf create mode 100644 client_info.png create mode 100644 client_puppet.conf create mode 100644 hosts create mode 100644 lesson13_mysql_client.png create mode 100644 lesson13_nginx.png create mode 100644 pg_hba.conf create mode 100644 prod_site.pp create mode 100644 server_puppet.conf create mode 100644 site.pp diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..dad2141 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,75 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure('2') do |config| + # define box to use + config.vm.box = 'sbeliakou/centos-7.2-x86_64' + + # define puppet master server + config.vm.define 'master' do |master| + master.vm.hostname = 'master.lab' + master.vm.network 'private_network', ip: '192.0.0.100' + master.vm.provider 'virtualbox' do |v| + v.name = 'master' + v.memory = 4096 + v.cpus = 2 + v.linked_clone = true + end + master.vm.provision 'shell', inline: <<-SHELL + nmcli connection reload + systemctl restart network.service + grep client /etc/hosts + [ $? -ne 0 ] && echo "192.0.0.105 client.lab" >> /etc/hosts + /bin/cp /vagrant/hosts /etc/ + yum install -y https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm + yum install -y http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-redhat94-9.4-2.noarch.rpm + yum install -y puppetserver + systemctl enable puppetserver + /bin/cp /vagrant/site.pp /etc/puppetlabs/code/environments/production/manifests + /bin/cp /vagrant/autosign.conf /etc/puppetlabs/puppet/ + /bin/cp /vagrant/server_puppet.conf /etc/puppetlabs/puppet/puppet.conf + mkdir -p /etc/puppetlabs/code/environments/prod/{manifests,modules} + /bin/cp /vagrant/prod_site.pp /etc/puppetlabs/code/environments/prod/manifests/site.pp + systemctl restart puppetserver + source ~/.bashrc + yum install postgresql94-server postgresql94-contrib -y + /usr/pgsql-9.4/bin/postgresql94-setup initdb + yes | cp /vagrant/pg_hba.conf /var/lib/pgsql/9.4/data/ + systemctl enable postgresql-9.4.service + systemctl start postgresql-9.4.service + cd / + sudo -u postgres psql -c "create user puppetdb password 'puppetdb'" + sudo -u postgres psql -c "create database puppetdb owner puppetdb" + puppet module install puppetlabs-puppetdb --version 5.1.2 + puppet module install puppetlabs-mysql --version 3.10.0 --environment prod + puppet module install puppetlabs-apache --version 1.11.0 + puppet module install spotify-puppetexplorer --version 1.1.1 + puppet module install puppet-nginx --version 0.6.0 --environment prod + puppet agent -t + systemctl stop iptables + SHELL + end + + # define puppet client vm + config.vm.define 'client' do |client| + client.vm.hostname = 'client.lab' + client.vm.network 'private_network', ip: '192.0.0.105' + client.vm.provider 'virtualbox' do |v| + v.name = 'client' + v.memory = 1024 + v.cpus = 1 + v.linked_clone = true + end + client.vm.provision 'shell', inline: <<-SHELL + nmcli connection reload + systemctl restart network.service + grep master /etc/hosts + [ $? -ne 0 ] && echo "192.0.0.100 master.lab" >> /etc/hosts + yum install -y https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm + yum install -y puppet-agent + /bin/cp /vagrant/client_puppet.conf /etc/puppetlabs/puppet/puppet.conf + source ~/.bashrc + puppet agent -t + SHELL + end +end diff --git a/autosign.conf b/autosign.conf new file mode 100644 index 0000000..fe48d3f --- /dev/null +++ b/autosign.conf @@ -0,0 +1 @@ +client.lab diff --git a/client_info.png b/client_info.png new file mode 100644 index 0000000000000000000000000000000000000000..8a412c48bd7ec0f0a96c6d4f550b846e6de15e23 GIT binary patch literal 34055 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 literal 0 HcmV?d00001 diff --git a/client_puppet.conf b/client_puppet.conf new file mode 100644 index 0000000..af1ba67 --- /dev/null +++ b/client_puppet.conf @@ -0,0 +1,5 @@ +[main] +certname = client.lab +server = master.lab +environment = prod +runinterval = 3m diff --git a/hosts b/hosts new file mode 100644 index 0000000..0b22394 --- /dev/null +++ b/hosts @@ -0,0 +1,4 @@ +127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 +::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 +192.0.0.100 master.lab +192.0.0.105 client.lab diff --git a/lesson13_mysql_client.png b/lesson13_mysql_client.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4d8f130ff191177fe6048b606576db3c7286f7 GIT binary patch literal 26927 zcma&NXIN8P6F-U^JW>>-3nEDGL_j(Or3q3(??rlVB1j3KNDD8p_`vOhSY!UYzeFHj~Xw4CmIlSTQgJI#P{DC~V%) z;D~v`z;nA%*MR1ygqRV}J2IPGF>l|IE0v6kV#BH()8OEaApe80Mrg?lLFU}tqF6Eb zbJtE#E#YkGtMr6ytaf0}j>B?YB(tg%5TCDo#!hL>jwKf^F} zEvVEY-lDMFmjn6kjGM6!+>4ePBL}TAq~j(*s=PkQMQy$b&Jpsbt&_dN12t6%CZMIt zqPEoK`(0@Y_-tRcDyAavktfm|Gu1b3(yN0M#(c^$pb{(zeL3soGbd8?M*;IG0DP+( zb)+-Ln4i^O8IV~PtW&H{RM>{%l}ZZ4T}$D&M;6}VqMOHCb>=;Mr_Z2`ajTA41xb$A z-A())5k-M90V#oXf!zU*gY?Eg?-e8hPdG07f_w(j2)L%elmOEqqo2Q!Y0slhvQoIN z{tjXiR8KgVqrP31u06vzDAueWeBUm;kc#?)9#qz}syT2_R=tgugTpS5&!fjjRY|(N z=NGu;^WN7FE~EAuRr(h==<U&Oe&)6=UV&(9r9uJ&s&qCYJ@An2a4Kbux4#~g%f)Mj#ZoV3p7p}DiCt3!GBK!~0@QQLj{7@SOczI} z0a?Z_2OT_TDn%II2p6OoSJDA5bLRSUW5cAWP=$G#VEfm-seC|xK1`T%$41o*m4!o) zon@C++@_iC3?DYE-?(G<=ss)Y@E%Lv`f$1!27l2FI&mf$uGK_csz{0Nm{lrOod zLL`BWng02T2}O01;YKS?)sfJij8p#d@4BwqZz`j=eL}qD`kJiC$XKe+wkd9ErhR55 z8=6(W5Qd}q74QZ-iT}?A36Vw`Lo743s7&$e`Z>SR+zFnSOqo3scgyN2K$c$Pm zz3()Imq6mu+G65lro7Q6&pw$N@{Q)FObyq6)*X%6Sf=533|>f0gfQpxJmv?+eXBcB zpFEIdS?TzJ33P5fCp4>GWMF(y@9@AFFZ}IIhppEeUyWLRjT-$l(o!-&Y7@SkBKgZ5pOY+ItbqI;yI}mQ$t(?)0c@| zn8qq{&nN!kV97{=3`-c>3+uLJ{aw4z3uva>rpfB7q8iH~^bQX{{|Di&0ZuwxWabS2 zi#hzkE20eLG3u)=Mga+Rb+3-L1!xRd3dPtR!cKo5&U?e?VF@!1Bz@c|jDQOcEe_o~ zEt;V@BEpjQ{Djh~#177Sp5t?7e)zAiTiB0=yvFtbw#35T_4<-==z!a0WD~i zx6qeeF3tk?!2Nr&>LRGI0 zD(LlAz+KQ-`t5cZl@jA;=I%yD`T8eEWtv)otM#7I>vl{ClBYcmt8Xtq}RK8e_ zgbEGnaP6xb0N*E8f=o!lk}4a=>-}04dctE2)4A+nDkaSZH8akxqVP43tAd`UPl{P~ zTOZ5oqrjVgll=9wE9sm9!9xl6m_Hu96>Rv?LP=~(96tz7GPJ)*yqKAM{?`IA%~CF+ z)$>sQL!wVF`Q(rD8gW7S3JJ!d?cN!l!b|FFZ6oY|1vJS(|G&Xm5M9`tDsfQbd{&DTg;Y!`tOO4sPZNM9fw(-}2%PoUV!ro!d?JP^= zdi|?u3I4DOF%n?JNM$Z!s48I2fh2I`y&mlKPqGvJKt|VHb9)($aRwN?!6~;-G)to{ zX*%*Y)$f1l>-bFBk_2JR%@1?TOz6wLy2@l*sBwj@NnSiT38$9xwyb zesi_ba42m>?B*3iheveiNPGn(?1c3nhclG$DZ)C>s=8LfWT;U548`3mov(sBVq&Wr z!tL24R(1FD==1C)@)iN`*jV?VA-jHeh7xc?M!=9rvqr-q-@-NFEh1%rF0=~}}Tpl|rMSUCRYiO+A zL2lmvwwpV3ME&5buz8t8*EeYopYQ^g=fcYTW#CT+ZNyBn<*Y?< z_DlnhRU0TIEY{`AYFaci&fv26_%bP4fV2Nc_#`ctAYfs$6FIYVyTHw7WyIhIe z1=SFuGGZx1H$V(mxF*(dqlGlrKG5jhO=qU}2HLc%zI z!{vyBgmbk2F(+1HFXDXZ9I2FjQ2hGC>lG4EyPLsZ(ljAqGG72T8wHsD9^3;Ui5G_z z9?7(6+(tZDb}6$?GV7(WVI0a&*LT9n@wu_Fe1XZu$R2f-BTs|lV!zgPXC`hgP+O)X zQQ9prmPGD{bt;qAvOsd8rC`xMBAxQR{R()?$ieI39;gv`xmzr60ndp#x-#heDN&x4 zcphdS5@w6--c1UCEN#v$?u2>DlaRWJp)hv=AV6;=D|XW=@OM^!RfAKehjK9mh$&8h zq8-a0%#tgn=GrfvG}dvEZ~mmSyCM8@fN5Dy<9Q7&Kx#5V-+LSOFhoNmAIFz5MX499 z)6G<>#b6Y1D>7RL_}Pl5=hnX$bVNDJfASN-DC_(WztI4LnW z%vaL^a~=p?OI`O`dDLcf<{Er&nXaPlEBF4$aG@`9``FXUUQKn1ImG?@!m)4Nsa)zU zfS!uyVjq^hzb5kVIhWrn<|T79zU}=%#@+RZ6sy>Iuj-`ngG@>yEo9t3i;`%LOK_8! ziWQ>oFZ~ni#2Sr$T7sHm>L{_~!k)rRh_~@g5KVVs<%6E{Wi9ZLYTV6D*L>U*K^dBQ z9twY$Hy`GTiWP*pG(Q1fvuLPeiv~s4>OaMMT>wJG+A+fIV?kJJ$ecN38EVz)OhSJ*Zi+*kEC44n_ zONOs7Y8KQDx82aaX zF&_|5qb&kF=rBRNdd2AAhrkLjlz{VzRXp-AmohdBd05BFXCZmm6hZ0ZpX{7#O^x#G z_+hSit+xih*c9?CRM=RG`>ZyHdy2(4K*{9>ap}kd{kwiaJf^YL-_9eByxhAM$HFx4 zX};}`>DPEa@0yV#gqGHcHSXbSV`{s9+*s^kLP4Lb$MTLZz{M=n6EZHrJwHHW!fav$ z9?%`aZ@V*jt)#Vq9;!+^DTf9>rqVohSefjLpBMJ6vOFTT$P`iPuT1vy^qPB^32pL7 zS6Uo-vyHgJMFeF&Q0lv=wU$ae7xiH)HIJ`Z9~J6@G1iVg_tE?yyE66HMzel#X8yFI zw!cj6S-%0(P%7vby7|t;dp~r~6IVyGD9PPHF$3wh&l$sX6n@PdwHjhKb%NJgkIxn) z+3!!hm#rzDK9kj7Y?vM`{`Iue&_R+CAvgvay~na|LLp93?5z7=0~%7gv3~ zJ!eto{5E7R?`FTK_m2iZ46W{@s%2ZKQ!$qtq$pZG-r#Ab86L#*T3;2aHKPuxeQY7A zKFzv&qM|yX%Rwj=9*HbmcZ!2q|7MF3_(*Qb3=HR4IUbcm^I^`~C=~$8suzEGSDf)A z?&C5fLE}xc_S$bl`qVCw;aTdMib8EY(Tba5KJ(+pe*ZiT?-R9Yom=>Pc-J@5$Zk8VX#3cB6wf1kt(aO4cD^3Yk z-{wgAVm?aHL&s{-EIwNOhnYed$}v=8%=veAYZE3k^dKHDMWJHAG<4?nq3oPs{H1iO z3g0(z@r_^M`hN=Kr@D3Ce8w#fv`aEQCV!j+s!`uM_XKiRdgvBb@?xQNkjCG$whh3F4!h5eZc)rK6oOigCr%j5JHcq0go97Y zPG^QUIk=*1#T^DI3{{y5#jZG7rf%u0w*I}RboP{+THD`3X!|%AVmAYwsA>QXiLN_4 z$ddoUEIj`Apzzmj+F7%r&(BZTkA2;-7n{5ESC+<35ucVM;wAmmPM$6lZ2QLkP5FB- z$yuJ-ocQQtOt!_8YlRB+uV{#xsfG}?$4RD@z6>ouzipvj$ZRC2#m11>>A}Z6_l`=J zd)_d@#{v`1)L`Ps#g6r?EfG^bfD`=a9Yv(F4nKWr!({{5x7ru*HhbMiL+5JS!&Qt> z1hGC*kGZ6TPpyZ{x33cNjHNLTQRB~w@ zTU8%k5|~S=%@QhNpNUI1Ys>-({0dB>6lRXyH_{QiUHr#oN~;@`d9y6>$rs_r$iZZ! zWgg`N7AGUJg`E!)VSK7N{=2n*luHCgRy{JA-m5-cZn^ix?74RqC9tU?W|*cL?26K0 zg0PARin@sbJ0<+(E&zu1XzlJP&Gj6xEri50}f4Xrmv+wKXtRzd0jPG+d^z7L3- ztKWiUB&n~LJ1~gAA0OM67U;`I5O@MwxnTELG%QF2sjrw*8g6`w;#N$Vd$^#21N#>B zG{sCYYI^ccTQf11{}CJmI~8-)uJU2zkJ5~yoeSApN1u151?-*dVfVC8%_%&YD(w5} zQyGyUsRi24UvtOs(Q2nNyHnM39=*ZzwpF}os;kZ}#Bl+}czzy+&boGH$tG9raFHEV z%URs0IX+A;F|y?;Fj>C#31M*JXoNcuBHQvou`Itgcr#I)Dp+Wo=2%DrV*c>; zBW`hYC8MwWiSL+&oO9PV9%;3Zm)$t9O<&bAm)FWMGhT{SbtD@R+Sjghr~*v`o>|VG z9`e4062j1tqA!Pttj*i_<3{j~FQ&54FLz{5*TR9<;o-{fF&e-IfI8!ci(^=nhB?4W zqeQSMc&w8gT`QcX**wULjlP;zggl=cL_2K~6sOuZr42K)lTB?*-11lEj;;%hjHRHz& zpyYf3+5PAA*2V^H!LJa7IO+R*mY*b!)WJNe{qDXA{?6h8dMpt$A>JSTO`s$(?KC&` zr;;>c#yl>ftYI}vcQPvpJ&!n=6=-UrKy?fF%yac!8bL}WjItywt;tcXP2>FQm0J@V zVew)-{nh=iwgbC{_f7dWI3hR>f;z$zAWe6b+_Idsuom>zWhuUlptN~Fe`P-`#hrJ* zz8l7SpUYRT+6{N)^ez(Qx~5JGF|u*Bp#Q99YN2kH*rxfHPAB&2AvhuSZ@W%nGbM4l zT|Y4j(2zJ_W|YSGo^;Q1Vz`^fZIt%A?9F;!bvVZ~l|u35 z0?R)4jrl|n!#RgL3-t0ZJnC%oB$M<@t!y3NTA*@Igi7mSE*xy8ElocU9Ek zrW)yo%Evx2S3&c%47CeGw8`xDD$c)p$%Ux;g%*pR=&guTjmAPmnd5!bxunKo2KrK{ z3*s#k82Ufdek~LJ7$d@HX7GwL@@JEp%^QKYRiZftVA&XHH6)I22&3?n{d1zgRp9Qc(-r|BNIAdEQlTyV-cJfBWpNQ>(m7jG zN)q3Gf~=sX7hzxmm;W2a7}h2JL@<;kq*%?gR3|Mki!Vs5zfq;8fw|3H1G}PGh4X7l z-dnq3IC&Q%*w4fIaoW$fr47dPywl;;Pw91+2g3cunEo`XbiUn=_u7+gx+BLg=L(1) z`FoPV(Ic#tb%Mqht})}uYLMc=31?*$_62(Fs4sb^a*mN7>~1zjtx37PyY!3wtL#EF zGEC<0w+Zxg)f;u|OOs1}npD^(T950RwPtIo#bIX?C_OA1;{DT-JekX1CMP5sGM0;} zO?r7Sls$_(h$KA|Q6tT1R8##@OJV0@u#!K^SkF76Y7-3Uha+oYCHhw*nqoqOi3aZ` z_at?%7WQFFk~WKf#(qTbfYy$p{XBt2IaP&@gt;6Tl__f-WP=TnSL zw-1TNO!M})u|j$H&OiMI+2Czmzjt~@bfEhLbCfPOR9d6croL{aB*ZLk3a^-309DH` z&X=xo8n^164OI;y^P!4Ti){za3{bAPgt1Fg`4tvMXd&|KmJYb#^Pw{F>XlV-+^L_S zJhT%#GP*-(%fKzSF`Q%=eeJ!&r-67y+&_#@1Tp7zTZ^o(MwYi7b&5BD;h6r-9oPu# zd))nl=A+K%D_JX7d=S(|6bQby4F2_ZEMUR6eM@c;hTy)=eSN_siNdJ!2FyV46p7lx z=9e`w$3JnGqtat88AG)W*kskqn-B5jbTmwnzG;fX6xFs)g6uaw=PkAm=73nFE|qoQ z-J>h~tcjP_7807V%};pfonl7J1^0TWL5h#=W7N|-jOd-6#uo&CoHaF-Nc=3J9Htfk z>f2%?=2&+a0|l?Nu%3D8I%`;0zpxUwrwnDvPj_N}lGia6>+veqa5Co^xJ)1J39^&Q z{l&3cvF;4eaA*TKp!AX_y#`B%3+@=K~R1}?`rgx&d;zTU_`$6(?yuKLQ2s+(|-@wn~ zsQ;?Xd0@bo@Xt;9<3u|1D~e`!N%6zLgOBFs5XsMvWJ|;e5}b-x^8d2vayiFOd@7cN z%_cf$Z*yu98>JM+SQv?N+`gh+JZi2oC%AxYn>$2D+dKL^CxbfI;M@Q9iRQbb{T>XT zcpVA=(qW-Sh^kdEqAW-M0gR@R+Wi8=Cp6~&inLo~fHTw6lXvk@ucGIsYy zFL`o*1r;kl>ocD8ax&juq#$*prGe&09#6iMW@UqPtFB#d3MLauL&hd2X@;F2XU|A; zB^P7BN;6Q;)PC%y=R%NP?C{!8!9d`zV@N}HQAuA%(m0=nwEXDmnWt@-*_=j`T}ai{ z8c+%|)UI=Q>)-H5_S5^xCS!wnTlf%4ICL6FHcMT-n0fct@1GPjCX5I6Z;qTp)+C>1 zqWT2;(=JV(s(%Qe$JVToo8GizD6J?J?W@{jEDv>(KTDN=e#%duvr5d*w@kqMWxYPi z7m$4?pul)fK~`advGR{#J*^lhW<*me!kmln9caZd=kEKizZQ}PuAb*4JzIyXQJVnTdvC;(hJB#D>HcVt81H)Kl5_lvrbn4=kDRun+=$$f6L0tY1F$EJ zqe#Ez2ZJsgA8QaMT(XgD$Jb}+iCMvdjwGSInE7qb`2(S24KcT3myqfP@`Kub_0`ft zoau^X4$){$w^QDrrr{EIG#hos{b0~)i5Bg~#wz7jPMKO;_A)Kd_Kq2Scu~^$$M;mK z9vXi^rm+LMM0d}^jcnkzybdM0qSx{m{uucEL0g@|HMnblDrBgo|(e6;=ozG-sp zATe7zIw`(3zX0pIv+L%MPmKwKTnHw=v~yc{XdwiJi-VrOj(Z>meBC^|C@T6v0EmwC zui9NbZ@$3)p=HQXLcVLG9$t}7no=B*S`yCc6wS*F;3x1t9zi0GJ=gqv_xK-#xG)q;tL!ThkwMi?j3|BSr zHh`1Txtl)cErCA%lSBJWh&oIDWo^k-vRZez_LRi;ozZ=xbj?8iAHXXvhp$prVFSag zYNL0d9?@Zd>Sc5d!AEsL4_JHH%8c6hzDEw}^felXR8LY__X|R&GI80P(J#NM6bTTV z?iX}xSh%V7q%IObX-in=8dxIB{Zj!&e&E77f~te@CSyQ+(vYI!+i<-ADSf+GY9SWT@X*aD z2RS94FOeE`BLacP=ww6Y@W7Q8o%A2E@3cU(I`fB!U_NuPu=ZivRP+LXpVd`|0aMg!miiK&#j)qMA*TiiJdMOd$SH#>HIx+eU1udyn zfK*9fOe@4qL4QyAf8F_*+p*|h0=EZ9`YS3gb|)aPS5HH6KS4usBkM*Skpi>$zu z@`Dt+OIKdzLfg%=VsKbwTHO;_ry$fzd7k;Tk$t-TKRHuEK)k&nJ=FGnzhIB*N^axk zJG$OmbTzoeQ_M5WKlqoEyqFZw7J=3BG70u9_JLA$O7}98LG;6@Uw=CbE5se(*v<_a z^=`$jgJZpGzIclWct!e0X}xeC(V=Sr#E)oQ zCRXf@XmuZjVfl|zL!xXm!Af@f_*UIRF&_PtZMi9{7tP}?--Xp$pWYk^VW?lw0dF9$ zEmL9dMB1|N18z;{I_}_$(P(Y-kiu%g^f`v|94$HMFRjh#q~%iqBMh&|4NVW54yCbz z1kuLSjUG{6jf`nZ8RRyjll6mihx6$9^(2cfC1P2{Agni@Fzr_@6^yNG+7z8q{neadVU1(J_sHD49Vq&mrMkva% z39!Ea5$AQXKstNPZ66#qU`C)p>U(P!r;uCsc_?Y#jb)fFvcC7Ql zn&3~Z=@8`1pyVN($rmNCDVcr;G(ASnvIG}PHe;?gqPQKfOZG)7W-4Q5PnC>PN)}wy zH7=R0k(oK?B{WhAY>Hwi+aipgR!|$pU*A5mmZu~dt>aS4M^!#NDy$)Os@7bUMV)(G zwm#rNvH_osgehX2cL&`7xv1?UjfiDd3EsT`=YC-0EOoeU?C|qy#xem7t5|j(tzfe$ zUSzAlG&SfM7XLVTSk7ESTYzL~nn}iw#aHM%P|v8;J53>? zizzluW-{)Kkt%k28PAKfPK(+1R}y|Aj;v?TCqx}#i73|f^JRSdauyD3T7nHj^@zSi zZKC$4M)u|U{JW0T*H7i$cj^5Jo!BrJ#dL{ek>-310JDdG}#M|ZVZ5&_Y-R}m|F1$bf>Tm2~aH$u-) z0P{mMSARiSf1!Ik_=h-S_<}}PaEwKlv+8gHWdhYWj$6axNe$;2FSRvGdFrD)2l?k* z90owMCfo;)^(d6Nx2IU*Y_4qW;nV^{X29Hb*^mUpkjEfJPd~9O0Dm9LwBwi&`n)%v zsm0MC@Y5^KgR97&>awG7YU2jEi-$zi2iW5pNvTe@KqsDNh>kX+wQv!;OLTo*<_t5p zgLU~aQ)*A$zV$8z^PEmKA(CFgInbTG@cFbw{h74zzo+t{1}4=-RlX)eM+!35Y#oHnjhe_yNO;cI6 z4QY3fALjb<2@%kjCXhMEImDZ_;+%$)>fk;P-EL7)pi3UupaIfVJ`>zJRto--bxetM zm%8uNMFdyEHwki7&Hg`N5Bg_n!JZ{I9R@I%fz4%F|2}4eh<&$l{A!7nDG zE&P|OSOHZr`#%oi&7{8Ccp|MbHtD-6YzQeGHJ8}Gxn07FY`Kn>R9Q=r4AT4aC z=wc9>h+%!bB#zkf6NS#$M>|_~#rJLISd5@t?ZI=*7-TYlhSe7ADG!RuE7tgnXB9rW z6B=P(6=h?mQC*kBCZgzCkg{n^-A`F zXK_=W*%p6J*u{$OpIm8$*^S)y+%5-iS>*CG`Mtf&aiI44v*}#mFxE~^&(EV_`DPnp zYfdP@tvN|kX*cTtU3`Q0o^#PE{sFdLx%`@=G(d!pMpkc43})wz_$`d>ajWXZCi@T9 zEZl=9JYM1w`{Bzj_C}|}7|2p7QkV5@Y(W>#Ct*}7X*A`+lU?>Jf_)K+*2<_D(yCKBsSOtA&q8VPTZdHbnA}r&3LYWuE2fQLE0n=;QU@_Po|w ziJ$n42Q!AX78>AnD%Y91vr2y_5+$%cCz?_`@BHaD7yqflzg0FRp|`1hU?&w2e~ACF z*p!cEH5@2~Q2ep_>&E8DFu!C0h35kY3)XqgQGe%g7|Vh<&0tBX+R2Aiv&0RaSILRv zTwK0tC!zG^$TX{T_TcZ;9-LzU%doe5!ahpxc1Gmie#y0e31~0C*;;j~D&zjVJ5pMC zxkaQR_`beE(yMww4)9YssF}U?C95}?p^txgAYpH#FQk&R#(H^7;D372FQN%{46rV0 zPaN6_hHcv{*3REQ&lqiA6MT%$+4L>=!(@an%*R+tBwk6ob0&Bkyg=SC5lMOLIsk7#7g0&WVzrldFdgri=bn1tOZfCk^F8qH#}C(#7NK7ASDJ{L9hV#S6xSxA zzf0p4wj(Q=PUrk%^?RS?y@tsAaoOqy+r%+y{IB#0{(q&k7UjJ(s;PhZU1Q`Yf`gy$ z5}PQ032C{SwSE$3(Y5Te4(nggZ~W_!BG7x~>}f5yZz8`sZ!q@%Q5E zW8JLtf5q=$sokh}#H&wv%T{mT8ZleHEgbmi&%Eh9E=Tv$=_d|ajKwLgbG=B}yD%4V6o zL!ZOL<6y?lji-kE_yM=j*2^pfWBDEZUDB{I)cVYY0BY2+*XH(eBf*NH7g;zzYb~SK|56E6GFkB-fhSnN_sLb+9`eAexkNOm7??#gawc`U zv&pBD$KsDBe58$bo(my1U)f>!lza-erOP^1&LIBo4g_O@u9MBjzsgwzy8zGJ8I9`2 zox+xPO%d_J4)1d@W)^$Vel~n|=ZB-LY+l89U*_q&*U7S#c67^P zUKNz8%oNPk4|xDzzBhTBOPy=Ppd6P%oEDh(`OO?zjsM^%S+loO+Pe=?qZf73RcBD^ z$&P7`U-O;e@4Na1ENJpQR%`O4F#jc(KUVvK+A_*c34cW3#WX$R%G%Ti@{*r)HgW99gBz^@96cp5;bauJC9q&r!H5gSGe zK?RK=KE!VJW9ov!)}@m`3=hN(^*kk)^0MxOi5&(7< z&rg3obkP8_8^mg9l$rnm|0Pd86#QK?b3+?w%@@45k-v9do&^b$=bUg$PT*xNpE{#H ztF;I}XeN3VaiA+te~|kA-_c18baQAV7rz-YA$%6lm%X?wd_MOes&lFdc+Z zYm>fv$&P_wAM5qrFobvl>)#Btwau$#6<`E3L9&j)#(;%B_jKhA9pz>;gin#N86cW9 zdE)rRenkc%XFPy38BvY-TwUHVC8SxE zGG`7Haj2=%5?$tJsESSM>Ze z5*BhuNl0H0K*}#ik})}{?h(7#Jqw*jQudG8r-1b7e0SMcARFzO9?o<{ad+F z=u!Tm{CDz9K;H3i#U}j~spCldm^5_w!x2|Iq>{I)?veaEf&`^cObTdoF69&FgU3?_2~ zM$76DW!912w|O(qmVQhS6Sg0h7as)Z$d29Q$J8B5@RS8+B;I9V-&)oeRFpQoi|rd` zY#-e8mT;i%CLiYMqp)EL$cE8>P!hor-P23Cp{8##KQO48#j=SsoBD*0DJR6rBzxaV z-n%{g5t${4(J_o{zL>*pT?21a0@v6ZE1zEq-{V0?9y1@EpH6i(_ROaOuQJI-7nX0) zAWwi)03z_qIR4C&{jqh8UpyJ2e+2!T=LPF5Q z2et23e@1EqipRM#q|+uDB};(>vG= zJd$(Frqb%7{9yzUS(}#Ba|3KUZ+N+~V?Ec|gp=_tsn`>a_IrH?8AL|Bo0W`eBjYb8 z`<*jxoVekXtx#FIh#uIzI~F3ht3Fm4O~g5<=S0g~iC^Bwe!UL*a7zc-(WLWe!6>e) z!vxh>60SEoR`m*-))yVGO7uh=I*?A$$ZHN#ED3)M?S+yq5lGV20ZH=;afl$v{ZpiR zv>8wG#&N~(%3abOU(+EY|=RiRtPI zmj23_Y;oXMPsa{xwguT`zszLMd@WU02toL=F4Feol=samQ0Ab_S2_(2-r>%?t(N2pWFzcHF~85f z;6N9CL?RTNF4gPwgj1KmRzgp`Quzt#P2i3P=R6Jjra&;Nzsy<`&$4xV?*z@Cdoe;>() zCAdlMS4i0BXB4F3XHQs32LQEX#G@;zOV?h9IK+kS2CUbC#EhMZesHw`BMDrNqAz`M z3kVf4j*wY*q&x6~G)f1> zMfsN!aP2nsA6Kj&03y(;@cTc~P!A}pM~j)lvZ8kM8X80cXB%Cg8fCVx8sRYcZk}WhE$*pQZ|M)$|3)Qp zjkQ}x40nub(aU{K+q!RZ$6<yQ!AW_k0 z$6+?dO~=Gk zO#>iz1pS1ylJL{cWemwnRwFJ8TK=FVq=47 z-A9;OIeyZ2>%S>`S{c1pkT8!S`24yj)D2&B2k}y%_Op!)Vtt`2bGV7F00oKTB;-bW z4s8ayx|&Jn$aK%nb-UD-EQx~WhB?1P>^zSM?$9l&kp1nXo(=38xk~mxm;d!fE1&A% z>){W4%RHQ2rlPhBnUgV3!2hm}oTR8W>7Q3%23J7o;1e5TF%1O;!@w?+p`uoG6V?LN*CsEJ+Q23h-o_jfSmkdv2z~) zOl=@mq%#x5Z*-lV-7y}pzo_fAu;oa6mm_v+{yWMpsDV?&(0CwyN7W(aIfe|B&U7A`DGhO}9OxN%Y!yNprg ztRig#iKt3Dt1vHucG>s?L`qp1xu7wk> zS3I6y3UoxLU3XKsv2*v)aO@z#2W+T7NS~PH_=ULs``@_Ll$t=ckF#nDU*z!FTZiF$ zphc-kp`R_qU+NM`=$HMlV1?Ns_x6z8UrM4TK&H7<>393Ii}$Ybisjgy6ozpF52S~ zPi(OF5BmS!SzgDZ&}fAkxvkX0Qk~a2Xm`d}El>d`2J-6)ftNMiEB#NPkqFRmV&nL^ zm5ptTox1#(T_f@5B>Q&ru@4 z>jfnX_%UvvM_$+cQ$clZI1Q0PB}?Xc8qyQ#aXm)%ExxRP@;`#?8f3I_)L1x?KdhfdN|72+;KSO$MtGIxlvtSq2 zy-yLu~|M_FfBjR3Y@C82h! zSQmWLEq%_So}~QGdHmE4=S5BuKYgM`Vpk^r&O1>~l(sr`2MzxH`DvX46c^JruDr{)fOg?3=tXc{>G+UJ!? zswbV#T9`g=2Pvr-ou*l+^vJ)jE$zhdeXUnMPImlH@Qr$+^3wzFI=c{ABMYY$@Bb~d z`%@23<0`@tNPx*M-0npP1m#HTrUUzLPGrK}qj!yTbKSy*a}58JCmYxOKev3#EY;d8;*bAZ_?LkmosDWAXSoEzGJF0fT`npr(36amegVYFoalmf z@=i*xBuJ-@mk_I!*Ntoo(ca&EP>gB9#QW+F#AFYy4{@PlEB_olCC47P_YAswkzNwc zcx7-#1u54m$#>s`=O=jORkc9j zb@gM0?vDvIylq}lBkrm_LkDxWMmGft|6fi?xGG6^as2blY#9hK|*!~Cpz>C27Z zatbzc^H;fPet#s&uN?_2(z_l6uCnx6tg+K~7?hRW)5ZF&7&>=twg!G)a_qltoJMJ0#o_p{4aZmnbd?Rn0^PT0H&o{%-3rZ2Wj?ehh z>(3(bd~~SDR2C(kfVk7}bPKdxs(V4PSf2@4F2hN*HR~mt3B>LiHGqHhWV+R6_NxP=2 zaD(WTUnatr8KRXazUAo5LOeoK@sAScw&J!S%S?BtqVSa z$n(gQZGb8a2>LIT#C)(X>7GW}`+O!Uv>2)SGpAu@`m9#Dg8qV!sAw}Mx7*c3j?C;M z?2l^Fj!I9u{IwDUlL>f}^l9Z1?OK#z+5dP!iB7kd9 z%+{hMM>0M@7FZiE4urYG=9$}ll&VQ%Qs z;N>?as|0$%RYsJ|SYvn}Bt-I155?{-M+ITq?E~n!rz|Sen>H!j*z6F{s~7orYs%TM zr6pose(~x>O5dEe)NlFiKKU2F)pB?6-~CoAJ(@;^n%}DVtJe}NF=7=LZsqCHUR9U% zif?^3t*K9EfmW~Z!^=@u+dk63Ni!t@}n%5k{;>`LT z@Nkm=Mp?$`t*dkwwQdZ&h))Tc$+nCmQ)u~R74Epba{K2RjKkUZuT(NNa-ay;zHSk23)AUj?&^ZpWscLox;3~_ZZ0-3f zr+IRr`#PpBdUvLHc~idF?`@|YRg4$Cil!0v^Mz3C$LDIZ98o(uQ;yKC^P5)@GYMx; zbH9c+h~pzle#s}CNA<^Osm4$i6BzB&?=eLvYq9*QyN=?b`zW_#a3{?@z*oiZRBPc* z@#;!623b=U3Um99l#xD1PhcR5FmW9AZE?q)DlFp|?>19~Qutks^pF9U>f^ZNm6#_E z39+53zb+`@*Z@`jCaXx>!y6a%Ko7LD6;vOXKLAH8&H3D+$hIvnjY3y%P8FcyAV>N0 z0@UR=xwA-Yb#nnhyVUc@k_T%Q=5laxjVgjhY-N_w2%;^1^m`ueapW^<1g#e#4UB{M zyL07{zC3SCU65Nv!14|T0+^k^PD`Uv%d=Ed7D#rdxsLc$RR}r^NTVPyqWnSAQM!jj zUnn$?u!8p@4X_ADPj7?Ps=)v?XZq$_852D#j>LNc? z@>n9G&~Hk%avvJ|{|NZR1a2eQFv4yM$|`84kkx(_ty%t+1I^1?Qgb9btN7^M z(Tl5JPelG!^n2iuAw)gIVp>IBV?0sKH2eg>B1HCx3^XU6>t%4jn&r00qHw3>SZ3ol zK-%l@+=j;}^TsAp!&xj?ksQBKw33x|X4D6NM4{o;XuZjyzx-hDyMHDXzq}#f{_-`# zs{((u@}qx9lI8h}um3mk%de;+{&(0H|9)VGVlh)z=E5DKlRUmz_U8F>n~Gs=C$1{M zMu1x$r%yD#k3Oc6I6Rxd7xPAybP&z0z5H8}%61D#VC1A268OAchtONTZ($9t6EqiA z>0~c3{asx3nGq-OexYw+%*t|F>UUS~<`FVjW=x(R>T^(2{f5u$_7GniUS@uVjX(tJ zNlz5VCPX$%7mi~^HlR?YsD;?3jH|PS4`~)kmO6Yz^StoTbuXIF`2JWy%N|+fzSz!8 z>45;;A3y#KqcWyG3!=VvK<9o_76R6|>pfz(xtAY(sI;Z?fVL(s?NY6IZ;0o-64v1E z!0CzeA%H1dP4mZ+Yi-5N2R`W=)nTr-Rfgz5@mD3}BVUNGhB8saFXDP;zBq`FLw0&) zH%_v_Rrs)vn-mw}=K?Z!Zk#7Hfqqh+HWlu`o)RBaCgifLYqY=j1=D8VBdo9C38FoG z?96-m;@l(2nM|WtI&gTi|{*;gJ zIb&OsmmEz2WiDDllJ9NMLz_#4EB0mc*2!2ksUVl1 zr0u{iP4Dflw*!$b?{8ao&CD!P<8!D%IOvSk@x3qoJJK1y`9N~iC%lT{#@~D~nO|?# zM*{P~yfwb*)7WgnJ4I2t&)$U^_f6E*z+9ut(;Xwa`##HOghm@&wvD^SOmN!KLtV~{*d92ts{ zl;2#UKzD3EC5e$VCmV>ZwrXJ6d}^Ww{gk=;@Df{D3j2?#eAB3ryw?6alh3Qve5`o5zpxZUz`K&^DQQS zZ%tdPQ`(%pVceLy4|HEmIG4{Jw-|SSGSd9L)ym=$nfRE>#+R`mIYPLuA?9F2mEF)t zp@KQ6Kub{S9^hBay=YBt#?EQ(g2;+!G)PJZM=30|EX5q;TQs62p)`>Ykisxc4U=z^ zf_wtTUo0?xa4XP=)&fs_$9)Tv5-l*I{{B4wF_s%-s?-m;{gW6fPZ^WZ0QPdP@bmOi zWbPdA0)SadSGB+mEq6~Ly4FE+@?b_~(n9`;@N zk7*anFneZjknm7!F-ilp=u>$BT3R77#AJOb+|?@v!m)rXUKaGX5^jsQ5^BD*S{GCQ zEmy2D3(OxBw+t}?j)>KjMxG9zYFL4}seb?_r>&f{*Y;mFZk|cY!y)?w@RAw>Y>eZ_0tM(b^++r?pYu3rU ze`6X`Y6GGTHZ=S3eB_>MgimAu?|bv+y_7*aNUdmWhqzfuRX_%98u@BR!0f3=%MUy? za9D!O(K4ThS=>^3c^JDGYh10zw#Ye#GphcH8buZt^RLmI7U@0WpW?-8_lJiNJ`lZ^ zcup(nOFyf-o75;W3>KE5kn+u>ucn@^AMREHD*1In;5LcR+zi$d0Y=9OK+v@0`!C*{ zTxb9Bgqlyv^~~f`T+@W6f%V%{W%V*90oZ&Y@UAk9(eK*A(pSbia-DlR$B4rmzf_0} z`1s$l)H@q4ZysBf-?9L{ZdC>RM}m|R=zUwBpdcf&>px6a|A9dLi`3~i)Dz7=U*$CR z?X8vT1gg(Bd}=lvn?Fw3f*#-SGMmQ>N|)O$kdqh08x;mIEZGakD&KPT9*3+_^lRfP zOuYrdBRX?M@(rxbfpEIop(?I)Gv~`sCCxs;qZC7o~L!=RS0C z=hG43Z!4n66>{wQY4cf#hFzra{ZS61B*{wisk{`z*!={wG@D@OB<+6k-~=(|=@uQE zhiTcGvj`TA&*`_zkr^j3^R6>pQHowIA^i`UScq{J0OC zD75xE{CMe|XyoSLK@o0NK8ddPthjFH&)ymL2=6Tan=Dl+D%HnHzFscQlP`w(C}9l= zsTd+cA*6lPn^7{Fwt8H;rOzAlE?oR!!@d?UHug~erIE8=O>2emzz=cX-hkPrwjToG zrb?|xwzyWG8rQ>Mf>+uB0j<(14;_5ws`|g1&~J%~!#*#C%@Mxt%n5?c*45N9T;SAq z@#X1rXkSbV#3yO=z?^Z_$7%vXcQq90%EeE&<&|M{-O%YX+dGZ>9XH;u(12F|f(t)a zUD+PprvrMM()vgbMZ5ns&G!J=B`xq!&{kU!?+y0hb5HL_Qm%*kdy;+C)`7C-Zw0+$ z*7B`Q&ZYrMO1Ks1qWByw0>@S4syO4guEzxA%OxbAM3hVH(GPHmwXe?Zt zr5~P<>a+dOgJT~^`{qygxbKvM&lAST_l#|q15MZB*A%yGu&z#6OKb-L$tzIoQNSR* z6ynXcmmoZy?u)Qt45%m4kZ zJ2zkQ(@u1UO1S)ew$B~~&o_P-m+}upX}83P;ID@3=Whz9{M_v^pgpsl$ikrXiTy$O z>!-^_x&0i2BVtSSVi$AiB5vOK3nKh4?&E(Fi)vA-lyhTSS5cR?9DWT%JMcazWwOS7EX!!Gz4$4NiU6 z_W-$517&&IK z{S4~KThSsxZR~at0rK?uesbq&2x;9ftMOvL7l@K^q`V|cX4=a+`__8p(+4n-2G*-H$2yFV=~9WE(5u2fQ(F_ z>idV=Fa`zG$h-yk==i{e-NBbHDZ?=dvMvznr3&ZlSAdYwu7ucwU<&z7T63mKL%DLp zPsW_X=u>Xq$IW#mw+#1qUSrbrIWV{Z;VQdu7M^VVNp!Wp5ZcF++G&&DIeAuQ&+a93 z7RG|e4QYir_uJ23{OUQcsP85^^fItK>w+32H)aq#q2v&dSHk}ya&o?;w(fc7dDH48okp*yc-e0f_aN%ohdRM2Fn(ic#$MtK%k0`NdqB2z`iR|h1+5*0YCqx@%=LY=h*Ro#u@)7FaLk3CHa?wjcoXuje3n1yzV0XS1P$!9NHh+57jSQ0N4b+4Xjpm zR`-GpS1yUz24xZx^li!+lNQIu43`|^%bJjCOZ%U2!#S2d5Vrr(CrD8<)Xw zPdT(o4tlqU3+W9s)Fho8kOW43%7zsB*oq8IO*S$dlFXQy1A;K~Jd)hB`gMljA|TPj zEp4P_-K_QsbnuRb;Wphx_s6O~JxY(i@~hwzwU*O}IYS1p7rD{&_W>iKu)Im?0x8Kc z#f&-qLKuEQ&*A2-`P3dD{k)spjZoIjPjb>uE+JEcB=2;gQxB`^_wdi-i^EPgvVpfG zTSZb*l#Tz?aFOo3@aRsKtYzw_%QrgeRgaj3r@)qYxn&p^2H;NYd1QlJ2}D2YkIur7 z^RjN;Go#lg4a|D+gi(!a#q zML!tV2Odm_*$&UI-KY0?dbSPu~q`V!GAn> znZKLTrc6(X6voUv?A$L&R4omD?uLwPMg&U2J21w82MC9#DQ-x#SN<(%Byj_F{a9jK zgUc6Lo%Tk#e1NO@Qk(3TPh~lOJd*vaa1(ca5x42?=v{Yq`W#}JEZaKOEvub<(?3#~ z-I{aiCN0J2o9)E{$mYy!)*Gh+lxOiH(@ftHQKEOG1aOe?!KSeFc-*_d!~|TIu{Mm@ zvU~J>K7EC#hBH#*>8B<8o_M5?f(>>*mwRwRr57`#G7k&X6SNVh#&9Im3tuKh@){L! z@RMGbQ4ad$PuF9S@4;q9L(NY68J&LhR|m@$%&QuLcdoiH5YuGo>X*Ph>HN`%*mGCYr26=aPJx#4W948DOODiOh!&5ahiQe_Quqqyy z3z8%=NMs6Woy4EDnC!P{Ewk8~{#Nvf73P<{wW*LQae?)Z^s_r##2VYN+2X5%Z(-NV z`cmR<&70EhbsQQ^JBQQ{-<_l?bjy^f+lX8}Hls1LnWi4GTLmAZNNhQ+f*m54Zc2Oc zl6Ht6E)}4Mrc{8UwghILqCY&+wp=e=9K;*?`7);_%zc?$jFucarU5^5M;jy5P~S@d5BH_PX=%I)hq*;zpafT}^v7 zngUN&TNYsEQ#+}cr32696@EYEG3`Z*WAq(1-9dlmK#o=)3#K>Nfy%EsLZ&)rbD|)7 z?9S#duWb9uBptW-Nd6=B;T3Hl=}W!1F4S_wg*mgF3{t^n(i3Z+#WNLCu?viRH{ur; zTBq2d&4?mN;B0bZgc_6%wD!u@$DPPDflx~IlOhMweow0^c7g}!HITJfIp@$svM zMTvS+kmf9BwB&2`u51H%RNd;d z8&5tx)MvTw;y~}Al5n%yLjvV&KFy9N7?LSQWaI&1_?qYzC|xVYAj zog|k)A#sFzhCjb{sq|Kx!^-vUzyW0dwt=JZm}LwBta5$)E7)G}lfqz1c_$j=O&fC{ z|2XlMHcuH*l~}-!?2wGfyiYxDi{PUJ0jHbdgAR{zXYzH>eVS~_GEa4DHRc8eE3p+7 zk2K^|h6HF7TJ6OyNAgf^t8)trjJgB#oum!i&Km8 z&Vj};T)RZ8$Ia1B-aGn*?Dwu2(FfTYI%%P|FqaDm2qJyfUsN@;r}!43el~&^VGqQc8FPd%yQt-OeaJ%_>4!*`i zaCi4DiBA#9WPjEOr?$$*L!wh`40B+wbGOjaeNoC?A!9DxRDYy&ISm|w1Rr1|4lPvG z=AH6hyzszWL~%t7%LjIuPA*pUX&7N=X5gdCaDr`4JJol05IG4cPqZ- z4jucoO#IAX)kwQhPV5idi#Ball)}a>nyHKiLm_3b6Jbr z8`BA$LQ3b+kBl>3BI`7yFf_Rj(jyLG%`9V9cohibY8M1d?t$Dwu95X7opF*q0wM)1 z;c6c4yn#N6} z%eL!BKO3w#>iohd?~MF$3P8>Y7YB5SgK;C7f$MA(s!m*?S+I7xd4TwuKBa%X{8Lj`o4Qwxow0owmC zT%-T-&xJIpXfI@#m|B?XmE2EH-@Bw>t{az)IhYc*?qikN0!|e02O`k-=a|3ki0CIvblLCZwB+ri99qjA8rpvOc|ZKZN>)+sns<&J z%fO4It?lNr9eG-7;dIvoc60INuR9}Fs<7?8k!FZJ;#(8n6HVM~)IWs+9u)NK0~fgu zDVJdS(dUo$4W3zf2yHmI;6#7^*WD>$AM9^!Dtx&4%mH0z?#gDRJp1~s1HPAxcY|R( zYWZd=2;9!;o1G7Y%~&)LOcF5Fp{_p4EWhXgeYNYDD*{iK>f{ZtQUy0Jj5Pe^(DYJ< zq%byiqRrVYEBuk(8MpeR^2L+sop8Lr_zFt>^#YKRcgQOM>_8)FHBBXOnydT)8n5JZ z{>FT8u8JB#;Ke!D0o|1dswbgs(#6@qN z#tTpZZ7f9?Fh3D=eH<_imoCWN7MW5`_s6ar{{ha^0iT#BJiiYz{D&eY5YJ}T{hd0!-BDNbTOnSQ%TY=< z@e(*2@kQs)`-h!viLTQ%&)4958~by0rJr!-&;+x1%UTTbg9w+1x;|az@arFPWB^b6 z$Fyv*T-UU6{{0_2v9+rF;`Cq4$j_(Wyts81Ui<*P6H3~o`F!>1GAOR<;}+H?>BBq5 z|Lg7f05V^QvaKTRsQUTWG5+uQmj5j=v;QxG`f?AG2NIxRIUx#`tVaJOW}8!XCreLw G-1|2crDV_m literal 0 HcmV?d00001 diff --git a/lesson13_nginx.png b/lesson13_nginx.png new file mode 100644 index 0000000000000000000000000000000000000000..3e3ee8861e81a28f253784715f271faeb040cbe7 GIT binary patch literal 40599 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 literal 0 HcmV?d00001 diff --git a/pg_hba.conf b/pg_hba.conf new file mode 100644 index 0000000..2ab4f05 --- /dev/null +++ b/pg_hba.conf @@ -0,0 +1,3 @@ +local all all peer +host all all 127.0.0.1/32 md5 +host all all ::1/128 md5 diff --git a/prod_site.pp b/prod_site.pp new file mode 100644 index 0000000..9168e6d --- /dev/null +++ b/prod_site.pp @@ -0,0 +1,48 @@ +# node definitions.) + +## Active Configurations ## + +# Disable filebucket by default for all File resources: +File { backup => false } + +# DEFAULT NODE +# Node definitions in this file are merged with node data from the console. See +# http://docs.puppetlabs.com/guides/language_guide.html#nodes for more on +# node definitions. + +# The default node definition matches any node lacking a more specific node +# definition. If there are no other nodes in this file, classes declared here +# will be included in every node's catalog, *in addition* to any classes +# specified in the console for that node. + +node default { + # This is where you can declare classes for all nodes. + # Example: + # class { 'my_class': } + notify { "Node ${::fqdn} is up and running!": } +} + +node 'client.lab' { + class { 'nginx': } + class { '::mysql::server': + root_password => 'password', + } + + mysql_database { 'prod_mdb': + ensure => present, + charset => 'utf8', + } + + mysql_user { 'prod_user@localhost': + ensure => present, + password_hash => mysql_password('prod_password'), + } + + mysql_grant { 'prod_user@localhost/prod_mdb.*': + ensure => present, + options => ['GRANT'], + privileges => ['ALL'], + table => 'prod_mdb.*', + user => 'prod_user@localhost', + } +} \ No newline at end of file diff --git a/server_puppet.conf b/server_puppet.conf new file mode 100644 index 0000000..3288248 --- /dev/null +++ b/server_puppet.conf @@ -0,0 +1,19 @@ +# This file can be used to override the default puppet settings. +# See the following links for more details on what settings are available: +# - https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html +# - https://docs.puppetlabs.com/puppet/latest/reference/config_about_settings.html +# - https://docs.puppetlabs.com/puppet/latest/reference/config_file_main.html +# - https://docs.puppetlabs.com/puppet/latest/reference/configuration.html +[main] +certname = master.lab +server = master.lab +environment = production +runinterval = 1h +strict_variables = true + +[master] +vardir = /opt/puppetlabs/server/data/puppetserver +logdir = /var/log/puppetlabs/puppetserver +rundir = /var/run/puppetlabs/puppetserver +pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid +codedir = /etc/puppetlabs/code diff --git a/site.pp b/site.pp new file mode 100644 index 0000000..5c9dbab --- /dev/null +++ b/site.pp @@ -0,0 +1,39 @@ +# node definitions.) + +## Active Configurations ## + +# Disable filebucket by default for all File resources: +File { backup => false } + +# DEFAULT NODE +# Node definitions in this file are merged with node data from the console. See +# http://docs.puppetlabs.com/guides/language_guide.html#nodes for more on +# node definitions. + +# The default node definition matches any node lacking a more specific node +# definition. If there are no other nodes in this file, classes declared here +# will be included in every node's catalog, *in addition* to any classes +# specified in the console for that node. + +node default { + # This is where you can declare classes for all nodes. + # Example: + # class { 'my_class': } + notify { "Node ${::fqdn} is up and running!": } +} + +node 'master.lab' { + # # Configure puppetdb + class { 'puppetdb::server': + database_host => '127.0.0.1', + confdir => '/etc/puppetlabs/puppetdb/conf.d', + } + # Configure the Puppet master to use puppetdb + class { 'puppetdb::master::config': } + class { 'puppetexplorer': + vhost_options => { + rewrites => [ { rewrite_rule => [ + '^/api/metrics/v1/mbeans/puppetlabs.puppetdb.query.population:type=default,name=(.*)$ https://%{HTTP_HOST}/api/metrics/v1/mbeans/puppetlabs.puppetdb.population:name=$1 [R=301,L]' + ] } ] } + } +} \ No newline at end of file