|
@@ -1017,6 +1017,13 @@
|
|
|
<nav class="md-nav" aria-label="Examples">
|
|
<nav class="md-nav" aria-label="Examples">
|
|
|
<ul class="md-nav__list">
|
|
<ul class="md-nav__list">
|
|
|
|
|
|
|
|
|
|
+ <li class="md-nav__item">
|
|
|
|
|
+ <a href="#mergepolicy" class="md-nav__link">
|
|
|
|
|
+ MergePolicy
|
|
|
|
|
+ </a>
|
|
|
|
|
+
|
|
|
|
|
+</li>
|
|
|
|
|
+
|
|
|
<li class="md-nav__item">
|
|
<li class="md-nav__item">
|
|
|
<a href="#templatefrom" class="md-nav__link">
|
|
<a href="#templatefrom" class="md-nav__link">
|
|
|
TemplateFrom
|
|
TemplateFrom
|
|
@@ -1993,6 +2000,13 @@
|
|
|
<nav class="md-nav" aria-label="Examples">
|
|
<nav class="md-nav" aria-label="Examples">
|
|
|
<ul class="md-nav__list">
|
|
<ul class="md-nav__list">
|
|
|
|
|
|
|
|
|
|
+ <li class="md-nav__item">
|
|
|
|
|
+ <a href="#mergepolicy" class="md-nav__link">
|
|
|
|
|
+ MergePolicy
|
|
|
|
|
+ </a>
|
|
|
|
|
+
|
|
|
|
|
+</li>
|
|
|
|
|
+
|
|
|
<li class="md-nav__item">
|
|
<li class="md-nav__item">
|
|
|
<a href="#templatefrom" class="md-nav__link">
|
|
<a href="#templatefrom" class="md-nav__link">
|
|
|
TemplateFrom
|
|
TemplateFrom
|
|
@@ -2128,6 +2142,29 @@
|
|
|
<span class="w"> </span><span class="nt">remoteRef</span><span class="p">:</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">remoteRef</span><span class="p">:</span><span class="w"></span>
|
|
|
<span class="w"> </span><span class="nt">key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/credentials</span><span class="w"></span>
|
|
<span class="w"> </span><span class="nt">key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/credentials</span><span class="w"></span>
|
|
|
</code></pre></div>
|
|
</code></pre></div>
|
|
|
|
|
+<h3 id="mergepolicy">MergePolicy</h3>
|
|
|
|
|
+<p>By default, the templating mechanism will not use any information available from the original <code>data</code> and <code>dataFrom</code> queries to the provider, and only keep the templated information. It is possible to change this behavior through the use of the <code>mergePolicy</code> field. <code>mergePolicy</code> currently accepts two values: <code>Replace</code> (the default) and <code>Merge</code>. When using <code>Merge</code>, <code>data</code> and <code>dataFrom</code> keys will also be embedded into the templated secret, having lower priority than the template outcome. See the example for more information:</p>
|
|
|
|
|
+<div class="highlight"><pre><span></span><code><span class="nt">apiVersion</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">external-secrets.io/v1beta1</span><span class="w"></span>
|
|
|
|
|
+<span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ExternalSecret</span><span class="w"></span>
|
|
|
|
|
+<span class="nt">metadata</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">template</span><span class="w"></span>
|
|
|
|
|
+<span class="nt">spec</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="c1"># ...</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">target</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">template</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">mergePolicy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Merge</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">engineVersion</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">v2</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">data</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">admin</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">password</span><span class="p">:</span><span class="w"> </span><span class="s">"{{</span><span class="nv"> </span><span class="s">.password</span><span class="nv"> </span><span class="s">|</span><span class="nv"> </span><span class="s">b64dec</span><span class="nv"> </span><span class="s">}}"</span><span class="w"> </span><span class="c1"># Overwrites the password from the data call and use this output</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">data</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">secretKey</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">password</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">remoteRef</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/credentials/password</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">secretKey</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">username</span><span class="w"> </span><span class="c1"># Preserves the username in the templated Secret</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">remoteRef</span><span class="p">:</span><span class="w"></span>
|
|
|
|
|
+<span class="w"> </span><span class="nt">key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/credentials/username</span><span class="w"></span>
|
|
|
|
|
+</code></pre></div>
|
|
|
<h3 id="templatefrom">TemplateFrom</h3>
|
|
<h3 id="templatefrom">TemplateFrom</h3>
|
|
|
<p>You do not have to define your templates inline in an ExternalSecret but you can pull <code>ConfigMaps</code> or other Secrets that contain a template. Consider the following example:</p>
|
|
<p>You do not have to define your templates inline in an ExternalSecret but you can pull <code>ConfigMaps</code> or other Secrets that contain a template. Consider the following example:</p>
|
|
|
<div class="highlight"><pre><span></span><code><span class="c1"># define your template in a config map</span><span class="w"></span>
|
|
<div class="highlight"><pre><span></span><code><span class="c1"># define your template in a config map</span><span class="w"></span>
|