<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>5. Tools on ArgoCD Basics Training</title><link>/docs/05/</link><description>Recent content in 5. Tools on ArgoCD Basics Training</description><generator>Hugo</generator><language>en-us</language><atom:link href="/docs/05/index.xml" rel="self" type="application/rss+xml"/><item><title>5.1 Helm</title><link>/docs/05/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/05/helm/</guid><description>&lt;p&gt;This lab explains how to use &lt;a href="https://helm.sh/" target="_blank" rel="noopener"&gt;Helm&lt;/a&gt;
 as manifest format together with Argo CD.&lt;/p&gt;
&lt;h2 id="helm-introduction"&gt;Helm Introduction&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/helm/helm" target="_blank" rel="noopener"&gt;Helm&lt;/a&gt;
 is a &lt;a href="https://www.cncf.io/" target="_blank" rel="noopener"&gt;Cloud Native Foundation&lt;/a&gt;
 project to define, install and manage applications in Kubernetes.&lt;/p&gt;
&lt;p&gt;It can be used to package multiple Kubernetes resources into a single logical deployment unit.&lt;/p&gt;
&lt;p&gt;Helm Charts are configured using &lt;code&gt;values.yaml&lt;/code&gt; files. (e.g. images, image tags, hostnames, &amp;hellip;).&lt;/p&gt;
&lt;p&gt;When using &lt;code&gt;helm&lt;/code&gt; charts together with Argo CD we can specify the &lt;code&gt;values.yaml&lt;/code&gt; like this:&lt;/p&gt;</description></item><item><title>5.2 Kustomize</title><link>/docs/05/kustomize/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/05/kustomize/</guid><description>&lt;p&gt;This lab explains how to use &lt;a href="https://kustomize.io/" target="_blank" rel="noopener"&gt;kustomize&lt;/a&gt;
 as manifest format together with Argo CD.&lt;/p&gt;
&lt;h2 id="kustomize-introduction"&gt;Kustomize Introduction&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://kustomize.io/" target="_blank" rel="noopener"&gt;Kustomize&lt;/a&gt;
 introduces a template-free way to customize application configuration that simplifies the use of off-the-shelf applications. It is built into &lt;code&gt;kubectl&lt;/code&gt; and &lt;code&gt;oc&lt;/code&gt; with the command &lt;code&gt;kubectl apply -k&lt;/code&gt; or &lt;code&gt;oc apply -k&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;It uses a concept called overlays, which allows to reduce redundant configuration for multiple stages (e.g. dev, prod, test) without a use of a template language.&lt;/p&gt;</description></item><item><title>5.3 Jsonnet (Optional)</title><link>/docs/05/jsonnet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/05/jsonnet/</guid><description>&lt;p&gt;This lab explains how to use &lt;a href="https://jsonnet.org/" target="_blank" rel="noopener"&gt;jsonnet&lt;/a&gt;
 as manifest format together with Argo CD.&lt;/p&gt;
&lt;h2 id="jsonnet"&gt;Jsonnet&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://jsonnet.org/" target="_blank" rel="noopener"&gt;Jsonnet&lt;/a&gt;
 is a templating language which adds the possibility to programmatically work with the underlying data. It basically is a simple extension of &lt;a href="https://json.org" target="_blank" rel="noopener"&gt;JSON&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s have a look at an example first. The following jsonnet file&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a40000"&gt;application1:&lt;/span&gt; &lt;span style="color:#a40000"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a40000"&gt;name:&lt;/span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;jsonnet-application1&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a40000"&gt;basepath:&lt;/span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;/application/test&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a40000"&gt;path:&lt;/span&gt; &lt;span style="color:#a40000"&gt;self.basepath&lt;/span&gt; &lt;span style="color:#a40000"&gt;+&lt;/span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;/&amp;#34;&lt;/span&gt; &lt;span style="color:#a40000"&gt;+&lt;/span&gt; &lt;span style="color:#a40000"&gt;self.name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;&lt;span style="color:#a40000"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a40000"&gt;application&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;2&lt;/span&gt;&lt;span style="color:#a40000"&gt;:&lt;/span&gt; &lt;span style="color:#a40000"&gt;self.application&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;1&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt; &lt;span style="color:#a40000"&gt;name:&lt;/span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;jsonnet-application2&amp;#34;&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;&lt;span style="color:#a40000"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;will render into:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;application1&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;basepath&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;/application/test&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;jsonnet-application1&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;/application/test/jsonnet-application1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#000;font-weight:bold"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;application2&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;basepath&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;/application/test&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;jsonnet-application2&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;/application/test/jsonnet-application2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Among many other features, Jsonnet can help to reduce duplications.&lt;/p&gt;</description></item></channel></rss>