<html 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:Helvetica;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I have made a few comments in the document.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Most notably, have we examined the Kustomize ReplacementTransformer plugin?  One of the examples in the pull request:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a href="https://github.com/kubernetes-sigs/kustomize/pull/1631">https://github.com/kubernetes-sigs/kustomize/pull/1631</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;background:white">
<span style="color:black">Namely, </span><span style="font-size:10.5pt;font-family:Helvetica;color:#24292E">substitute the whole containers.<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">replacements:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">  - from:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">      objref:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">        kind: Deployment<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">        name: deploy<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">      fieldref: spec.template.spec.containers<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">    to:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">      target:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">        kind: Deployment<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">        name: deploy2<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">      fieldrefs:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:#F6F8FA"><span style="font-size:9.0pt;font-family:Consolas;color:#24292E;border:none windowtext 1.0pt;padding:0in">      - spec.template.spec.containers</span><span style="font-size:9.0pt;font-family:Consolas;color:#24292E"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Seems to align quite well to our need to support pulling in trees.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There appears to be some diamond import handling as well:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a href="https://github.com/kubernetes-sigs/kustomize/pull/1631/commits/3e4354dfb85324138a9a7d5216f09cea828b40d2">https://github.com/kubernetes-sigs/kustomize/pull/1631/commits/3e4354dfb85324138a9a7d5216f09cea828b40d2</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Alan Meadows<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">MATT MCEUEN <MM9745@att.com><br>
<b>Date: </b>Thursday, February 20, 2020 at 2:34 PM<br>
<b>To: </b>"airship-discuss@lists.airshipit.org" <airship-discuss@lists.airshipit.org><br>
<b>Subject: </b>[Airship-discuss] [SIG-YAML] Draft substitution spec<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">***<b><span style="color:red">Security Advisory:</span></b> This Message Originated Outside of AT&T ***<br>
Reference <a href="http://cso.att.com/EmailSecurity/IDSP.html">http://cso.att.com/EmailSecurity/IDSP.html</a> for more information.<br>
<br>
<br>
<o:p></o:p></p>
<p class="MsoNormal">Airship SIG-YAML team,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">As discussed in Monday’s call:  although Kustomize supports great layering capabilities that fit Airship’s need for overriding YAML values at for different use cases, operators, and sites, it does not offer a clean approach to achieve variable
 resolution / substitution that we need to avoid copying and pasting of values that should be shared across multiple resources (e.g. images, endpoints, certificates).  We decided to continue using Kustomize for layering, and to explore alternatives for substitution.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I’ve put up a draft spec we can use as a strawman, to see whether it fits the bill and whether any alternatives would be preferable.  We’ll discuss this coming Monday, but feedback in the doc would be welcome if you get time before then!<o:p></o:p></p>
<p class="MsoNormal"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.google.com_document_d_1Z-5FDzbKZLjT-2DetddOVwQDEH7Yi9QyLIQw572Nx4ugmZk_edit-23&d=DwMFAg&c=LFYZ-o9_HUMeMTSQicvjIg&r=OI-s0Rr_BtNj0OcKWGZyuA&m=YtXChvXEmJfrHaeEb98TnPBUmrFdY5wj4fR3ne8P1Ag&s=hnMKhAmCJDn_Hzr6hP1LPpwg3AphkqKDQE78qpbyDBk&e=">https://docs.google.com/document/d/1Z_DzbKZLjT-etddOVwQDEH7Yi9QyLIQw572Nx4ugmZk/edit#</a><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks,<br>
Matt<o:p></o:p></p>
</div>
</body>
</html>