www

My personal website(s)
Log | Files | Refs

gitops.html (7584B)


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4 <!-- Sep 03, 2024 -->
      5 <meta charset="utf-8" />
      6 <meta name="viewport" content="width=device-width, initial-scale=1" />
      7 <title>GitOps</title>
      8 <meta name="author" content="Vincent Demeester" />
      9 <meta name="keywords" content="article" />
     10 <meta name="generator" content="Org Mode" />
     11 <link rel='icon' type='image/x-icon' href='/images/favicon.ico'/>
     12 <meta name='viewport' content='width=device-width, initial-scale=1'>
     13 <link rel='stylesheet' href='/css/new.css' type='text/css'/>
     14 <link rel='stylesheet' href='/css/syntax.css' type='text/css'/>
     15 <link href='/index.xml' rel='alternate' type='application/rss+xml' title='Vincent Demeester' />
     16 </head>
     17 <body>
     18 <main id="content" class="content">
     19 <header>
     20 <h1 class="title">GitOps</h1>
     21 </header><section id="outline-container-What%20is%20GitOps%3F" class="outline-2">
     22 <h2 id="What%20is%20GitOps%3F">What is GitOps?</h2>
     23 <div class="outline-text-2" id="text-What%20is%20GitOps%3F">
     24 <p>
     25 GitOps is an app dev and operations methodology that leverages
     26 </p>
     27 
     28 <ul class="org-ul">
     29 <li>an entire system that is described declaratively</li>
     30 <li>code that is version controlled and</li>
     31 <li>software agents that reconcile and ensure correctness (along with alerts, etc).</li>
     32 </ul>
     33 
     34 <p>
     35 GitOps is a paradigm, not a specific tool or technology. GitOps applies to everything and brings business value.
     36 </p>
     37 
     38 <p>
     39 Maya Kaczorowski adds that when you have everything “as code” with GitOps, you can make
     40 your code as automated and error-free as possible. With GitOps, you push a change to code
     41 that’s reviewed, and then you use automation to do the hard stuff of deploying,
     42 monitoring, etc. You also have a pipeline where devs only need to focus on developing
     43 their apps, and any operations or security control can be automatically verified or
     44 enforced as part of that pipeline. Teams have a clear separation of responsibilities.
     45 </p>
     46 </div>
     47 <div id="outline-container-The%204%20Principles%20of%20GitOps" class="outline-3">
     48 <h3 id="The%204%20Principles%20of%20GitOps">The 4 Principles of GitOps</h3>
     49 <div class="outline-text-3" id="text-The%204%20Principles%20of%20GitOps">
     50 <ol class="org-ol">
     51 <li>The entire system is described <b>declaratively</b></li>
     52 <li>The canonical desired system is <b>versioned</b> in git</li>
     53 <li>Approved changes can be <b>automatically applied</b> to the system</li>
     54 <li><b>Software agents</b> ensure correctness and alert (diffs &amp; actions)</li>
     55 </ol>
     56 
     57 <p>
     58 Most importantly, these are principles, <b>not technologies</b>. You can apply the principles
     59 across many of your existing technologies without replacing them.
     60 </p>
     61 
     62 <p>
     63 Also, <b>GitOps</b> is not constrained to Git. You can use whatever support version control.
     64 </p>
     65 </div>
     66 </div>
     67 <div id="outline-container-What%20is%20GitOps%20for%20Security%3F" class="outline-3">
     68 <h3 id="What%20is%20GitOps%20for%20Security%3F">What is GitOps for Security?</h3>
     69 <div class="outline-text-3" id="text-What%20is%20GitOps%20for%20Security%3F">
     70 <p>
     71 It provides
     72 </p>
     73 
     74 <ol class="org-ol">
     75 <li>Immutable infrastructure</li>
     76 <li>Single source of truth</li>
     77 <li>Dev velocity</li>
     78 </ol>
     79 </div>
     80 </div>
     81 <div id="outline-container-Transparency%20and%20Collaboration" class="outline-3">
     82 <h3 id="Transparency%20and%20Collaboration">Transparency and Collaboration</h3>
     83 <div class="outline-text-3" id="text-Transparency%20and%20Collaboration">
     84 <ol class="org-ol">
     85 <li><b>Reversibility</b>: You can do rollbacks, and lower mean time to resolving config-based
     86 outages with version controlling.</li>
     87 <li><b>Audit trails</b>: You can track the history of a repo, …</li>
     88 </ol>
     89 
     90 <p>
     91 This also helps to reduce the risk of relying on a single employee.
     92 </p>
     93 </div>
     94 </div>
     95 <div id="outline-container-What%20can%20you%20GitOps%3F" class="outline-3">
     96 <h3 id="What%20can%20you%20GitOps%3F">What can you GitOps?</h3>
     97 <div class="outline-text-3" id="text-What%20can%20you%20GitOps%3F">
     98 <p>
     99 You can GitOps not just apps, but infrastructure, things that go onto DNS and identity
    100 providers, Chaos experiments and Kubernetes Clusters, and more. You can GitOps all the
    101 things!
    102 </p>
    103 </div>
    104 </div>
    105 </section>
    106 <section id="outline-container-GitOps%20tools" class="outline-2">
    107 <h2 id="GitOps%20tools">GitOps tools</h2>
    108 <div class="outline-text-2" id="text-GitOps%20tools">
    109 <ul class="org-ul">
    110 <li><a href="https://www.ansible.com/">Ansible</a></li>
    111 <li><a href="https://argoproj.github.io/argo-cd/">ArgoCD</a></li>
    112 <li><a href="https://www.runatlantis.io/">Atlantis</a></li>
    113 <li><a href="https://www.chef.io/">Chef</a></li>
    114 <li><a href="https://draft.sh/">Draft</a></li>
    115 <li><a href="https://eksctl.io/">eksctl</a></li>
    116 <li><a href="https://fluxcd.io/">FluxCD</a></li>
    117 <li><a href="https://flagger.app/">Flagger</a></li>
    118 <li><a href="https://git-scm.com/">Git</a></li>
    119 <li><a href="https://gitkube.sh/">GitKube</a></li>
    120 <li><a href="https://toolkit.fluxcd.io/">GitOps Toolkit</a></li>
    121 <li><a href="https://helm.sh/">Helm</a></li>
    122 <li><a href="https://medium.com/keikoproj/keiko-running-kubernetes-at-scale-1178491c1440">Keiko</a></li>
    123 <li><a href="https://kubernetes.io/">Kubernetes</a></li>
    124 <li><a href="https://kustomize.io/">Kustomize</a></li>
    125 <li><a href="https://www.jenkins.io/">Jenkins</a></li>
    126 <li><a href="https://jenkins-x.io/">Jenkins X</a></li>
    127 <li><a href="https://www.pulumi.com/">Pulumi</a></li>
    128 <li><a href="https://puppet.com/">Puppet</a></li>
    129 <li><a href="http://salt.io/">Salt</a></li>
    130 <li><a href="https://skaffold.dev/">Skaffold</a></li>
    131 <li><a href="https://www.terraform.io/">Terraform</a></li>
    132 </ul>
    133 
    134 <p>
    135 One day, <a href="tekton.html">Tekton</a> components could be in that list
    136 </p>
    137 </div>
    138 </section>
    139 <section id="outline-container-References" class="outline-2">
    140 <h2 id="References">References</h2>
    141 <div class="outline-text-2" id="text-References">
    142 <ul class="org-ul">
    143 <li><a href="https://gitops-community.github.io/kit/#need-help-or-want-updates">GitOps Conversation Kit (beta) | GitOps Community</a></li>
    144 </ul>
    145 </div>
    146 </section>
    147 <section id="outline-container-Links" class="outline-2">
    148 <h2 id="Links">Links</h2>
    149 <div class="outline-text-2" id="text-Links">
    150 </div>
    151 <div id="outline-container-%5B%5Bhttps%3A%2F%2Fzwischenzugs.com%2F2020%2F11%2F30%2Fgitops-decisions%2F%5D%5BGitOps%20Decisions%20%E2%80%93%20zwischenzugs%5D%5D" class="outline-3">
    152 <h3 id="%5B%5Bhttps%3A%2F%2Fzwischenzugs.com%2F2020%2F11%2F30%2Fgitops-decisions%2F%5D%5BGitOps%20Decisions%20%E2%80%93%20zwischenzugs%5D%5D"><span class="todo TODO">TODO</span> <a href="https://zwischenzugs.com/2020/11/30/gitops-decisions/">GitOps Decisions – zwischenzugs</a></h3>
    153 <div class="outline-text-3" id="text-%5B%5Bhttps%3A%2F%2Fzwischenzugs.com%2F2020%2F11%2F30%2Fgitops-decisions%2F%5D%5BGitOps%20Decisions%20%E2%80%93%20zwischenzugs%5D%5D">
    154 <p>
    155 <span class="timestamp-wrapper"><span class="timestamp">[2020-12-02 Wed 10:57]</span></span>
    156 </p>
    157 </div>
    158 </div>
    159 </section>
    160 </main>
    161 <footer id="postamble" class="status">
    162 <footer>
    163      <small><a href="/" rel="history">Index</a> • <a href="/sitemap.html">Sitemap</a> • <a href="https://dl.sbr.pm/">Files</a></small><br/>
    164      <small class='questions'>Questions, comments ? Please use my <a href="https://lists.sr.ht/~vdemeester/public-inbox">public inbox</a> by sending a plain-text email to <a href="mailto:~vdemeester/public-inbox@lists.sr.ht">~vdemeester/public-inbox@lists.sr.ht</a>.</small><br/>
    165      <small class='copyright'>
    166       Content and design by Vincent Demeester
    167       (<a rel='licence' href='http://creativecommons.org/licenses/by-nc-sa/3.0/'>Some rights reserved</a>)
    168     </small><br />
    169 </footer>
    170 </footer>
    171 </body>
    172 </html>