<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
        {mso-style-type:personal;
        font-family:"Arial",sans-serif;
        color:windowtext;
        font-weight:normal;
        font-style:normal;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-compose;
        font-family:"Arial",sans-serif;
        color:windowtext;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">Hi Ulf,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">>
</span>Out of curiosity, what is it that you wish to modify in this config? <o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">We want to use a config similar to the one used in Hono:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><a href="https://github.com/eclipse/hono/blob/master/dispatchrouter/qpid/qdrouterd-with-broker.json">https://github.com/eclipse/hono/blob/master/dispatchrouter/qpid/qdrouterd-with-broker.json</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">I.e. with our sslProfile / certificates and vhost definitions.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><span lang="DE"><o:p></o:p></span></span></p>
<p class="MsoNormal">> […] and the single instance variant would have everything as top-level YAML structures like you propose.
<o:p></o:p></p>
<p class="MsoNormal">> Assuming that you're mainly interested in the single-tenant deployment, is that something that would seem useful?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">Yes, that would be useful. And I guess that for now, we will only use a single-tenant deployment.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black">Best regards
<br>
<br>
<b>Carsten Lohmann<br>
</b><br>
(INST/ECS4) <br>
Bosch Software Innovations GmbH | Schöneberger Ufer 89-91 | 10785 Berl</span><span lang="DE" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black">in |
<span style="text-transform:uppercase">GERMANY</span></span><span lang="DE"> | </span>
<span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black"><a href="http://www.bosch-si.com"><span lang="DE">www.bosch-si.com</span></a></span><span lang="DE" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black">
<br>
Tel. +49 30 726112-130 | Fax +49 30 726112-100 | </span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black"><a href="mailto:carsten.lohmann@bosch-si.com"><span lang="DE">carsten.lohmann@bosch-si.com</span></a></span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black">
</span><span lang="DE" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:black"><br>
<br>
Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B<br>
Geschäftsführung: Dr.-Ing. </span><span style="font-size:8.0pt;font-family:"Arial",sans-serif;color:black">Rainer Kallenbach, Michael Hahn<br>
<br>
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black"><br>
<br>
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span lang="DE" style="font-size:11.0pt;font-family:"Calibri",sans-serif">Von:</span></b><span lang="DE" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Ulf Lilleengen [mailto:ulilleen@redhat.com]
<br>
<b>Gesendet:</b> Mittwoch, 14. Juni 2017 17:41<br>
<b>An:</b> Lohmann Carsten (INST/ECS4) <Carsten.Lohmann@bosch-si.com><br>
<b>Cc:</b> enmasse@redhat.com<br>
<b>Betreff:</b> Re: [EnMasse] Adapting the EnMasse deployment<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Wed, Jun 14, 2017 at 10:16 AM, Lohmann Carsten (INST/ECS4) <<a href="mailto:Carsten.Lohmann@bosch-si.com" target="_blank">Carsten.Lohmann@bosch-si.com</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">Hi,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">we want to use EnMasse in connection with Eclipse Hono on Kubernetes. For that, we want to set a special config to
 be used by the dispatch router (i.e. qdrouterd.json).</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">However, with the current structure of the EnMasse deployment yml, this looks not so straightforward, as the nested
 JSONs in enmasse.yaml are not really readable </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">and that makes it hard to find the places where the structure can be adapted. It basically means changes have to be
 done in the jsonnet source files of the enmasse repo, re-creating the enmasse.yaml there.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">It would look much easier to me, having an enmasse.yaml where there are top-level YAML structures instead of the nested
 JSON fragments. This would allow for changes directly in that file.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">What were the motivations for using that nested structure and would it be feasible to change it to a non-nested structure
 that is easy to read and adapt?</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Carsten,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Out of curiosity, what is it that you wish to modify in this config? <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The reason that the JSON is nested is for creating multiple instances of EnMasse (router network and everything. You can turn this on setting MULTIINSTANCE=true in the address controller deployment config). The way it works is that the
 address controller processes that nested JSON template for each instance that is created. The reason for nesting it as JSON is that kubernetes does not support templates natively like in OpenShift, and embedding it as JSON in a ConfigMap is our only way of
 making it available for the address controller in a kubernetes setup.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">However, after experiencing the same pain of modifying that JSON blob even for single-instance deployments, I'd like to propose that we split the kubernetes enmasse.yaml into a multi-instance and single-instance variant, where the multi
 instance variant would look like the current one, and the single instance variant would have everything as top-level YAML structures like you propose. Assuming that you're mainly interested in the single-tenant deployment, is that something that would seem
 useful?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-- <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ulf<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>