<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>GatewayAPI on Valérian Pyckaert</title>
    <link>https://valerian-pyckaert.dev/tags/gatewayapi/</link>
    <description>Recent content in GatewayAPI on Valérian Pyckaert</description>
    <image>
      <title>Valérian Pyckaert</title>
      <url>https://valerian-pyckaert.dev/images/default-cover.svg</url>
      <link>https://valerian-pyckaert.dev/images/default-cover.svg</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 22 May 2026 08:00:00 +0200</lastBuildDate>
    <atom:link href="https://valerian-pyckaert.dev/tags/gatewayapi/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Forge Project</title>
      <link>https://valerian-pyckaert.dev/posts/the-forge-project/</link>
      <pubDate>Fri, 22 May 2026 08:00:00 +0200</pubDate>
      <guid>https://valerian-pyckaert.dev/posts/the-forge-project/</guid>
      <description>Projet fil rouge : construire une plateforme Kubernetes complète sur GCP, from scratch, avec les outils indispensables en 2026. Chaque article documente une étape, les obstacles rencontrés et comment je les ai résolus.</description>
      <content:encoded><![CDATA[<blockquote>
<p><strong>Stack</strong> : GCP · GKE · Terraform · Helm · ArgoCD · SOPS · Kube-Prom-Stack · Nginx Gateway Fabric · cert-manager</p>
</blockquote>
<hr>
<h2 id="pourquoi-ce-projet-">Pourquoi ce projet ?</h2>
<p>Je me lance en freelance DevOps / Platform Engineer / Cloud Engineer. Pour montrer ce que je sais faire (et documenter ce que j&rsquo;apprends en chemin), je démarre un projet fil rouge public : construire une plateforme Kubernetes complète sur GCP, from scratch, avec les outils que j&rsquo;estime indispensables en 2026.</p>
<p>Chaque article de la série documente <strong>une étape</strong>, les <strong>obstacles rencontrés</strong> et comment je les ai résolus. Format court, orienté pratique.</p>
<p>Je vais tenter de garder une approche pragmatique orientée &ldquo;best practices&rdquo; (mais pas dogmatique) pour que ce soit utile à d&rsquo;autres personnes qui veulent se lancer dans la même aventure.</p>
<hr>
<h2 id="ce-quon-va-construire">Ce qu&rsquo;on va construire</h2>
<p>Un cluster GKE avec la stack suivante, déployée en GitOps :</p>
<table>
  <thead>
      <tr>
          <th>Composant</th>
          <th>Rôle</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Terraform</strong></td>
          <td>Provisionning du cluster et bootstrap</td>
      </tr>
      <tr>
          <td><strong>Helm + ArgoCD</strong></td>
          <td>GitOps, tout passe par là après le bootstrap</td>
      </tr>
      <tr>
          <td><strong>SOPS</strong></td>
          <td>Gestion des secrets chiffrés dans Git</td>
      </tr>
      <tr>
          <td><strong>kube-prometheus-stack</strong></td>
          <td>Monitoring &amp; alerting (Prometheus, Grafana, Alertmanager)</td>
      </tr>
      <tr>
          <td><strong>Nginx Gateway Fabric</strong></td>
          <td>Ingress via la Gateway API</td>
      </tr>
      <tr>
          <td><strong>cert-manager + Let&rsquo;s Encrypt</strong></td>
          <td>TLS automatique</td>
      </tr>
  </tbody>
</table>
<p>Je me focalise sur ce qui me semble essentiel pour adresser la majorité des besoins.
A termes j&rsquo;envisage d&rsquo;ajouter d&rsquo;autres composants destinés à des usages plus complexes : KEDA, Karpenter, Dapr, &hellip;</p>
<hr>
<h2 id="les-étapes-prévues">Les étapes prévues</h2>
<ol>
<li><strong>Création du cluster GKE via Terraform</strong></li>
<li><strong>Bootstrap Helm &amp; ArgoCD via Terraform</strong></li>
<li><strong>Déploiement de kube-prometheus-stack</strong> via ArgoCD</li>
<li><strong>Déploiement de Nginx Gateway Fabric / Gateway API</strong> via ArgoCD</li>
<li><strong>Déploiement de cert-manager + Let&rsquo;s Encrypt</strong> via ArgoCD</li>
<li><strong>Mise en place de SOPS</strong> pour la gestion des secrets</li>
</ol>
<p><em>J&rsquo;ajouterai probablement d&rsquo;autres étapes au fur et à mesure</em>* (ex: gestion des node pools, autoscaling, etc.) selon les besoins et les obstacles rencontrés*</p>
<hr>
<h2 id="principes-de-base">Principes de base</h2>
<ul>
<li><strong>Tout dans Git</strong> — aucune modification manuelle sur le cluster après le bootstrap</li>
<li><strong>Least privilege</strong> — les SA GCP auront le minimum requis</li>
<li><strong>Les secrets ne sont jamais en clair</strong> dans le repo</li>
<li><strong>KISS</strong> — Keep It Simple Stupid. Pas de sur-optimisation, pas de microservices inutiles, pas de complexité superflue</li>
</ul>
<hr>
<h2 id="prochaine-étape">Prochaine étape</h2>
<p>→ <a href="#">Création du cluster GKE avec Terraform</a> <em>(à venir)</em></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
