<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Simone Morellato</title>
    <description>The latest articles on DEV Community by Simone Morellato (@simone_morellato).</description>
    <link>https://dev.to/simone_morellato</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2531603%2Ff3194eb8-da11-4d9b-ba41-0f0cbfb1efdb.jpg</url>
      <title>DEV Community: Simone Morellato</title>
      <link>https://dev.to/simone_morellato</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/simone_morellato"/>
    <language>en</language>
    <item>
      <title>Sveltos Quick Start</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Thu, 25 Sep 2025 03:40:53 +0000</pubDate>
      <link>https://dev.to/simone_morellato/sveltos-quick-start-17gj</link>
      <guid>https://dev.to/simone_morellato/sveltos-quick-start-17gj</guid>
      <description>&lt;p&gt;In this post, we’ll walk through how to set up Sveltos, create a vCluster, and register it with Sveltos. By the end, you’ll have a working setup where you can manage a vCluster just like any other cluster in your fleet.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install &lt;code&gt;sveltosctl&lt;/code&gt; CLI&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-L&lt;/span&gt; https://github.com/projectsveltos/sveltosctl/releases/latest/download/sveltosctl-darwin-amd64 &lt;span class="nt"&gt;-o&lt;/span&gt; sveltosctl
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x sveltosctl
&lt;span class="nb"&gt;sudo mv &lt;/span&gt;sveltosctl /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tool will help us generate manifests for cluster registration and interact with Sveltos.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Helm (if not already installed)&lt;/strong&gt;
Follow &lt;a href="https://helm.sh/docs/intro/install/" rel="noopener noreferrer"&gt;Helm installation docs&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 1: Deploy Sveltos
&lt;/h2&gt;

&lt;p&gt;Install Sveltos in the management cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm repo update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; helm upgrade &lt;span class="nt"&gt;--install&lt;/span&gt; sveltos projectsveltos/projectsveltos &lt;span class="nt"&gt;--namespace&lt;/span&gt; projectsveltos &lt;span class="nt"&gt;--create-namespace&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify deployment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm list &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
kubectl get pods &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At this point, Sveltos CRDs and the controller should be active in your cluster.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Deploy the Dashboard (Optional)
&lt;/h2&gt;

&lt;p&gt;For visualization and management through UI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm &lt;span class="nb"&gt;install &lt;/span&gt;sveltos-dashboard projectsveltos/sveltos-dashboard &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
helm list &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
kubectl port-forward service/dashboard &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos 8080:80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access the dashboard at: &lt;a href="http://localhost:8080/login" rel="noopener noreferrer"&gt;http://localhost:8080/login&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create an admin service account and token:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl create sa platform-admin &lt;span class="nt"&gt;-n&lt;/span&gt; default
kubectl create clusterrolebinding platform-admin-access &lt;span class="nt"&gt;--clusterrole&lt;/span&gt; cluster-admin &lt;span class="nt"&gt;--serviceaccount&lt;/span&gt; default:platform-admin
kubectl create token platform-admin &lt;span class="nt"&gt;-n&lt;/span&gt; default &lt;span class="nt"&gt;--duration&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;24h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use the token to log into the dashboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Create a vCluster
&lt;/h2&gt;

&lt;p&gt;Create a new virtual cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vcluster create my-vcluster &lt;span class="nt"&gt;--namespace&lt;/span&gt; my-team
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Disconnect once created:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vcluster disconnect
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Register vCluster with Sveltos
&lt;/h2&gt;

&lt;p&gt;Here’s where the integration happens.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate a &lt;code&gt;SveltosCluster&lt;/code&gt; manifest for the vCluster:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sveltosctl register cluster   &lt;span class="nt"&gt;--namespace&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;monitoring   &lt;span class="nt"&gt;--cluster&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;vcluster   &lt;span class="nt"&gt;--pullmode&lt;/span&gt;   &lt;span class="nt"&gt;--labels&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;production,tier&lt;span class="o"&gt;=&lt;/span&gt;backend   &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; sveltoscluster_registration.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates the YAML that describes your vCluster as a managed entity in Sveltos.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Connect to the vCluster:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vcluster connect my-vcluster &lt;span class="nt"&gt;--namespace&lt;/span&gt; my-team
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Apply the registration YAML inside the vCluster:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl apply &lt;span class="nt"&gt;-f&lt;/span&gt; sveltoscluster_registration.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ And that’s it! 🎉 Your vCluster is now registered with Sveltos.&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;With your vCluster registered, you can now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Apply ClusterProfiles&lt;/strong&gt; to define policies and workloads.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use drift detection&lt;/strong&gt; to ensure your vCluster stays compliant.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manage add-ons&lt;/strong&gt; (like monitoring stacks) consistently across environments.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of treating vClusters as temporary or “disposable,” you’ve elevated them to &lt;strong&gt;first-class citizens&lt;/strong&gt; in your multi-cluster strategy.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Registering a vCluster Kubernetes clusters with Sveltos: A Quick Start Guide</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Fri, 12 Sep 2025 03:53:45 +0000</pubDate>
      <link>https://dev.to/simone_morellato/registering-a-vcluster-kubernetes-clusters-with-sveltos-a-quick-start-guide-i3p</link>
      <guid>https://dev.to/simone_morellato/registering-a-vcluster-kubernetes-clusters-with-sveltos-a-quick-start-guide-i3p</guid>
      <description>&lt;p&gt;Modern Kubernetes environments are rarely static. Teams spin up clusters for testing, staging, and production workloads. Sometimes these clusters are physical, sometimes managed by cloud providers, and increasingly, they’re virtual clusters (&lt;a href="https://www.vcluster.com/" rel="noopener noreferrer"&gt;vClusters&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;If you’ve ever wanted to manage multiple clusters—including vClusters with a consistent approach, &lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;Sveltos&lt;/a&gt; can help. Sveltos is a powerful open-source project that simplifies cluster lifecycle management, configuration drift detection, and workload deployment across fleets of clusters.&lt;/p&gt;

&lt;p&gt;In this post, we’ll walk through how to set up Sveltos, create a vCluster, and register it with Sveltos. By the end, you’ll have a working setup where you can manage a vCluster just like any other cluster in your fleet.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install &lt;code&gt;sveltosctl&lt;/code&gt; CLI&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-L&lt;/span&gt; https://github.com/projectsveltos/sveltosctl/releases/latest/download/sveltosctl-darwin-amd64 &lt;span class="nt"&gt;-o&lt;/span&gt; sveltosctl
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x sveltosctl
&lt;span class="nb"&gt;sudo mv &lt;/span&gt;sveltosctl /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tool will help us generate manifests for cluster registration and interact with Sveltos.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Helm (if not already installed)&lt;/strong&gt;
Follow &lt;a href="https://helm.sh/docs/intro/install/" rel="noopener noreferrer"&gt;Helm installation docs&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 1: Deploy Sveltos
&lt;/h2&gt;

&lt;p&gt;Install Sveltos in the management cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm repo add projectsveltos https://projectsveltos.github.io/helm-charts &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
helm repo update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
helm upgrade &lt;span class="nt"&gt;--install&lt;/span&gt; sveltos projectsveltos/projectsveltos &lt;span class="nt"&gt;--namespace&lt;/span&gt; projectsveltos &lt;span class="nt"&gt;--create-namespace&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify deployment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm list &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
kubectl get pods &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At this point, Sveltos CRDs and the controller should be active in your cluster.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Deploy the Dashboard (Optional)
&lt;/h2&gt;

&lt;p&gt;For visualization and management through UI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm &lt;span class="nb"&gt;install &lt;/span&gt;sveltos-dashboard projectsveltos/sveltos-dashboard &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
helm list &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos
kubectl port-forward service/dashboard &lt;span class="nt"&gt;-n&lt;/span&gt; projectsveltos 8080:80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access the dashboard at: &lt;a href="http://localhost:8080/login" rel="noopener noreferrer"&gt;http://localhost:8080/login&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create an admin service account and token:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl create sa platform-admin &lt;span class="nt"&gt;-n&lt;/span&gt; default
kubectl create clusterrolebinding platform-admin-access &lt;span class="nt"&gt;--clusterrole&lt;/span&gt; cluster-admin &lt;span class="nt"&gt;--serviceaccount&lt;/span&gt; default:platform-admin
kubectl create token platform-admin &lt;span class="nt"&gt;-n&lt;/span&gt; default &lt;span class="nt"&gt;--duration&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;24h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use the token to log into the dashboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Create a vCluster
&lt;/h2&gt;

&lt;p&gt;Create a new virtual cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vcluster create my-vcluster &lt;span class="nt"&gt;--namespace&lt;/span&gt; my-team
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Disconnect once created:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vcluster disconnect
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Register vCluster with Sveltos
&lt;/h2&gt;

&lt;p&gt;Here’s where the integration happens.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate a &lt;code&gt;SveltosCluster&lt;/code&gt; manifest for the vCluster:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sveltosctl register cluster   &lt;span class="nt"&gt;--namespace&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;monitoring   &lt;span class="nt"&gt;--cluster&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;vcluster   &lt;span class="nt"&gt;--pullmode&lt;/span&gt;   &lt;span class="nt"&gt;--labels&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;production,tier&lt;span class="o"&gt;=&lt;/span&gt;backend   &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; sveltoscluster_registration.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates the YAML that describes your vCluster as a managed entity in Sveltos.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Connect to the vCluster:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vcluster connect my-vcluster &lt;span class="nt"&gt;--namespace&lt;/span&gt; my-team
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Apply the registration YAML inside the vCluster:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl apply &lt;span class="nt"&gt;-f&lt;/span&gt; sveltoscluster_registration.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ And that’s it! 🎉 Your vCluster is now registered with Sveltos.&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;With your vCluster registered, you can now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Apply ClusterProfiles&lt;/strong&gt; to define policies and workloads.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use drift detection&lt;/strong&gt; to ensure your vCluster stays compliant.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manage add-ons&lt;/strong&gt; (like monitoring stacks) consistently across environments.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of treating vClusters as temporary or “disposable,” you’ve elevated them to &lt;strong&gt;first-class citizens&lt;/strong&gt; in your multi-cluster strategy.&lt;/p&gt;

</description>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Sveltos vs Terraform: Friends, Not Rivals, in the Cloud-Native World</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Fri, 05 Sep 2025 16:02:36 +0000</pubDate>
      <link>https://dev.to/simone_morellato/sveltos-vs-terraform-friends-not-rivals-in-the-cloud-native-world-8jk</link>
      <guid>https://dev.to/simone_morellato/sveltos-vs-terraform-friends-not-rivals-in-the-cloud-native-world-8jk</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When you’re managing modern infrastructure, chances are you’ve encountered &lt;strong&gt;Terraform&lt;/strong&gt;. It’s the industry-standard tool for provisioning and managing infrastructure across clouds.  &lt;/p&gt;

&lt;p&gt;But what happens once you’ve stood up your Kubernetes clusters? You still need to manage &lt;strong&gt;add-ons, policies, and application lifecycles&lt;/strong&gt; across potentially dozens—or hundreds—of clusters. That’s where &lt;strong&gt;Sveltos&lt;/strong&gt; comes in.  &lt;/p&gt;

&lt;p&gt;In this post, we’ll explore how Sveltos and Terraform compare, their key differences, and why they’re actually &lt;strong&gt;complementary tools&lt;/strong&gt; rather than competitors.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Terraform at a Glance
&lt;/h2&gt;

&lt;p&gt;Terraform, by HashiCorp, is designed to provision and manage infrastructure through a &lt;strong&gt;declarative model&lt;/strong&gt;. You describe resources in HCL (HashiCorp Configuration Language), run &lt;code&gt;terraform apply&lt;/code&gt;, and Terraform ensures those resources exist.  &lt;/p&gt;

&lt;p&gt;Typical Terraform responsibilities include:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating Kubernetes clusters (EKS, GKE, AKS).
&lt;/li&gt;
&lt;li&gt;Provisioning VMs, networking, databases, IAM roles.
&lt;/li&gt;
&lt;li&gt;Managing multi-cloud environments with a unified language.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s infrastructure plumbing—the foundational layer you need before workloads can run.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Sveltos at a Glance
&lt;/h2&gt;

&lt;p&gt;Sveltos is a &lt;strong&gt;Kubernetes-native controller&lt;/strong&gt; that automates &lt;strong&gt;add-on and configuration management&lt;/strong&gt; across multiple clusters. Instead of worrying about how to bootstrap Prometheus, Istio, or policy engines into every new cluster, you let Sveltos handle it.  &lt;/p&gt;

&lt;p&gt;Key Sveltos capabilities include:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploying Helm charts, YAML manifests, or GitOps-managed resources across clusters.
&lt;/li&gt;
&lt;li&gt;Continuously reconciling declared state (no “drift” until your next CLI run).
&lt;/li&gt;
&lt;li&gt;Targeting clusters dynamically using labels or cluster events.
&lt;/li&gt;
&lt;li&gt;Multi-tenancy and RBAC-aware distribution of add-ons.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short: Terraform builds the cluster, Sveltos keeps it running the way you want.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Similarities Between Sveltos and Terraform
&lt;/h2&gt;

&lt;p&gt;At first glance, Sveltos and Terraform seem similar. Both are:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Declarative&lt;/strong&gt;: You describe the desired state, and the tool ensures reality matches it.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-cluster aware&lt;/strong&gt;: Both can operate across many clusters/environments.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation-friendly&lt;/strong&gt;: Each can be embedded in CI/CD pipelines or GitOps workflows.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensible&lt;/strong&gt;: Terraform through providers, Sveltos through templates and Kubernetes-native integrations.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These shared principles can sometimes make them look like competitors. But the details reveal a different story.  &lt;/p&gt;




&lt;h3&gt;
  
  
  Key Differences
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Scveltos&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Terraform&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Primary Focus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Kubernetes add-ons, manifests, Helm charts, and policies&lt;/td&gt;
&lt;td&gt;Cloud infrastructure (VMs, networks, IAM, clusters)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Execution Model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Runs as a controller inside Kubernetes, continuously reconciling&lt;/td&gt;
&lt;td&gt;CLI-based, executes when you run &lt;code&gt;apply&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;State Management&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Uses Kubernetes API (etcd) as the source of truth&lt;/td&gt;
&lt;td&gt;Requires a state file (local or remote backend)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GitOps Alignment&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Natively integrates with Argo CD and Flux&lt;/td&gt;
&lt;td&gt;Needs external tooling (Atlantis, Argo plugins)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scope&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Application/config lifecycle in K8s&lt;/td&gt;
&lt;td&gt;Infrastructure lifecycle across clouds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Real-time Updates&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reacts automatically to cluster labels, resource changes, or events&lt;/td&gt;
&lt;td&gt;Must be triggered manually (CI/CD pipeline or CLI)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So while both use declarative models, Terraform’s natural home is in &lt;strong&gt;infrastructure provisioning&lt;/strong&gt;, while Sveltos shines in &lt;strong&gt;ongoing Kubernetes cluster management&lt;/strong&gt;.  &lt;/p&gt;




&lt;h2&gt;
  
  
  A Real-World Workflow: Better Together
&lt;/h2&gt;

&lt;p&gt;Here’s where things get exciting: Sveltos and Terraform are not mutually exclusive—they’re &lt;strong&gt;perfect partners&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;Imagine you’re setting up a new environment for your engineering team:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Terraform phase&lt;/strong&gt;:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provision a new EKS cluster.
&lt;/li&gt;
&lt;li&gt;Configure networking, IAM roles, and storage.
&lt;/li&gt;
&lt;li&gt;Output cluster credentials.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sveltos phase&lt;/strong&gt;:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detect the new cluster automatically (via Cluster API or registration).
&lt;/li&gt;
&lt;li&gt;Apply a &lt;code&gt;ClusterProfile&lt;/code&gt; that installs:

&lt;ul&gt;
&lt;li&gt;Prometheus &amp;amp; Grafana for monitoring.
&lt;/li&gt;
&lt;li&gt;Kyverno for policy enforcement.
&lt;/li&gt;
&lt;li&gt;Fluent Bit for logging.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Keep these add-ons up to date as versions evolve.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The result? Terraform gets the cluster online, Sveltos keeps it healthy and consistently configured.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Terraform and Sveltos address different but complementary layers of the cloud-native stack. Terraform is your &lt;strong&gt;builder&lt;/strong&gt;—it lays down the infrastructure foundations. Sveltos is your &lt;strong&gt;caretaker&lt;/strong&gt;—it ensures Kubernetes clusters remain properly configured, consistent, and secure over time.  &lt;/p&gt;

&lt;p&gt;If you’re already using Terraform, you don’t need to replace it with Sveltos. Instead, think of Sveltos as the natural &lt;strong&gt;next step&lt;/strong&gt; for multi-cluster Kubernetes environments. Together, they give you the power to manage both &lt;strong&gt;where your clusters run&lt;/strong&gt; and &lt;strong&gt;how they run&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;✨ Want to try it out? You can:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⭐ Star the project on GitHub: &lt;a href="https://github.com/projectsveltos/addon-controller" rel="noopener noreferrer"&gt;sveltos-addon-controller&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 Visit the &lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;Website&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>What are the benefits of using Sveltos versus the traditional ArgoCD/Flux GitOps flow?</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Sun, 13 Jul 2025 17:36:08 +0000</pubDate>
      <link>https://dev.to/simone_morellato/what-are-the-benefits-of-using-sveltos-versus-the-traditional-argocdflux-gitops-flow-dek</link>
      <guid>https://dev.to/simone_morellato/what-are-the-benefits-of-using-sveltos-versus-the-traditional-argocdflux-gitops-flow-dek</guid>
      <description>&lt;p&gt;A common GitOps workflow looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create your new cluster
&lt;/li&gt;
&lt;li&gt;Add it as a new target in your GitOps repo
&lt;/li&gt;
&lt;li&gt;Install ArgoCD or Flux on the cluster (via CI/CD or prebuilt image)
&lt;/li&gt;
&lt;li&gt;The GitOps controller begins syncing
&lt;/li&gt;
&lt;li&gt;🎉 Your cluster is now bootstrapped&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This works, &lt;strong&gt;but Sveltos offers significant advantages&lt;/strong&gt; that improve this flow — especially at scale.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔄 1. Cluster Lifecycle Awareness
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ArgoCD/Flux:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires manual registration of each new cluster.&lt;/li&gt;
&lt;li&gt;Not aware of when new clusters are created.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Sveltos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Watches the management cluster (via Cluster API).&lt;/li&gt;
&lt;li&gt;Automatically discovers and registers new clusters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No manual onboarding needed&lt;/strong&gt; — everything is event-driven.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ⚙️ 2. Push-Based vs Pull-Based Model
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ArgoCD/Flux:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pull-based model: each cluster must pull from Git.&lt;/li&gt;
&lt;li&gt;Requires network, CNI, and GitOps controller to already be working.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Sveltos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Push-based model from management cluster.&lt;/li&gt;
&lt;li&gt;Can apply workloads &lt;strong&gt;even if the cluster is bare and empty&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ideal for bootstrapping core components (CNI, CSI, etc.).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🌐 3. Declarative Targeting with ClusterProfile
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ArgoCD/Flux:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Targeting clusters involves naming them or templating paths.&lt;/li&gt;
&lt;li&gt;Config must be manually updated per cluster.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Sveltos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses &lt;code&gt;ClusterProfile&lt;/code&gt; + &lt;code&gt;ClusterSelector&lt;/code&gt; to apply config to matching clusters.&lt;/li&gt;
&lt;li&gt;Label-driven targeting (e.g., &lt;code&gt;env=prod&lt;/code&gt;, &lt;code&gt;region=us-east&lt;/code&gt;) is native.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero additional config&lt;/strong&gt; for new clusters if they match a selector.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧩 4. Works With ArgoCD/Flux — Not Against Them
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;You don't have to choose!&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Sveltos can &lt;strong&gt;install and configure ArgoCD/Flux&lt;/strong&gt; into your clusters as part of a ClusterProfile.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use Sveltos to bootstrap infra-level components.&lt;/li&gt;
&lt;li&gt;Then hand off to ArgoCD/Flux for app-level GitOps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Best of both worlds.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 5. Fast, Scalable Multi-Cluster Rollouts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Update a ClusterProfile → change rolls out to all matching clusters.&lt;/li&gt;
&lt;li&gt;Supports drift detection and reconciliation.&lt;/li&gt;
&lt;li&gt;Ideal for managing 10s to 100s of clusters with &lt;strong&gt;consistent and declarative policies&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🛠️ 6. Simplified CI/CD Flow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Traditional GitOps flow:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD provisions cluster&lt;/li&gt;
&lt;li&gt;CI/CD installs GitOps controller&lt;/li&gt;
&lt;li&gt;GitOps controller bootstraps cluster&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;With Sveltos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD provisions cluster&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sveltos detects it and pushes configuration&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fewer moving parts = less surface for failure&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ Comparison Table
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;ArgoCD/Flux Only&lt;/th&gt;
&lt;th&gt;Sveltos&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Auto cluster discovery&lt;/td&gt;
&lt;td&gt;❌ Manual&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Works without in-cluster agent&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ideal for bootstrapping infra&lt;/td&gt;
&lt;td&gt;⚠️ Fragile&lt;/td&gt;
&lt;td&gt;✅ Robust&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Push model support&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Per-cluster targeting&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;td&gt;Declarative via selectors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scaling to 100s of clusters&lt;/td&gt;
&lt;td&gt;Painful&lt;/td&gt;
&lt;td&gt;✅ Designed for it&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🙌 Final Thoughts
&lt;/h3&gt;

&lt;p&gt;If you're working with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Many clusters (fleet, edge, dev/test, multi-region)&lt;/li&gt;
&lt;li&gt;Dynamic cluster lifecycles&lt;/li&gt;
&lt;li&gt;A need for fast, reliable infra-level bootstrapping&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then &lt;strong&gt;Sveltos is the better fit for managing infrastructure GitOps workflows&lt;/strong&gt;. ArgoCD/Flux are still great — but Sveltos complements and enhances them beautifully.&lt;/p&gt;




&lt;h3&gt;
  
  
  💬 Community &amp;amp; Contributions Welcome!
&lt;/h3&gt;

&lt;p&gt;We’d love your feedback, questions, and contributions:&lt;/p&gt;

&lt;p&gt;Useful Links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;https://sveltos.projectsveltos.io/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub Repository: &lt;a href="https://github.com/projectsveltos" rel="noopener noreferrer"&gt;https://github.com/projectsveltos&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Join our Slack Community: &lt;a href="https://projectsveltos.slack.com/" rel="noopener noreferrer"&gt;https://projectsveltos.slack.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://projectsveltos.github.io/sveltos/latest/" rel="noopener noreferrer"&gt;https://projectsveltos.github.io/sveltos/latest/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>How to Install Wiz with Sveltos: A Smarter Way to Automate Multi-Cluster Security on AKS</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Sun, 13 Jul 2025 03:09:17 +0000</pubDate>
      <link>https://dev.to/simone_morellato/how-to-install-wiz-with-sveltos-a-smarter-way-to-automate-multi-cluster-security-on-aks-25ed</link>
      <guid>https://dev.to/simone_morellato/how-to-install-wiz-with-sveltos-a-smarter-way-to-automate-multi-cluster-security-on-aks-25ed</guid>
      <description>&lt;h2&gt;
  
  
  What this post is about
&lt;/h2&gt;

&lt;p&gt;Learn how to install the Wiz admission controller across multiple AKS clusters using Sveltos. Automate deployments, enhance security posture, and simplify multi-cluster management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;If you're managing Kubernetes clusters at scale, especially on Azure Kubernetes Service (AKS) you already know that deploying tools like Wiz across every environment can become a tedious, error-prone chore. Manually configuring CRDs, syncing admission controllers, and verifying consistency across dozens of clusters isn’t just inefficient—it’s risky.&lt;/p&gt;

&lt;p&gt;That’s where Sveltos comes in. Built for declarative, GitOps-style multi-cluster management, Sveltos makes it seamless to deploy the Wiz admission controller to any number of clusters with minimal effort. In this post, we’ll walk you through how to install Wiz with Sveltos, using AKS as the target platform, and show you why this method is fast becoming a best practice for DevOps and platform teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Automate Wiz Deployment Across AKS Clusters?
&lt;/h2&gt;

&lt;p&gt;Manually installing the Wiz admission controller on every AKS cluster involves repeating the same steps: applying CRDs, creating Kubernetes resources, managing versions, and monitoring rollouts. This quickly becomes unsustainable.&lt;/p&gt;

&lt;p&gt;Here’s why automation matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scale: Enterprise environments often run dozens or even hundreds of AKS clusters. Manual steps don't scale.&lt;/li&gt;
&lt;li&gt;Security: Inconsistent installations leave gaps in your security posture.&lt;/li&gt;
&lt;li&gt;Time-saving: Automating with Sveltos reduces operational toil.&lt;/li&gt;
&lt;li&gt;Reliability: Declarative state ensures all clusters stay in sync—always.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;According to a 2024 CNCF report, 65% of organizations now operate multiple Kubernetes clusters and over half of those cite add-on management as a key pain point. Sveltos directly addresses that.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Sveltos?
&lt;/h2&gt;

&lt;p&gt;Sveltos is an open-source Kubernetes controller that enables automated deployment of resources—like Helm charts, YAML manifests, and CRDs—across multiple clusters. Unlike tools like ArgoCD and Flux, which focus on single-cluster GitOps, Sveltos excels at multi-cluster, label-based resource targeting.&lt;/p&gt;

&lt;p&gt;Key features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Works alongside Cluster API or Sveltos-managed clusters&lt;/li&gt;
&lt;li&gt;Declarative resource sync using ClusterProfile&lt;/li&gt;
&lt;li&gt;Target clusters using label selectors&lt;/li&gt;
&lt;li&gt;Native support for CRDs, Helm, and Kustomize&lt;/li&gt;
&lt;li&gt;Observability via ClusterSummary and ClusterReport&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step-by-Step: Installing Wiz Admission Controller Across All Clusters
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Label All Target Clusters
Ensure each cluster you want to target has a label. Example:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;metadata:
  labels:
    security: enabled
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create a HelmChart Resource
Sveltos can deploy Helm charts across all matching clusters.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterProfile
metadata:
  name: wiz-sensor-installer
spec:
  syncMode: Continuous
  helmCharts:
    - chartVersion: 3.10.4
      releaseName: wiz-admission-controller
      releaseNamespace: wiz
      chartName: wiz-sec/wiz-admission-controller
      repositoryURL: https://wiz-sec.github.io/charts
      repositoryName: wiz-sec
      helmChartAction: Install
      values: |
        wizApiToken:
          clientId: test123
          clientToken: foobar
  clusterSelector:
    matchLabels:
      env: fv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace latest with an actual version (e.g., 1.0.5) if you want deterministic installs.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Apply the ClusterProfile&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;kubectl apply -f clusterprofile-wiz.yaml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Sveltos will now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discover all clusters labeled security=enabled&lt;/li&gt;
&lt;li&gt;Install the wiz-sensor chart into each one&lt;/li&gt;
&lt;li&gt;Monitor the rollout and status via ClusterSummary and ClusterReport&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Monitor Rollout
Check if Wiz is installed properly:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;kubectl get clustersummaries&lt;br&gt;
kubectl get clusterreports&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;These cmds will tell you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether the chart installed correctly&lt;/li&gt;
&lt;li&gt;If any resources failed&lt;/li&gt;
&lt;li&gt;Version consistency&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Sveltos Compares to Other Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqwezzozz38fatptt9dn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqwezzozz38fatptt9dn.png" alt=" " width="800" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sveltos fills the multi-cluster automation gap left by other GitOps tools. It’s GitOps-complementary, not GitOps-competitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: Make Security Deployment Scalable with Sveltos
&lt;/h2&gt;

&lt;p&gt;Installing Wiz across AKS clusters doesn’t have to be a manual process filled with copy-paste YAML and scheduling nightmares. With Sveltos, you can deploy the Wiz admission controller once—and let it scale declaratively across every cluster that matches your intent.&lt;/p&gt;

&lt;p&gt;If you’re running multiple AKS clusters and care about automation, consistency, and security, this workflow is a game-changer.&lt;/p&gt;

&lt;p&gt;Get started today:&lt;/p&gt;

&lt;p&gt;⭐ Star the project on GitHub: &lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;https://sveltos.projectsveltos.io/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Automating Wiz installation across AKS clusters saves time and reduces errors.&lt;/li&gt;
&lt;li&gt;Sveltos uses declarative, label-based targeting for smart, scalable deployment.&lt;/li&gt;
&lt;li&gt;ClusterProfiles and ConfigMaps bundle and sync resources dynamically.&lt;/li&gt;
&lt;li&gt;Tools like ArgoCD or Flux lack native multi-cluster capabilities.&lt;/li&gt;
&lt;li&gt;Sveltos is purpose-built to streamline security deployments across Kubernetes fleets.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>kubernetes</category>
      <category>security</category>
      <category>wiz</category>
      <category>devops</category>
    </item>
    <item>
      <title>Animation Plugin for draw.io Documentation &amp; Deep Dive</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Sat, 28 Jun 2025 04:38:59 +0000</pubDate>
      <link>https://dev.to/simone_morellato/animation-plugin-for-drawio-documentation-deep-dive-dhe</link>
      <guid>https://dev.to/simone_morellato/animation-plugin-for-drawio-documentation-deep-dive-dhe</guid>
      <description>&lt;h2&gt;
  
  
  Special thanks to Colin
&lt;/h2&gt;

&lt;p&gt;Special thanks to my dear friend Colin for his great &lt;a href="https://www.youtube.com/watch?v=yrghOH_1MuM&amp;amp;ab_channel=ColinJCodesalot" rel="noopener noreferrer"&gt;video&lt;/a&gt; that inspired and guided this documentation. Colin's thorough exploration and hands-on testing were crucial for uncovering the Animation.js plugin's capabilities. Props to Colin for making this all possible.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx7qrobqs7ca8f8vwiyqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx7qrobqs7ca8f8vwiyqz.png" alt="Image description" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;As a content creator, you're always looking for ways to make your diagrams and visual aids more engaging and impactful. Enter the &lt;strong&gt;Animation.js plugin&lt;/strong&gt; for &lt;strong&gt;draw.io&lt;/strong&gt;, a hidden gem that can transform your static diagrams into dynamic, animated masterpieces.&lt;/p&gt;

&lt;p&gt;In this comprehensive post, we'll dive deep into this powerful yet undocumented feature, uncover its secrets, and equip you with the knowledge to bring your diagrams to life.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discovering the Animation.js Plugin
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Animation.js&lt;/strong&gt; plugin is a built-in feature of &lt;strong&gt;draw.io&lt;/strong&gt;, the popular diagramming and visual collaboration platform. However, finding information on how to use this plugin can be a real challenge. This guide is designed to be the most comprehensive documentation for Animation.js available.&lt;/p&gt;

&lt;p&gt;The existence of Animation.js is not widely known, and the official draw.io docs offer little guidance. Colin explored the codebase and experimented with features to unlock practical usage. Those lessons are shared here.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setting the Stage: Activating the Animation.js Plugin
&lt;/h2&gt;

&lt;p&gt;To enable the Animation.js plugin in draw.io:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to the &lt;strong&gt;Extras&lt;/strong&gt; menu and select &lt;strong&gt;Plugins&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Plugins&lt;/strong&gt; window, find &lt;strong&gt;Animation.js&lt;/strong&gt; and ensure it is enabled&lt;/li&gt;
&lt;li&gt;If not listed, click &lt;strong&gt;Add&lt;/strong&gt; and select it from the dropdown&lt;/li&gt;
&lt;li&gt;Restart draw.io if required&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With the plugin activated, you're ready for animated diagrams.&lt;/p&gt;




&lt;h2&gt;
  
  
  Animating Your Diagram Elements
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;Animations&lt;/strong&gt; window (under the &lt;strong&gt;Extras&lt;/strong&gt; menu)&lt;/li&gt;
&lt;li&gt;Select an element, pick an animation (&lt;code&gt;fade-in&lt;/code&gt;, &lt;code&gt;wipe-in&lt;/code&gt;, &lt;code&gt;flow&lt;/code&gt; for arrows, etc.), and add it to your animation steps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Important:&lt;/strong&gt; Every element you want visible must have an animation. Unanimated elements will be invisible in playback and export&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This can be tedious, but scripting and planning help.&lt;/p&gt;




&lt;h2&gt;
  
  
  Previewing and Applying Your Animations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Preview your animation steps in the &lt;strong&gt;Animations&lt;/strong&gt; window&lt;/li&gt;
&lt;li&gt;Unanimated elements are set to full transparency, which can look abrupt. Try alternative backgrounds or fades for smoother effects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t forget:&lt;/strong&gt; You must click &lt;strong&gt;Apply&lt;/strong&gt; for your changes to take effect. There is no visual cue if you forget, so save or apply often&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Exporting and Sharing Animated Diagrams
&lt;/h2&gt;

&lt;p&gt;To export your animated diagram:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;File &amp;gt; Export As &amp;gt; URL&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The animation data is encoded in the generated URL&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Very important:&lt;/strong&gt; Manually add &lt;code&gt;p=anim&lt;/code&gt; to the query string for animations to play&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://viewer.diagrams.net/?your_diagram_url&amp;amp;p=anim" rel="noopener noreferrer"&gt;https://viewer.diagrams.net/?your_diagram_url&amp;amp;p=anim&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you skip this, the animation won't play.&lt;/p&gt;




&lt;h2&gt;
  
  
  Animating Text Elements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;For advanced effects, animate each line of text separately&lt;/li&gt;
&lt;li&gt;Put each line into its own text box, stack them if needed, and animate each in sequence for full control&lt;/li&gt;
&lt;li&gt;Every text box must be animated to appear in the final export&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Plugin Limitations &amp;amp; Community Contributions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Opacity handling, export parameters, and sparse documentation are known quirks&lt;/li&gt;
&lt;li&gt;With only a handful of contributors, there’s lots of room to improve. Jump in if you can code — even small improvements help the community&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Key Functions &amp;amp; Developer Reference
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plugin initialization&lt;/strong&gt;: Adds menu item, actions, and Animation window UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animation window&lt;/strong&gt;: Text area for scripting, preview, copy, and apply controls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step script syntax&lt;/strong&gt;: &lt;code&gt;show&lt;/code&gt;, &lt;code&gt;hide&lt;/code&gt;, &lt;code&gt;fade&lt;/code&gt;, &lt;code&gt;flow&lt;/code&gt;, &lt;code&gt;wait&lt;/code&gt; actions per element&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Functions
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;animateCells&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mapCell&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;run&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;stop&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AnimationWindow&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;toggleFlowAnim&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Common Step Commands
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Effect&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;show CELL [fade]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show a cell, optionally with fade-in effect&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;hide CELL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fade out a cell&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;flow CELL start/stop&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start or stop a flow animation on a cell&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;wait MS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Wait for &lt;code&gt;MS&lt;/code&gt; milliseconds between steps&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;Replace &lt;code&gt;CELL&lt;/code&gt; with the cell’s ID.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Unleash Your Animated Creativity
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Animation.js&lt;/strong&gt; for &lt;strong&gt;draw.io&lt;/strong&gt; is more than a curiosity. It's a toolkit for creating engaging visualizations. Check out Colin’s demos, experiment, and consider contributing to keep the tool improving.&lt;/p&gt;

&lt;p&gt;Many thanks again to Colin, my dear friend, for making this all possible.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Are you trying to manage AI Workloads on Kubernetes at Scale? Maybe deploying complex AI stacks such as Kubeflow and KServe? Here is how Sveltos Enables Multi-Cluster, GitOps-driven MLOps https://ppaolo.substack.com/p/managing-ai-workloads-on-kubernetes</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Thu, 08 May 2025 16:56:33 +0000</pubDate>
      <link>https://dev.to/simone_morellato/are-you-trying-to-manage-ai-workloads-on-kubernetes-at-scale-maybe-deploying-complex-ai-stacks-1djl</link>
      <guid>https://dev.to/simone_morellato/are-you-trying-to-manage-ai-workloads-on-kubernetes-at-scale-maybe-deploying-complex-ai-stacks-1djl</guid>
      <description></description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>kubernetes</category>
      <category>devops</category>
    </item>
    <item>
      <title>The Complete Guide to Kubernetes Add-ons: Categories, Use Cases, and Emerging Trends</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Fri, 02 May 2025 18:42:22 +0000</pubDate>
      <link>https://dev.to/simone_morellato/the-complete-guide-to-kubernetes-add-ons-categories-use-cases-and-emerging-trends-2n6</link>
      <guid>https://dev.to/simone_morellato/the-complete-guide-to-kubernetes-add-ons-categories-use-cases-and-emerging-trends-2n6</guid>
      <description>&lt;p&gt;Kubernetes add-ons are essential components that extend and enhance the capabilities of a Kubernetes cluster. From networking to security, observability to developer experience, choosing the right set of add-ons is key to building robust, scalable, and maintainable Kubernetes cluster.&lt;/p&gt;

&lt;p&gt;This guide goes beyond listing popular tools. It provides a structured framework to help you understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The functional categories of Kubernetes add-ons&lt;/li&gt;
&lt;li&gt;Real-world use cases for each type&lt;/li&gt;
&lt;li&gt;How different add-ons interact and depend on each other&lt;/li&gt;
&lt;li&gt;Trends shaping the ecosystem&lt;/li&gt;
&lt;li&gt;And finally—how &lt;strong&gt;&lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;Sveltos&lt;/a&gt;&lt;/strong&gt; helps you manage it all at scale&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📚 Taxonomy of Kubernetes Add-ons
&lt;/h2&gt;

&lt;p&gt;Most resources offer &lt;strong&gt;lists&lt;/strong&gt; of Kubernetes add-ons without a clear rationale for how they fit into a cluster’s architecture. We group Kubernetes add-ons into five strategic categories based on functionality and target audience:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Primary Users&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Foundational&lt;/td&gt;
&lt;td&gt;Core cluster capabilities like networking, DNS, and storage.&lt;/td&gt;
&lt;td&gt;Cluster admins, SREs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operational&lt;/td&gt;
&lt;td&gt;Monitoring, logging, autoscaling, policy enforcement.&lt;/td&gt;
&lt;td&gt;SREs, platform engineers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;Authentication, RBAC, runtime security, network policies.&lt;/td&gt;
&lt;td&gt;Security teams, DevOps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Developer-focused&lt;/td&gt;
&lt;td&gt;Tools for local development, debugging, and deployment automation.&lt;/td&gt;
&lt;td&gt;Developers, platform teams&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Emerging/Niche&lt;/td&gt;
&lt;td&gt;AI/ML ops, cost optimization, eBPF observability, GitOps integrations.&lt;/td&gt;
&lt;td&gt;Innovators, modern teams&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🧱 Foundational Add-ons
&lt;/h3&gt;

&lt;p&gt;These add-ons are often required for a Kubernetes cluster to function reliably at scale.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Networking&lt;/td&gt;
&lt;td&gt;Calico, Cilium (eBPF-based), Flannel&lt;/td&gt;
&lt;td&gt;Choosing a CNI that supports network policies for multi-tenant clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DNS &amp;amp; Service Discovery&lt;/td&gt;
&lt;td&gt;CoreDNS&lt;/td&gt;
&lt;td&gt;Internal service-to-service communication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storage Provisioners&lt;/td&gt;
&lt;td&gt;EBS CSI, OpenEBS&lt;/td&gt;
&lt;td&gt;Dynamic volume provisioning for stateful applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ingress Controllers&lt;/td&gt;
&lt;td&gt;NGINX, Traefik, Istio ingress gateway&lt;/td&gt;
&lt;td&gt;Managing external access to services over HTTP/S&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  ⚙️ Operational Add-ons
&lt;/h3&gt;

&lt;p&gt;These improve observability, automation, and reliability.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Monitoring &amp;amp; Logging&lt;/td&gt;
&lt;td&gt;Prometheus, Grafana, Loki, Fluent Bit&lt;/td&gt;
&lt;td&gt;Monitoring application SLIs, alerting on infrastructure issues&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Autoscalers&lt;/td&gt;
&lt;td&gt;Cluster Autoscaler, KEDA, HPA/VPA&lt;/td&gt;
&lt;td&gt;Dynamically scaling workloads based on demand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Policy Management&lt;/td&gt;
&lt;td&gt;Kyverno, Gatekeeper (OPA)&lt;/td&gt;
&lt;td&gt;Enforcing naming conventions, security policies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backup &amp;amp; Restore&lt;/td&gt;
&lt;td&gt;Velero, Stash&lt;/td&gt;
&lt;td&gt;Disaster recovery of applications and resources&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🔐 Security Add-ons
&lt;/h3&gt;

&lt;p&gt;Security should be embedded at every layer of the Kubernetes stack.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Authentication &amp;amp; Authorization&lt;/td&gt;
&lt;td&gt;Dex, Keycloak, RBAC policies&lt;/td&gt;
&lt;td&gt;Control who can access the cluster and what actions they can perform based on identity and roles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network Security&lt;/td&gt;
&lt;td&gt;Calico network policies, Cilium Hubble&lt;/td&gt;
&lt;td&gt;Enforce fine-grained traffic controls between pods and namespaces to prevent lateral movement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Runtime Security&lt;/td&gt;
&lt;td&gt;Falco, Sysdig Secure&lt;/td&gt;
&lt;td&gt;Detect and respond to anomalous behavior or security threats at runtime (e.g., unexpected process launches)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image Scanning&lt;/td&gt;
&lt;td&gt;Trivy, Clair&lt;/td&gt;
&lt;td&gt;Prevent deploying containers with known vulnerabilities (CVEs) by scanning images before runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  👨‍💻 Developer-Focused Add-ons
&lt;/h3&gt;

&lt;p&gt;These improve the developer experience, speed up debugging, and support CI/CD workflows.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Package Management&lt;/td&gt;
&lt;td&gt;Helm&lt;/td&gt;
&lt;td&gt;Simplify and standardize application deployment using versioned, reusable charts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local Dev &amp;amp; Iteration&lt;/td&gt;
&lt;td&gt;Tilt, Skaffold&lt;/td&gt;
&lt;td&gt;Accelerate the inner dev loop by syncing code changes directly to running containers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitOps &amp;amp; CI/CD&lt;/td&gt;
&lt;td&gt;Argo CD, Flux&lt;/td&gt;
&lt;td&gt;Enable automated, declarative delivery pipelines using Git as the source of truth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cluster Visualization&lt;/td&gt;
&lt;td&gt;K9s, Lens&lt;/td&gt;
&lt;td&gt;Explore, monitor, and debug Kubernetes clusters with an intuitive interface and minimal config&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🧠 Emerging &amp;amp; Niche Add-ons
&lt;/h3&gt;

&lt;p&gt;Stay ahead of the curve with these cutting-edge tools.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AI/ML Workload Management&lt;/td&gt;
&lt;td&gt;Kubeflow, Volcano&lt;/td&gt;
&lt;td&gt;Orchestrate, scale, and manage machine learning workloads on Kubernetes clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;eBPF-based Observability&lt;/td&gt;
&lt;td&gt;Pixie, Cilium Hubble&lt;/td&gt;
&lt;td&gt;Gain real-time, low-overhead visibility into application and network behavior using eBPF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost Optimization&lt;/td&gt;
&lt;td&gt;Kubecost, CAST AI&lt;/td&gt;
&lt;td&gt;Monitor, manage, and reduce infrastructure costs across Kubernetes environments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Developer Portals&lt;/td&gt;
&lt;td&gt;Backstage&lt;/td&gt;
&lt;td&gt;Centralize service catalogs, docs, and tooling to improve developer productivity and self-service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Policy-as-Code&lt;/td&gt;
&lt;td&gt;OPAL (Open Policy Agent Live), Rego-based custom policies&lt;/td&gt;
&lt;td&gt;Define and enforce infrastructure and application policies as code for compliance and security automation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  Interdependencies Between Add-ons
&lt;/h1&gt;

&lt;p&gt;In a real-world Kubernetes environment, no add-on operates in isolation. Many tools rely on others to function correctly, and failing to understand these dependencies can lead to broken deployments or subtle misconfigurations. Sveltos can help manage these relationships, but it's important to know how the pieces fit together.&lt;/p&gt;

&lt;p&gt;Here are some common and critical interdependencies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monitoring depends on networking&lt;/strong&gt;: Tools like Prometheus rely on a functioning CNI to reach and scrape metrics endpoints across the cluster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Policy enforcement may rely on service discovery&lt;/strong&gt;: Gatekeeper and other policy engines often evaluate service configurations, so they depend on accurate discovery data from tools like CoreDNS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GitOps needs secrets management and CI&lt;/strong&gt;: Tools like Argo CD integrate with secret management solutions (e.g., Vault, Sealed Secrets) and often rely on CI systems to trigger deployments based on code or config changes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sveltos addresses this challenge with explicit dependency ordering, ensuring that add-ons are applied in the correct sequence across clusters.&lt;/p&gt;

&lt;p&gt;This is achieved through ClusterProfile and AddonConfiguration CRDs, where dependencies can be implicitly modeled by defining ordering constraints. Sveltos evaluates these configurations and enforces a deterministic rollout sequence. When an add-on references another resource—either directly or through required CRDs—Sveltos ensures the prerequisite components are present and ready before proceeding with the dependent deployment. This reduces race conditions and installation failures, especially in multi-cluster setups or when performing large-scale rollouts.&lt;/p&gt;

&lt;p&gt;Additionally, Sveltos continuously monitors the readiness of dependencies. If a prerequisite fails or is delayed, dependent add-ons are automatically deferred and retried once conditions are met. This intelligent orchestration minimizes operational overhead and enhances the resilience of the overall add-on management pipeline.&lt;/p&gt;




&lt;h3&gt;
  
  
  📈 Add-on Ecosystem Trends
&lt;/h3&gt;

&lt;p&gt;The Kubernetes ecosystem is evolving rapidly. As new challenges emerge—like multi-cluster management, cost control, and AI workloads—so do the tools and patterns designed to address them.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Trend&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Impact&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rise of eBPF&lt;/td&gt;
&lt;td&gt;Tools like Cilium and Pixie leverage eBPF for kernel-level observability and networking&lt;/td&gt;
&lt;td&gt;Enables high-performance, low-overhead monitoring and fine-grained traffic control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shift to GitOps&lt;/td&gt;
&lt;td&gt;Git becomes the single source of truth for infra and app delivery&lt;/td&gt;
&lt;td&gt;Tools like Argo CD and Flux improve auditability and repeatability through Git-centric workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zero-trust security&lt;/td&gt;
&lt;td&gt;Perimeter-based models give way to identity-driven access and policy&lt;/td&gt;
&lt;td&gt;Add-ons focus on runtime enforcement, service-level identity, and fine-grained access control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform engineering focus&lt;/td&gt;
&lt;td&gt;Internal platforms simplify complexity and boost developer productivity&lt;/td&gt;
&lt;td&gt;Tools like Backstage define golden paths and enable standardized, self-service environments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI/ML integration&lt;/td&gt;
&lt;td&gt;Kubernetes increasingly powers ML model development and inference&lt;/td&gt;
&lt;td&gt;Kubeflow and Volcano support scalable training, tuning, and deployment of ML workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  Kubernetes Add-ons Overview
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Add-ons&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🧱 Foundational Add-ons&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Networking&lt;/strong&gt;: Calico, Cilium (eBPF-based), Flannel&lt;/td&gt;
&lt;td&gt;Choosing a CNI that supports network policies for multi-tenant clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;DNS &amp;amp; Service Discovery&lt;/strong&gt;: CoreDNS&lt;/td&gt;
&lt;td&gt;Internal service-to-service communication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Storage Provisioners&lt;/strong&gt;: CSI drivers (EBS CSI, OpenEBS)&lt;/td&gt;
&lt;td&gt;Dynamic volume provisioning for stateful applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Ingress Controllers&lt;/strong&gt;: NGINX, Traefik, Istio&lt;/td&gt;
&lt;td&gt;Managing external access to services over HTTP/S&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⚙️ Operational Add-ons&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Monitoring &amp;amp; Logging&lt;/strong&gt;: Prometheus, Grafana, Loki, Fluent Bit&lt;/td&gt;
&lt;td&gt;Monitoring application SLIs, alerting on infrastructure issues&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Autoscalers&lt;/strong&gt;: Cluster Autoscaler, KEDA, HPA/VPA&lt;/td&gt;
&lt;td&gt;Dynamically scaling workloads based on demand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Policy Management&lt;/strong&gt;: Kyverno, Gatekeeper (OPA)&lt;/td&gt;
&lt;td&gt;Enforcing naming conventions, security policies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Backup &amp;amp; Restore&lt;/strong&gt;: Velero, Stash&lt;/td&gt;
&lt;td&gt;Disaster recovery of applications and resources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔐 Security Add-ons&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Authentication &amp;amp; Authorization&lt;/strong&gt;: Dex, Keycloak, RBAC policies&lt;/td&gt;
&lt;td&gt;Securing access to the cluster via authentication and authorization controls&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Network Security&lt;/strong&gt;: Calico network policies, Cilium Hubble&lt;/td&gt;
&lt;td&gt;Defining and enforcing secure network communication policies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Runtime Security&lt;/strong&gt;: Falco, Sysdig Secure&lt;/td&gt;
&lt;td&gt;Monitoring and protecting running workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Image Scanning&lt;/strong&gt;: Trivy, Clair&lt;/td&gt;
&lt;td&gt;Prevent deploying containers with known CVEs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;👨‍💻 Developer Add-ons&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Helm&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The de facto package manager for Kubernetes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Tilt, Skaffold&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local development and rapid iteration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Argo CD, Flux&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;GitOps tools for continuous delivery&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;K9s, Lens&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cluster visualization and debugging&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Allowing developers to test services locally with minimal config&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧠 Emerging &amp;amp; Niche&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;AI/ML Management&lt;/strong&gt;: Kubeflow, Volcano&lt;/td&gt;
&lt;td&gt;Managing machine learning workloads in Kubernetes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;eBPF-based Observability&lt;/strong&gt;: Pixie, Cilium Hubble&lt;/td&gt;
&lt;td&gt;High-performance networking and observability using eBPF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Cost Optimization&lt;/strong&gt;: Kubecost, CAST AI&lt;/td&gt;
&lt;td&gt;Tracking and optimizing cloud-native infrastructure cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Developer Portals&lt;/strong&gt;: Backstage&lt;/td&gt;
&lt;td&gt;Building internal developer platforms and service catalogs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Policy-as-Code&lt;/strong&gt;: OPAL, Rego-based policies&lt;/td&gt;
&lt;td&gt;Declarative, code-driven policy enforcement&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🛠️ How Sveltos Simplifies Kubernetes Add-on Management
&lt;/h2&gt;

&lt;p&gt;Managing Kubernetes add-ons at scale is challenging—especially across multiple clusters, environments, and teams. That’s where &lt;strong&gt;Sveltos&lt;/strong&gt; comes in: an open-source Kubernetes add-on lifecycle manager purpose-built to automate, secure, and govern the deployment of add-ons in a &lt;strong&gt;GitOps-native way&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔍 What Is Sveltos?
&lt;/h3&gt;

&lt;p&gt;Sveltos is a Kubernetes controller that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Declaratively deploys and manages add-ons (Helm charts, Kustomize templates, YAMLs) across multiple clusters.&lt;/li&gt;
&lt;li&gt;Enables dynamic add-on targeting using Kubernetes-style label/field selectors.&lt;/li&gt;
&lt;li&gt;Offers GitOps integration, watching Git repositories and applying configuration changes automatically.&lt;/li&gt;
&lt;li&gt;Provides real-time cluster profiling, so you can tailor add-ons to specific cluster capabilities or labels.&lt;/li&gt;
&lt;li&gt;Supports event-driven updates, reacting to changes in cluster state, metrics, or external signals.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📦 Sveltos Features for Add-on Management
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Benefit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Multi-cluster support&lt;/td&gt;
&lt;td&gt;Deploy the same (or different) add-ons across tens, hundreds, or thousands of clusters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitOps-native&lt;/td&gt;
&lt;td&gt;Use Git as the single source of truth for all add-on configurations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Declarative lifecycle&lt;/td&gt;
&lt;td&gt;Manage add-ons via CRDs like &lt;code&gt;Addon&lt;/code&gt;, &lt;code&gt;AddonConfiguration&lt;/code&gt;, and &lt;code&gt;ClusterProfile&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fine-grained targeting&lt;/td&gt;
&lt;td&gt;Use cluster labels/fields to apply the right add-ons to the right clusters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conflict-free updates&lt;/td&gt;
&lt;td&gt;Ensures safe rolling updates and handles retries and failures.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Policy-aware&lt;/td&gt;
&lt;td&gt;Combine with tools like Kyverno or Gatekeeper to enforce compliance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Insightful diagnostics&lt;/td&gt;
&lt;td&gt;See applied add-ons, errors, and history via status fields and metrics.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Helm/Kustomize integration&lt;/td&gt;
&lt;td&gt;Supports Helm charts and Kustomize overlays for flexible deployment strategies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhook-free architecture&lt;/td&gt;
&lt;td&gt;No webhooks required; simplifies setup and increases resilience.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dependency ordering&lt;/td&gt;
&lt;td&gt;Define explicit ordering between add-ons to satisfy install-time dependencies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drift detection&lt;/td&gt;
&lt;td&gt;Detects and optionally remediates drift from the declared configuration.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dry-run support&lt;/td&gt;
&lt;td&gt;Preview changes to validate impact before deployment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-tenancy aware&lt;/td&gt;
&lt;td&gt;Designed for environments with multiple teams managing separate clusters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🔁 Real-world Use Cases
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Deploying Monitoring Stack at Scale&lt;/td&gt;
&lt;td&gt;Automatically roll out Prometheus, Grafana, and exporters to all production clusters labeled &lt;code&gt;env=prod&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dynamic Add-on Selection&lt;/td&gt;
&lt;td&gt;Apply a CSI storage driver only to clusters running in AWS by targeting clusters with &lt;code&gt;cloud=aws&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-Tenant SaaS Platforms&lt;/td&gt;
&lt;td&gt;Isolate tenant-specific add-ons using cluster labels and profiles, while maintaining a common base set&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitOps + Policy&lt;/td&gt;
&lt;td&gt;Combine GitOps with Sveltos and Kyverno to declaratively deploy add-ons &lt;strong&gt;and&lt;/strong&gt; enforce compliance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  Sveltos &lt;code&gt;dependsOn&lt;/code&gt; Deep Dive: Add-on Dependency Management
&lt;/h1&gt;

&lt;p&gt;A common challenge with add-on management is ensuring that dependencies are deployed in the correct order. &lt;strong&gt;Sveltos&lt;/strong&gt; solves this with the &lt;code&gt;dependsOn&lt;/code&gt; field in &lt;code&gt;ClusterProfile&lt;/code&gt; CRs, allowing one &lt;code&gt;ClusterProfile&lt;/code&gt; to depend on others.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Example: Deploying Kyverno + Admission Policies
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;config.projectsveltos.io/v1beta1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ClusterProfile&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;kyverno-admission-policies&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;clusterSelector&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;matchLabels&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;env&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;production&lt;/span&gt;
  &lt;span class="na"&gt;dependsOn&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;kyverno&lt;/span&gt;
  &lt;span class="na"&gt;policyRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ConfigMap&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;disallow-latest-tag&lt;/span&gt;
    &lt;span class="na"&gt;namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;default&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ConfigMap&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;restrict-wildcard-verbs&lt;/span&gt;
    &lt;span class="na"&gt;namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;default&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;config.projectsveltos.io/v1beta1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ClusterProfile&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;kyverno&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;helmCharts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;chartName&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;kyverno/kyverno&lt;/span&gt;
    &lt;span class="na"&gt;chartVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;v3.3.3&lt;/span&gt;
    &lt;span class="na"&gt;helmChartAction&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Install&lt;/span&gt;
    &lt;span class="na"&gt;releaseName&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;kyverno-latest&lt;/span&gt;
    &lt;span class="na"&gt;releaseNamespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;kyverno&lt;/span&gt;
    &lt;span class="na"&gt;repositoryName&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;kyverno&lt;/span&gt;
    &lt;span class="na"&gt;repositoryURL&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://kyverno.github.io/kyverno/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔍 Explanation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;kyverno&lt;/code&gt; installs the Kyverno Helm chart.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kyverno-admission-policies&lt;/code&gt; depends on &lt;code&gt;kyverno&lt;/code&gt;, ensuring Kyverno is fully deployed before applying admission control policies.&lt;/li&gt;
&lt;li&gt;💡 &lt;code&gt;kyverno&lt;/code&gt; has no &lt;code&gt;clusterSelector&lt;/code&gt;, so it is &lt;strong&gt;not deployed on its own&lt;/strong&gt;—it is deployed only when referenced by another &lt;code&gt;ClusterProfile&lt;/code&gt; that targets specific clusters.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔄 Recursive Resolution: Let Sveltos Handle Complex Trees
&lt;/h3&gt;

&lt;p&gt;Sveltos can handle deep dependency trees automatically.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;whoami&lt;/code&gt; depends on &lt;code&gt;traefik&lt;/code&gt;, which depends on &lt;code&gt;cert-manager&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;You only define a &lt;code&gt;ClusterProfile&lt;/code&gt; for &lt;code&gt;whoami&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Sveltos ensures &lt;strong&gt;all transitive dependencies&lt;/strong&gt; are deployed in the correct order—&lt;strong&gt;no manual sequencing required&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ♻️ Dependency Deduplication: Smart, Resource-Efficient Deployment
&lt;/h3&gt;

&lt;p&gt;Sveltos ensures shared dependencies are deployed only &lt;strong&gt;once per cluster&lt;/strong&gt;, even when multiple &lt;code&gt;ClusterProfiles&lt;/code&gt; declare the same dependency.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example Scenario
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;frontend-app-1&lt;/code&gt; depends on &lt;code&gt;backend-service-1&lt;/code&gt;, which depends on &lt;code&gt;postgresql&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Later, &lt;code&gt;frontend-app-2&lt;/code&gt; is deployed, which also depends on &lt;code&gt;postgresql&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ✅ Sveltos Behavior
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Detects that &lt;code&gt;postgresql&lt;/code&gt; is already deployed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skips redeploying&lt;/strong&gt; it.&lt;/li&gt;
&lt;li&gt;Keeps it alive until &lt;strong&gt;all dependents&lt;/strong&gt; are removed.&lt;/li&gt;
&lt;li&gt;When the &lt;strong&gt;last dependent&lt;/strong&gt; (&lt;code&gt;frontend-app-2&lt;/code&gt;) is removed, &lt;code&gt;postgresql&lt;/code&gt; is also cleaned up—ensuring &lt;strong&gt;optimal resource usage&lt;/strong&gt; and correctness.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Ready to simplify multi-cluster Kubernetes management?
&lt;/h2&gt;

&lt;p&gt;Check out Sveltos at &lt;a href="//Sveltos.projectsveltos.io"&gt;Sveltos.projectsveltos.io&lt;/a&gt; and see how it can transform your DevOps workflows.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Your Kubernetes clusters deserve to stay clean. Your platform deserves full control. Now you can have both.</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Sat, 26 Apr 2025 02:28:49 +0000</pubDate>
      <link>https://dev.to/simone_morellato/your-kubernetes-clusters-deserve-to-stay-clean-your-platform-deserves-full-control-now-you-can-2di8</link>
      <guid>https://dev.to/simone_morellato/your-kubernetes-clusters-deserve-to-stay-clean-your-platform-deserves-full-control-now-you-can-2di8</guid>
      <description>&lt;h2&gt;
  
  
  Introducing Agentless Mode for Sveltos: Clean Clusters, Zero Footprint
&lt;/h2&gt;

&lt;p&gt;Imagine offering Kubernetes clusters to your customers—fully managed, highly available, and production-ready—without ever needing to install a single controller or CRD inside their environments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No sidecars.
&lt;/li&gt;
&lt;li&gt;No leftover objects.
&lt;/li&gt;
&lt;li&gt;No risk of interference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just clean, application-focused clusters.&lt;/p&gt;

&lt;p&gt;That’s the dream for any company delivering Kubernetes as a service (KaaS).&lt;br&gt;&lt;br&gt;
With our latest update to &lt;strong&gt;Sveltos&lt;/strong&gt;, that dream just became reality.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Major Update: Sveltos Agentless Mode
&lt;/h2&gt;

&lt;p&gt;Today, we’re excited to introduce a major enhancement to &lt;strong&gt;Sveltos Agentless Mode&lt;/strong&gt;—a smarter, safer way to deliver centralized management, configuration drift detection, and event monitoring &lt;em&gt;without leaving a trace&lt;/em&gt; on managed clusters.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters: Clean Clusters, Happier Customers
&lt;/h2&gt;

&lt;p&gt;In conversations with platform engineers, infrastructure leads, and cloud-native architects, we kept hearing the same challenge:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“We want to keep our managed clusters clean. Our customers expect their clusters to be untouched by our tooling.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s a valid expectation.&lt;/p&gt;

&lt;p&gt;As more companies offer Kubernetes platforms to internal teams or external customers, the demand for invisible control planes is rising.&lt;br&gt;&lt;br&gt;
Security-conscious users don’t want third-party agents lingering in their environments.&lt;br&gt;&lt;br&gt;
Ops teams want to minimize blast radius.&lt;br&gt;&lt;br&gt;
Compliance teams want clear boundaries between app code and platform tooling.&lt;/p&gt;

&lt;p&gt;We listened and reimagined how Sveltos works under the hood.&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s New: Agentless Mode, Reinvented
&lt;/h2&gt;

&lt;p&gt;With this release, Sveltos now deploys its drift detection and event monitoring components &lt;strong&gt;entirely within the management cluster&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For every managed cluster, a dedicated set of agents runs in the central control plane, collecting events and watching for configuration drift.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Nothing is deployed into the managed cluster itself.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Here’s what this looks like:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No CRDs or Custom Resources
&lt;/li&gt;
&lt;li&gt;No Deployments, Sidecars, or Daemons in Managed Clusters
&lt;/li&gt;
&lt;li&gt;Full Visibility
&lt;/li&gt;
&lt;li&gt;Control From a Single Management Cluster&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This new agentless architecture is now the default when you set Sveltos to manage external clusters.&lt;br&gt;&lt;br&gt;
It’s clean, efficient, and fully production-ready.&lt;/p&gt;




&lt;h2&gt;
  
  
  How This Helps You
&lt;/h2&gt;

&lt;p&gt;Whether you're running dozens or hundreds of clusters, this update makes your life easier in several ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clean Clusters:&lt;/strong&gt; Give your customers fully isolated environments with no control plane footprint. Ideal for multi-tenant KaaS platforms and regulated industries.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lower Operational Risk:&lt;/strong&gt; No need to troubleshoot agents in every cluster. All Sveltos logic runs centrally.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better Performance and Observability:&lt;/strong&gt; You still get real-time event monitoring and drift detection—with fewer moving parts.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smarter Scaling:&lt;/strong&gt; As you onboard more clusters, management cost and complexity remain low.
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One early adopter, a platform engineer at a fast-growing SaaS provider, put it this way:  &lt;/p&gt;

&lt;p&gt;“With the new agentless mode, we can finally give our internal teams clean Kubernetes clusters. And the Sveltos control plane still gives us everything we need to keep configurations in check.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Built for Your Platform Engineering Stack
&lt;/h2&gt;

&lt;p&gt;This improvement is a perfect fit if you’re:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delivering Kubernetes-as-a-Service to customers or teams
&lt;/li&gt;
&lt;li&gt;Managing edge, IoT, or regulated clusters where access must be minimal
&lt;/li&gt;
&lt;li&gt;Looking to reduce operational overhead while improving observability
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you've spent time managing large Kubernetes environments even enterprise-grade platforms like Red Hat OpenShift you know how easy it is for clusters to become bloated with dozens of small operators. Each operator typically handles a very specific task: watching one resource and creating or updating another.&lt;/p&gt;

&lt;p&gt;In medium-sized clusters, you often end up with a sprawling ecosystem of tiny operators, many of them third-party, each introducing a little more operational overhead, more complexity, and more surface area for potential issues.&lt;/p&gt;

&lt;p&gt;We saw this first-hand. It’s powerful, but it can also become difficult to maintain and audit over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sveltos offers a smarter alternative.
&lt;/h2&gt;

&lt;p&gt;Instead of scattering responsibility across many small operators, you can now define clear, centralized rules in Sveltos:&lt;/p&gt;

&lt;p&gt;👉 "&lt;em&gt;When you see this resource, update that other resource.&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;You replace a patchwork of operators with a single, unified control plane you fully own and understand.&lt;br&gt;
Sveltos watches the cluster, reacts to events, and keeps configurations aligned without ever touching the managed clusters directly in agentless mode.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The benefits are huge:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ Simplify your operational footprint&lt;br&gt;
✅ Retain full control over cluster behaviors&lt;br&gt;
✅ Minimize third-party dependencies&lt;br&gt;
✅ Scale confidently without adding management complexity&lt;/p&gt;

&lt;p&gt;You still get all the Sveltos features you love — ClusterProfiles, drift detection, configuration snapshots, event-driven automation — but now, with even greater precision, security, and elegance.&lt;/p&gt;

&lt;h2&gt;
  
  
  In short:
&lt;/h2&gt;

&lt;p&gt;You move from managing dozens of tiny, specialized operators to managing one powerful, flexible Sveltos control plane.&lt;br&gt;
Cleaner clusters. Happier customers. Stronger platforms.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Today
&lt;/h2&gt;

&lt;p&gt;The new agentless mode is available now in the latest version of Sveltos.&lt;br&gt;&lt;br&gt;
It’s open source, production-ready, and designed to scale with your platform needs.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Ready to try it out?&lt;/strong&gt; Visit &lt;a href="https://projectsveltos.github.io/sveltos/getting_started/install/install/" rel="noopener noreferrer"&gt;the installation guide&lt;/a&gt; and choose &lt;strong&gt;Mode 2&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🙌 &lt;strong&gt;Star us on GitHub&lt;/strong&gt;: &lt;a href="https://github.com/projectsveltos/addon-controller" rel="noopener noreferrer"&gt;https://github.com/projectsveltos/addon-controller&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Contributions welcome — file issues, request features, or drop us an email at &lt;a href="//mailto:support@projectsveltos.io"&gt;support@projectsveltos.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Join us for a live demo on April 29th&lt;/strong&gt;: &lt;a href="https://www.linkedin.com/events/managingkuberneteswithzerofootp7320523860896862209/theater/" rel="noopener noreferrer"&gt;LinkedIn Live&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🔧 Best Tools to Deploy Kubernetes Add-ons</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Wed, 23 Apr 2025 18:20:29 +0000</pubDate>
      <link>https://dev.to/simone_morellato/best-tools-to-deploy-kubernetes-add-ons-16l8</link>
      <guid>https://dev.to/simone_morellato/best-tools-to-deploy-kubernetes-add-ons-16l8</guid>
      <description>&lt;h2&gt;
  
  
  1. &lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;Sveltos&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: Multi-cluster, event-driven, and templated add-on management&lt;br&gt;
Sveltos is purpose-built for managing Kubernetes add-ons at scale. It supports:&lt;br&gt;
    • Multi-cluster orchestration&lt;br&gt;
    • Event-based deployments&lt;br&gt;
    • Support for Helm, Kustomize, raw YAML&lt;br&gt;
    • Multi-tenant environments&lt;br&gt;
✅ Lightweight, GitOps-friendly, and very flexible&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Flux
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: GitOps-based continuous delivery&lt;br&gt;
    • Applies desired state directly from Git&lt;br&gt;
    • Great for Helm, Kustomize, and CRDs&lt;br&gt;
    • Works well for both apps and add-ons&lt;br&gt;
✅ Strong ecosystem, mature GitOps approach&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Argo CD
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: Visual GitOps and app-centric workflows&lt;br&gt;
    • GitOps controller with UI and CLI&lt;br&gt;
    • Supports Helm, Kustomize, plain YAML&lt;br&gt;
    • Strong sync and drift detection&lt;br&gt;
✅ Visual interface, great for teams managing many services&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Helm
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: Templated deployments with strong community support&lt;br&gt;
    • Package manager for Kubernetes&lt;br&gt;
    • Massive chart ecosystem (e.g., Prometheus, NGINX)&lt;br&gt;
    • Easy upgrades and rollbacks&lt;br&gt;
✅ Quick to get started, highly configurable&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  5. kpt (by Google)
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: Config-as-data pipelines (YAML-first approach)&lt;br&gt;
    • Focuses on packaging, customizing, and validating Kubernetes configs&lt;br&gt;
    • Works well with Git workflows and CI/CD&lt;br&gt;
✅ Structured YAML management, good for platform teams&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Cluster API Add-on Providers
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: Declarative, infrastructure-aware add-on management&lt;br&gt;
    • Works in tandem with Cluster API (CAPI)&lt;br&gt;
    • Ideal if you already use CAPI to manage cluster lifecycles&lt;br&gt;
✅ Deep integration with cluster provisioning&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Operator Framework / OLM (Operator Lifecycle Manager)
&lt;/h2&gt;

&lt;p&gt;🔹 Best for: Complex lifecycle management (CRDs, stateful services)&lt;br&gt;
    • Enables installation, update, and lifecycle management of Operators&lt;br&gt;
    • More than just deployment—it handles upgrade paths and dependency trees&lt;br&gt;
✅ Powerful for complex or stateful add-ons like databases&lt;/p&gt;

&lt;p&gt;🚀 Which One Should You Use?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmr5bosz9c0u94ayd5s09.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmr5bosz9c0u94ayd5s09.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What if I need a tool to add monitoring across 100 clusters?
&lt;/h2&gt;

&lt;p&gt;If your goal is to add and manage monitoring (e.g., Prometheus, Grafana, Loki, etc.) across 100 Kubernetes clusters, then your solution needs to be:&lt;br&gt;
    • Multi-cluster aware&lt;br&gt;
    • Scalable and repeatable&lt;br&gt;
    • GitOps-compatible (ideally)&lt;br&gt;
    • Able to handle templated or dynamic configurations&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 Top Tooling Options for This Use Case
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🥇 Sveltos
&lt;/h2&gt;

&lt;p&gt;Best for: Scalable, event-driven multi-cluster add-on management&lt;/p&gt;

&lt;p&gt;✅ Handles:&lt;br&gt;
    • 100+ clusters with ease&lt;br&gt;
    • Templating and customization for Prometheus per cluster&lt;br&gt;
    • Centralized or decentralized deployment models&lt;br&gt;
    • GitOps support (via CRDs or integrating with Flux/Argo)&lt;/p&gt;

&lt;p&gt;💡 Use Case: Automatically deploy Prometheus to new clusters when they register, with cluster-specific alerting rules and scrape configs.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  🥈 Flux + Cluster API + Helm
&lt;/h2&gt;

&lt;p&gt;Best for: GitOps-first approach with Helm charts&lt;/p&gt;

&lt;p&gt;✅ Handles:&lt;br&gt;
    • Large-scale deployments via Git repositories&lt;br&gt;
    • Git as the source of truth&lt;br&gt;
    • Automates provisioning via Cluster API + add-on Helm chart install&lt;/p&gt;

&lt;p&gt;🛠️ Use a Flux HelmRelease to deploy Prometheus and customize values per cluster using Kustomize overlays.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  🥉 Argo CD + App of Apps Pattern
&lt;/h2&gt;

&lt;p&gt;Best for: Teams needing a UI, RBAC, and GitOps&lt;/p&gt;

&lt;p&gt;✅ Good if:&lt;br&gt;
    • You want to see deployment status cluster-by-cluster&lt;br&gt;
    • You need to deploy Prometheus and related tools with specific RBAC per team/cluster&lt;/p&gt;

&lt;p&gt;🧠 You’d use an “App of Apps” structure where one central Argo app deploys other apps (e.g., Prometheus per cluster) from Git.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  🧩 Honorable Mentions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Rancher Fleet: Built for GitOps at large scale, great for 1000+ clusters. Prometheus bundles available.&lt;/li&gt;
&lt;li&gt;  Anthos Config Management: If you’re on Google Cloud and need policy + config sync.&lt;/li&gt;
&lt;li&gt;  Crossplane: If you’re provisioning infra + Kubernetes add-ons together.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Recommendation Summary&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wermhgr405lq213ozbg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wermhgr405lq213ozbg.png" alt="Image description" width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Discovering European Open Source Projects at KubeCon London</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Thu, 03 Apr 2025 07:55:44 +0000</pubDate>
      <link>https://dev.to/simone_morellato/discovering-european-open-source-projects-at-kubecon-london-15ge</link>
      <guid>https://dev.to/simone_morellato/discovering-european-open-source-projects-at-kubecon-london-15ge</guid>
      <description>&lt;p&gt;This week, I had the opportunity to attend KubeCon London, and it was an eye-opening experience. The European Kubernetes community is thriving, and I was particularly impressed by four open-source projects developed by European and Italian companies that caught my attention. Each solves different challenges in the Kubernetes ecosystem, and what's even more fascinating is how they can work together.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Four Projects I Discovered
&lt;/h2&gt;

&lt;h3&gt;
  
  
  vCluster (by &lt;a href="https://www.loft.sh/" rel="noopener noreferrer"&gt;Loft Labs&lt;/a&gt; - Germany)
&lt;/h3&gt;

&lt;p&gt;At the Loft Labs booth, I got an in-depth demo of vCluster, which creates virtual Kubernetes clusters that run inside a namespace of a host cluster. Each virtual cluster has its own control plane but shares worker nodes with the host. The German engineering team explained how they've optimized it for development environments, making it incredibly fast to provision new clusters. What impressed me most was how it enables teams to have their own isolated control planes while efficiently using shared infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Capsule (by &lt;a href="https://clastix.io/" rel="noopener noreferrer"&gt;Clastix&lt;/a&gt; - Italy)
&lt;/h3&gt;

&lt;p&gt;Next, I attended a talk by the Italian team at Clastix who developed Capsule. This multi-tenancy framework manages namespaces as "tenants" within a single Kubernetes cluster. Their approach is lightweight but powerful, using a Tenant CRD to group namespaces and applying various policies for isolation. The Italian engineers demonstrated how it's perfect for organizations that want to share a cluster among multiple teams without the overhead of managing separate clusters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kamaji (by &lt;a href="https://clastix.io/" rel="noopener noreferrer"&gt;Clastix&lt;/a&gt; - Italy)
&lt;/h3&gt;

&lt;p&gt;Another Italian project that caught my eye was Kamaji also by Clastix. Their booth had an interesting demo showing how Kamaji runs tenant Kubernetes clusters' control planes as pods in a management cluster, connected to dedicated worker nodes. The team explained how they designed it for organizations that need true cluster isolation (like managed Kubernetes providers) but want more cost-efficient control planes. Their architecture makes it scalable to hundreds of tenant clusters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Project Sveltos (by &lt;a href="//sveltos.projectsveltos.io"&gt;Sveltos&lt;/a&gt; - italy)
&lt;/h3&gt;

&lt;p&gt;The final project I discovered was Sveltos, developed by Gianluca Mardente in the Italy. Their presentation showed how it manages Kubernetes cluster configuration across multiple clusters using a declarative approach. It was fascinating to see how their controller can push configurations, Helm charts, and add-ons to registered clusters while ensuring consistency across environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  How These Projects Can Work Together
&lt;/h2&gt;

&lt;p&gt;What really got me excited was realizing these tools aren't mutually exclusive—they can complement each other in powerful ways. During a dinner discussion with representatives from all four projects, they highlighted several integration scenarios:&lt;/p&gt;

&lt;h3&gt;
  
  
  vCluster + Sveltos
&lt;/h3&gt;

&lt;p&gt;Companies today use vCluster to create isolated environments for development teams, while Sveltos ensures each virtual cluster gets consistent configurations. &lt;/p&gt;

&lt;h3&gt;
  
  
  Capsule + Sveltos
&lt;/h3&gt;

&lt;p&gt;Adriano Pezzuto from the Capsule team and Gianluca Mardente from Sveltos team demonstrated how Capsule could handle multi-tenancy within a shared cluster, while Sveltos applies standardized tools or policies across tenant namespaces. &lt;/p&gt;

&lt;h3&gt;
  
  
  Kamaji + Sveltos
&lt;/h3&gt;

&lt;p&gt;Perhaps the most powerful combination I saw was using Kamaji to run tenant clusters with dedicated control planes while Sveltos handles consistent configuration across all of them. This would make running hundreds of fully isolated clusters much more manageable.&lt;/p&gt;

&lt;h3&gt;
  
  
  All Together
&lt;/h3&gt;

&lt;p&gt;The highlight was realizing that companies are already building platforms using all four tools: Kamaji for production tenant clusters, vCluster for dev environments, Capsule for staging, and Sveltos orchestrating everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;This KubeCon experience showed me how the European Kubernetes community is driving innovation in multi-tenancy and cluster management. &lt;/p&gt;

&lt;p&gt;I came away with a much deeper understanding of how to design multi-tenant Kubernetes platforms that balance isolation, efficiency, and manageability. &lt;/p&gt;

&lt;p&gt;What's your Kubernetes setup like? Have you experimented with any of these tools?&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
    </item>
    <item>
      <title>Crossplane vs. Sveltos: A Kubernetes API Extension Comparison</title>
      <dc:creator>Simone Morellato</dc:creator>
      <pubDate>Sat, 22 Feb 2025 01:32:04 +0000</pubDate>
      <link>https://dev.to/simone_morellato/crossplane-vs-sveltos-a-kubernetes-api-extension-comparison-4on4</link>
      <guid>https://dev.to/simone_morellato/crossplane-vs-sveltos-a-kubernetes-api-extension-comparison-4on4</guid>
      <description>&lt;h1&gt;
  
  
  Crossplane vs. &lt;a href="https://sveltos.projectsveltos.io/" rel="noopener noreferrer"&gt;Sveltos&lt;/a&gt;: A Kubernetes API Extension Comparison
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Crossplane&lt;/strong&gt; and &lt;strong&gt;Sveltos&lt;/strong&gt; both extend the Kubernetes API using &lt;strong&gt;Custom Resource Definitions (CRDs)&lt;/strong&gt; to manage resources declaratively. However, they target different domains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Crossplane&lt;/strong&gt; focuses on &lt;strong&gt;infrastructure provisioning&lt;/strong&gt; (e.g., databases, VMs, storage) by enabling Kubernetes-native management of cloud resources across providers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sveltos&lt;/strong&gt; focuses on &lt;strong&gt;Kubernetes add-on and application management&lt;/strong&gt; by enabling declarative deployment and lifecycle management of add-ons across multiple clusters.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Differences
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Crossplane&lt;/th&gt;
&lt;th&gt;Sveltos&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manages cloud infrastructure (e.g., databases, storage, compute)&lt;/td&gt;
&lt;td&gt;Manages Kubernetes add-ons and applications across clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;API Extension&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Extends Kubernetes API to provision cloud resources using CRDs&lt;/td&gt;
&lt;td&gt;Extends Kubernetes API to deploy and manage add-ons using CRDs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multi-Cluster&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Works with multiple cloud providers but does not directly handle multi-cluster add-on deployment&lt;/td&gt;
&lt;td&gt;Specifically designed for multi-cluster add-on and application deployment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Lifecycle Management&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manages cloud resource lifecycle (e.g., creating, updating, deleting cloud resources)&lt;/td&gt;
&lt;td&gt;Automates deployment, updates, and pruning of Kubernetes add-ons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Declarative Model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Uses CRDs to define and manage cloud resources declaratively&lt;/td&gt;
&lt;td&gt;Uses CRDs to define and manage add-on policies declaratively&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Primary Use Case&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Kubernetes-native Infrastructure as Code (IaC)&lt;/td&gt;
&lt;td&gt;Kubernetes-native add-on/application management&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If you need &lt;strong&gt;Kubernetes-native infrastructure provisioning&lt;/strong&gt;, &lt;strong&gt;Crossplane&lt;/strong&gt; is the right tool.&lt;/li&gt;
&lt;li&gt;If you need &lt;strong&gt;multi-cluster Kubernetes add-on and application management&lt;/strong&gt;, &lt;strong&gt;Sveltos&lt;/strong&gt; is the better choice.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
