From 8d40e8253cca06b8d1664869317c83de08fd272b Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Thu, 18 Feb 2016 02:04:51 +0200 Subject: [PATCH] Add Consul Template --- templates/consul/0/README.md | 29 ++++++++++++ templates/consul/0/docker-compose.yml | 15 +++++++ templates/consul/0/rancher-compose.yml | 56 ++++++++++++++++++++++++ templates/consul/catalogIcon-consul.png | Bin 0 -> 42940 bytes templates/consul/config.yml | 5 +++ 5 files changed, 105 insertions(+) create mode 100644 templates/consul/0/README.md create mode 100644 templates/consul/0/docker-compose.yml create mode 100644 templates/consul/0/rancher-compose.yml create mode 100644 templates/consul/catalogIcon-consul.png create mode 100644 templates/consul/config.yml diff --git a/templates/consul/0/README.md b/templates/consul/0/README.md new file mode 100644 index 0000000..4459cea --- /dev/null +++ b/templates/consul/0/README.md @@ -0,0 +1,29 @@ +# Consul Cluster + + +### Info: + + This template creates 3 Consul nodes that uses RPC encryption with TLS and gossip encryption to secure connection between consul cluster nodes, configuration is generated with confd from Rancher metadata. + TLS is used to verify the authenticity of the servers and the clients using the verify_incoming and verify_outgoing options. + + The variables used in this template include: + +- Certificates and keys for Consul nodes. +- CA certificate. +- 16-bytes, Base64 encoded gossip encryption key. + + +The templates uses two Docker images one as the main image and the other one is the sidekick: + +- [consul](https://github.com/galal-hussein/consul-rancher). +- [consul-config](https://github.com/galal-hussein/consul-config). + +### Usage: + + Select Consul from catalog. + + Enter the certificates and keys for consul nodes, ca certificates, and the encryption key. + + Click deploy. + + The consul nodes will be bound to the Rancher managed network IPs. diff --git a/templates/consul/0/docker-compose.yml b/templates/consul/0/docker-compose.yml new file mode 100644 index 0000000..e727d53 --- /dev/null +++ b/templates/consul/0/docker-compose.yml @@ -0,0 +1,15 @@ +consul-conf: + image: husseingalal/consul-config + labels: + io.rancher.container.hostname_override: container_name + volumes_from: + - consul + net: "container:consul" +consul: + image: husseingalal/consul + labels: + io.rancher.sidekicks: consul-conf + volumes: + - /opt/rancher/ssl + - /opt/rancher/config + - /var/consul diff --git a/templates/consul/0/rancher-compose.yml b/templates/consul/0/rancher-compose.yml new file mode 100644 index 0000000..73a5330 --- /dev/null +++ b/templates/consul/0/rancher-compose.yml @@ -0,0 +1,56 @@ +.catalog: + name: "Consul" + description: "Secure Consul cluster" + version: "0.6-rancher1" + uuid: consul-0 + questions: + - variable: ca_crt + label: "CA certificate" + type: "multiline" + required: true + - variable: consul1_key + label: "First consul key" + type: "multiline" + required: true + - variable: consul1_crt + label: "First consul certificate" + type: "multiline" + required: true + - variable: consul2_key + label: "Second consul key" + type: "multiline" + required: true + - variable: consul2_crt + label: "Second consul certificate" + type: "multiline" + required: true + - variable: consul3_key + label: "Third consul key" + type: "multiline" + required: true + - variable: consul3_crt + label: "Third consul certificate" + type: "multiline" + required: true + - variable: gossip_key + label: "Communication gossip key" + type: "multiline" + required: true +consul: + scale: 3 + metadata: + ca.crt: | + ${ca_crt} + consul1.crt: | + ${consul1_crt} + consul1.key: | + ${consul1_key} + consul2.crt: | + ${consul2_crt} + consul2.key: | + ${consul2_key} + consul3.crt: | + ${consul3_crt} + consul3.key: | + ${consul3_key} + enc.key: "${gossip_key}" diff --git a/templates/consul/catalogIcon-consul.png b/templates/consul/catalogIcon-consul.png new file mode 100644 index 0000000000000000000000000000000000000000..395b46f07d9636fe6334e99161e9c5201d72375f GIT binary patch literal 42940 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�yAI+D)J)5zIJF}!1FFalNYr)r>E1J_$O>}hu4pN^M2CCqOc~f6nQ-4m6Eyy zgL(O5s91jsnAyas)!bw!8Wk0J4jULW;><_M<|WiB*NAhe-(MvWs(@-l$^lE8;KLJs z3rBD;FzqmYh=Z*oSoERivW`P)MjHOIp$pC2Jhsn0JBFBGy-G;2e@f?Pc^{m#>CiMV z=)Z0Fs|=GUx8rO6#+}J~bMVlrXojq{v$&)?et*Ld-;hHnok}>(Y64#Nz`CBcCBEt8 zyg~GQR6sAQOi zxUC3@!ivHZ+Q*xdj+G|Hj*D0d{3cP{4e4X72g^y2n)Y%Up0L!Tv`*ED6Z7VJ6&H-y zPibjLtD$v4E=>t*7iB2YxUAnSA-A&SUl=R7n>;7RPJd6yc6Jstr_5j)>GyrZ3fur-dH3|O&s1!inqqIg)|y1a(%j@s2&jY!h?F1f+b(GtE)j&i(GFu0H{h&QRw<|j3>_Yh z5eMw71i!HeO@E=DCmx!}w^Zik*KX%pf$E=BgW{u&h z2;y1Vdz5s)T-tQQ?^@;6j<#1&wwrg?_91*XSWx<3)Q*&a9LUzP9LZ+d52#S>LHaATCyjn zWEfbd`qI0gSWEt=9c1mE20q&oMOo{mxy_f(?K~Y71v2Lg9uu#+W&&6YS~kWRCs7k^ zLOO~{+N#|U`o2klF4Om$BuDe!?v9+eN{~xn|LZ60t;0dsV`VG1k3%ftu6jPvSjq>>j9%>W`zE zF1*q2(PZ7n*vXY7m)U^EQ0J+U0jT&JNU5!LK8N99?L6bBoQE00DgD|L87+6*I{z)} zfbQsJFOXi$L!#`$VDHwhJZURUThvII-i$fwVy}d0;|h|M7=(FV^hqvSbTT3IS1Pg3dyhX`@x! zElW}w>j=+a$t8WmA^k;MfucB>D(L1AsLVz!Kf?Fz9? zxtkN>xJBcm_hiSm9Y@lG?#a-joa_#2=-AfAf%Zbo%s-~(ooAnwSqYX9{RQa_@w=2gcM&Lf~zo)bT3eL z&+mJn1K|12qz)5DtC7W5c-fVynXkeQ?_As~F-*#snF7A--Z*%!$aLQnY^o|ha||8}r|-M|*H6X4VV1o)XH*bA&A?8O2PDuJZQDO1r3U_+;l;b zlO%NimQx##WU5c>+;6SIc*tsm3f*{geGDk)K)w9oZ-M@HZ34^(8`j{xqsg;}@}8E& z5`^j}=~7AE&N84qU|B1K()Ito3`NtyQzTHDIK%sL4Lyu%OlWbogSBmq3FuLb^a8kr#o2 zxm#J>6nCJWfcE_jU1DoWS=Q=>dKH8%mmQQf1^OZJ+UtUiKDd9%?gnq^l5H>Ly8wwE zf^m^6cc{<+BBEG*OYj=w`p->@Nhq|EYO3*DTkzz6{Cj-!D|;&1*Q zw4gk_x4doZetmHq_30yW*LC1e=?$Qr;M}`wuA<3sLAI@A-qDta43*zY$w+&O+T)2Q zl9K34;Ps|+HJhX2AJ>*Xe=p(BmUN0C9ZQ>p?p#-;k{*JFlV|;|(C*-RIqFn6&5BWi zF`P){$y(FYw@!S(+Jv!v`Q(`74M`GG3S<^Q+K9@PO+&q7J|~c`b+tDyhT1oahsnT_9xMx)2*)e_HrCx zGF!?P(jg}~U>#5sjMG#olCZP=5(Jnddw+<}lH~RB#u4MeQ#=-bRBSL3n74jf9o%+E z+&1MTXbBo}$G-@c*}0_ZHg+uAZe3)45gjny4E+a3bR?N>F_7~vne?~_bePcYmbE3RXIKrc&yewcJh}H$ z`e=hSx*Y4z#8<2!_GQpXeui7R@k&HNI1!><^(aZ{hL_Y}NfGs@8m7#nhoYS-PxpMS zqEIM7oF3$L!aYo}p!1O|k_mqp;;>pJ^(7MmlBmQVY?TszW0Kix`H7OA{76e)cfHoP zJ#pZKqc3P|)TMrZnP|qA3MtLqA|flTq{GO)aKj|5?9;2i0j2uqO1FQ_@x6C+&87GR ziN~0mNMq8*YpKqh72EPkexSoXW-HT_)K?n8r+)i-EG&Wi^j;P2%z4n2Q{yux^1qgv zDC;3+gj~Qw`gYBI?C(+R5Q*HK1#+fsux!GJYYt}q=dDcsaO=y}>RewKfJjio@0u%d z`CJ|?9(h8}BH)Oo!e!8iT`=uiL~o09k+U>id@*h2bSFFH0ngv)pHsM~qNnBqU;hot zNI+tz`cYphVpQ15MHi})1uq18`uerwIfXVz()ORR?9ow1Z#H4|<)zs;rc$eN7RmQZ zH@z9PYcIIV{s&$BU-7~}EGouI-@)8$p#%ViaGuaZjwENf`%1?h8^`6n&^ zL!9G&b_~$qq~Cb)5B3d(WkCC9xtpbc>nUfXv#Oi^S>?5ILHZ#SxsQx(AWqO%JrIBj z2@gk-qrfS~b(V75)Eamn(N~ao{_fceQ0VLwLMz@xTBRucv~r!BcSs;!wPu63dad?z z+V||0qS%qZ>1?Q>y@PgbTLLIC?(7afiEpzGz5aUtkW$KWH-EVmbsp(-L_fv=2rXl@ z)J)3yPSbFQd5hpU367e98i_leaxQ;u^K6{OS@y=k1|21d?esdQV`&hqX*mro4Ui}8 z{wYkxmOE}HD=m*Ws44<>Z>r7{5>iBM5oaGds?D8wqPIi-vQ#C=>8k% zK3zuFAIefy_cxdc?Z1WYYXMfnJKQ%++kF$6z-MkrofTz?{D0d5B zLiuHgSf{!-CO*Z$6@$YfTC4`t0kTj7$%p=Ji*PViL-@I?QI{+Sylm7sWP|oX) zT3}R5Ygy;o+%5qzp7+OVf|{4=5r+8sA!2{6Y&0EmP#S_e@MrCz^g%sJg{5F{rDvqo z*df!BLt7ZZM*=Wo@d^^Fttkv=$aB71k95hU%|sIGK~v}kBvxA<4?a6ZFy9t!@sN5 zu^|Gc_BBq|F_VjI5-V}%|C{jdWj_QHR2=qy6OY*Kyd5w-aKN8-=^AGOon^Q8Caa}i z6U^K$m``(bZ4V+xUf__AX@Qx@G@%6K_W{@Ut>~%$O~|`V4Y|Jm&FmKh8-%suEP4?c z!G{)d(dA&AYPJ3SuB5Ip9hbBzw_#B*1L)e-S&fS(3Z&GR$%2W6?aIgQiBkgf_a3Rk zd4dU=khIq8DCX{p@u9jH^8BER0GO0 zxC>0hUHNN-a#Lc$r~zk#MM(2Lv=eh*s6$_W8RpoaGjI~Hjz>@95Y6x|nfWvR_aI7z17#Py$Z2bXLI3D*tRq1Yb>I7}qGe!LDG#wCa4MKh^OIvB6F0 z-|9anN)UcKCos-f|DJ7NLd-o9L$&@=;6gFgR|8`}>Ql0MdibMOoZEjJ7V_9h6<*<# zGLMOzGd#NZMWrcSifyd7%qm$aa7NGnaUog!R7*!A%{0N;NQSzvZN<{*Lm_f zZmAD*f5g4mcD2Fv8c*VpY0q1Q^YaEX9!|f20;> z1cs@iT0I|anVHZmCD-qgTL&_t;=?#!p;;-&-@M!N=&1Ee(y^ZzLEmDhff+!^zCv9$ z13J{#-G_HMTI%!Gje;}e8z?iS=YIc-Y8`rzI$Ct?g4E&;^+xg{RS$IKRf!$b!I;yG(9}oZJ z_K?y}7t;H7UM5NP>Gc_-_ZNt zsOp<#xKXseyo#?jp)lw}eRZ=0NN^C|-;+}M{@G_bWT@JAFW{l#BHqI)tT?b6{T)34 z4empK7D{SutL6G)FJMpf2y{Fv{eI!%%WL=xImF0d&OIKfJ(1L4EE>N=j&+?QwvSLI zeM-xlHhoPSUc})o6SqG_WFfs&<5P;C^^-FUu7VT3$L1)%yW&R9Ak}_Fajq<Dp|+yz8vR-zW=&dIe?0IZJWykozBOp!-yB0MSFAS{COE|ot+h|Oh-i$LBUwSO;J zKTiA$SZ@7D{RV!P#PnoIhPs*8ZP0B->V8DRRm`ruukN9I%uPII|9*u1u}BWwaFJaH zudgn+D&!xQ3p#SW|#;{ERYOu|zF0iR#w|ypEo460|QtfB((uk?KhWF?T`G-HE|V z5;eXe!S@RQO(xRM`Ug?0Fcx9p6Cm5T&s(Xkz{Vx9xf{L;u=G%dwf8lozdFI}WO`lZ z553#kg$u$LR_(Y0JjVpEqJ0f!cV@L^!y{_u7YI3ptp@I9IcjQ9r~=liY;QA`V^*fId~0iQJBH^n4ZsO%b6=)T5GB;_dS!oVnHhQ76meh%sV z{5~>K)8o;N^h#8np1+y5cD}>R8k@sX1ji#>DWBdqUc}mQ?kvjy7Jsv!Y)!%=Njo~o zZMr_-Vy#_V?i~J@vDU!D+!c9>ShC!rvY7L)kYZW|vxWuSTWXTd2GA~{MYskGg!g+CC0q@KmMkQhIcIawIsG^V+1A$ZweY9Dr> zg1;ZSTm%$&-6uYU8UnjMM=>Vw^g}`-cd>a|AY*drn^h-@1krUQMLA)kdD2{%r+j-F zc&r{5r04%C+U&N&Oepg@O9xPcBuKq6-`9w{F-Iv>i?@MYw8r~0}R3i zCsu9)QBWpJ9X?F6SM0!K>L3F$vQt>AEhdR`4`Nc~@-qsXNCX;0yYV>nDu3wl4wcd; zKFr5FM=DMs!E5Ej+%X@yYy_|(hxew;k6R1pwl zXqKDYW&Vs7H+h0oD**-t^PL|z*j+D4yaS_1TS$BW>}srQEV%LAmUk`_`D#%S*jTwV z-kDH>)Xy{6bKneaVAc58bQc8Ve4kt;w+Tusba#2`_sP?DymRR^-~pZc1ikJ>-!A6f zQR8V?N;}I`<=x1~m;m<%{s6PaMHfLtNK!|-xz;>*<5bk{QPPZ_{~{Ot93$`@q!P!! zo2c7==m3nZ97Xo49fg$AB+0qJf?odCf#}4J8ok z`dJvzv;OI^F-hvDI~ER>xHKNQD?N(QGf&tB7@!Qk$huu>bNAQ*JgRg_#2ssf`x?Kz z;V{p^eajuD1(``(3+kjDYlp@1M$AX1^j&&Vv61-UD}7vhYA6rrKnAd6XShzC+Y5oZ zycio3QHG64Whg2C+N+JJ&6h8pG`U#*ni<<%Qu3-?KP*XqahYmR?B+ZsxtcQj34IwI z6Pad+>Y?P^^zmDq1OS&mCp3Oi`xOSeJ{1$*@g(&*g)IIgP{Ct;>vnU`URIW?12vXY z3ytAa@bNp`jAg761D5rT3+}QcPX7*Jrp64i%sMd z@=g&QU84;Y2PkH{z5NfzPfgC+m#D>`y|4OI01_2zJdGmX8IGj5gc; zSYucGj8CXmR0t%LS_~pq8b)^JE?!3`rvq<9v!yIOy*xs)4%9Rc?yPm7eT|hJT z4QbZ?g2yz>+Z~LieAfE;cE`TPBQd$g^JRhkdQlF%#8+iR6<&76^sksY9UCj)N|UqISK;*RZ4A!5r1S0v_b9#Z=bx!F=si| z>`W*Sp>AD)m=vd-EdwA-=UCRtOJ|y>2kIqt<6N;}cQXk)I`r*&J_EC&omA+46*|t$ zz<(`&{DVxOI_6u8g6M^5#w9MCh8syraZ1=oS>6p!jkMrvJ=ay&zkO%QF%PHp=r+cM zeVOO*QmtKc>F8dFE;-yW;{_g83tH%Os8+??7d{4bv2p=KcD}< zFy+1%Oc6>uV|>1T(yz{4LFvnwkhHF3?qU&Nt`HC2B>R+TdWEFhLx$HUSEYKlS_#U$ z=)T6b8IzKZvu`1~JES{ZsDEyCW-7{eA$!QIHdh;?I^xmtEAx{58x1Q`}(&eyl@ zFEzFci^r+1_E%}EuDz~a>ThddwJ?*3s1uy~=q2`H_}mxv{2_W=aX}M(R|m}QwI6wk zz^nOsYL{|5%$c@2Fmxxxu`Z^%xyGoT82n+rPN#muXT6S_Wb){U0v}`S?1P)*vv+-R zFUYE~a{<@yQo7m~(+X98^<4Tv&$#Iw_4ps^8EOm_O+86grbk{6D+1{9>c=hf*Y$Z|BSynH|ivp{U0v->z2S zl@*PDF`fi|^U+pR`;f{0jp8u_r10H(XZ-9c!T&+k)$Vp{hg4J)rxePo(}1Uap?9Xd zLD4$k&vGa-;mY;aW|&$Q&;?LYbu<5m{iVEW(SOw*T1he_`!CA>J=&SN;1h31Vb_R3m_R@{IE%$qw~}T++6YOfi7P0n_8bJsyy5u7iELR zfgztH{{o%#SbHF5ugHqeA!0a>s9hN52!y4{q82SQr|bx#Pp9W zeyyC?a4nVQfdS`^sn0yW|K}9;c`hZ(K=GaDIuARaaBY2Dcu$5BqJ_swS}Jqz@K9V- zB5z5|-RHg!)uZRK0VS95hwlZ2ElcaXHDD}3EtxXrypj|cf@X8QV#(sP46}Cmk2F7W zZ+s_O@h}Q&2}+M5%t0!#wb6*uJRBE!&QKSOdC1=w&OG12`or=5nag)v){pX5eDrp^ zQOfQtPV?Lp-xqvNqb=24_!2+J9l_1x6SG~&(SI(^zM)DfHBemR;pG8*Tj6OKaJrov z&l|Uec&3jVfYs(UUh@M~v2CANvXaUBc>_VW(F-d4WHsl>$@v;Q z>Fa4f4em!TW$x{!)bof3%nFV9H*R6+zs=~v%)P5_-8`JUrGo0Ry!#*W*f;)L4!VZ^ zxU6?ek_T!Zpvdn(gb0(M+9TBBd=1`M5C8r?n(6}x`cH-kN8mMm_Prf8n<+*zV0UFCRwNd<$^@5 zg1*}wpiHS|t82F1ooDf-R8i$l+KAIG$SkCi z-46NQ&*!H+Dtaj9>PH_G7i@5zu+!1E>~<9*m%7Sl z1!XV%My7 zI5HSPX{E7s$Ah(6TVST0z+gZR<6z$~`Lsct@3@UaLji^E?RwE zyRQdiWD0GP>-$~<_m+w5RgX^*9&cvWvd>h&Q)-+0BRwB-y~aEqz4+Tu`#B z?)yqk{A*CnpV3O5>QMS6{BNz#dKb*IcwL zV;woGVtRb;!9&kAA@LY0^HTXOvJu(MX0?fYUb-oU8n!XIMo5asXOJIK3>ZTmq8rgB zf;;_}#y6J6AtvI#D#IODFaxvN$(ueRkoeHJMxWdjQf^1mapBq+;Q=WF={vqY<@^GC zp~H^?E8QNPq9;GO^zhdpvp;#O?SeTC%)Uv+%6XGb@ z-OyaG^RI<$L$l2f>O$nCTd8O17XixZh2s0uQ~arBEi3PA-5gCE?a6_k(Gy|?Oqu07 zc^88@w?KPqwXVrAxX+@r+_#w<2l6?kkzYAs}b?txDFZj

LbMotP!R<*#kZV@?J$Hx4M;v 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 z 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 literal 0 HcmV?d00001 diff --git a/templates/consul/config.yml b/templates/consul/config.yml new file mode 100644 index 0000000..6955566 --- /dev/null +++ b/templates/consul/config.yml @@ -0,0 +1,5 @@ +name: Consul Cluster +description: | + Consul cluster +version: 0.6-rancher1 +category: Clustering