Skip to content

Star

Sveltos logo

Sveltos Kubernetes Add-on Controller - Simplify Add-on Management in Kubernetes

🌐 Project Website

For the latest updates, documentation, and blog posts, visit our official site:

👉 https://website.projectsveltos.io/

What is Sveltos?

Sveltos is a Kubernetes add-on controller. It makes deploying and managing Kubernetes add-ons and applications easier across multiple clusters. This works for on-prem, cloud, or multitenant setups.

Have Questions?

Join the #projectsveltos Slack channel for questions, discussions, and community support! Slack

Note

Sveltos is not a replacement for GitOps. It's designed to be an extension for GitOps workflows when managing multiple clusters.

Here's how it works:

  • Sveltos runs in a management cluster. It helps users deploy and manage Kubernetes add-ons and applications. This works for any cluster in the fleet, including the management cluster.
  • GitOps principles. You can still use GitOps tools to push your configuration to the management cluster. Then, Sveltos takes over, distributing the desired state to your managed clusters.
  • Sveltos supports a variety of add-on formats. This includes Helm charts, raw YAML/JSON, Kustomize, Carvel ytt, and Jsonnet. This flexibility allows you to manage your add-ons using the format that best suits your needs.
  • Sveltos provides a powerful template and event framework. This framework empowers you to better manage your fleet of clusters by customising deployments and reacting to cluster events.

Sveltos in the management cluster

Features

  • 🔄 Orchestrated Deployment Order: Sveltos deploys custom resources in our defined order. This ensures deployments are predictable and controlled.
  • 🧩 Templating: Patching the rendered resources made easy! Represent add-ons and applications as templates. Sveltos automatically adds cluster-specific details. This makes it easy to manage consistent deployments across different clusters.
  • 👥 Multitenancy: Designed for multitenancy from the beginning. Use ClusterProfile and Profile resources for complete isolation or tenant sharing in clusters.
  • ⚡ Events: Deploy add-ons and applications in response to specific events using Lua or CEL. Adapt deployments dynamically to defined needs and use cases.
  • 📢 Observability: Get notifications through Slack, Teams, Discord, WebEx, Telegram, SMTP, or Kubernetes events. Easily integrate with other tools to trigger actions or workflows.
  • 🛡️ Pull Mode: Deploy add-ons and applications in restricted environments; clusters behind firewalls, air-gapped setups, edge environments with limited bandwidth, and secure, highly regulated infrastructures.
  • 🚦 Progressive Rollouts: Perform phased rollouts of cluster configurations and add-ons. Define the configuration once. Then, list the deployment stages in order. There's no need to manage multiple ClusterProfile resources.

Why Sveltos?

Sveltos was created to tackle the real challenges of managing multi-cluster add-ons. Many CI/CD tools find this tough. Sveltos can enhance or replace current GitOps tools. Its integration with Flux CD improves scalability and automation across different environments.

Sveltos stands out with features like multitenancy, agent-based drift detection, and resource optimisation. With powerful templating, an event framework, and progressive rollouts, teams can safely and reliably deploy Kubernetes add-ons and applications. These capabilities lower operational costs, whether we run workloads on-site or in the cloud.

Sveltos at the Edge

Running Kubernetes at the edge usually means a tight resource budget, limited CPU, memory, and bandwidth. Sveltos agents deployed in managed clusters are built for edge use cases. Sveltos deploys only what is actually needed.

What gets deployed and when

  • drift-detection-manager: Only shows up when a matching profile sets syncMode: ContinuousWithDriftDetection. It watches only the resources that Sveltos itself deployed, nothing more. Footprint and resource consumption stay small.

  • sveltos-agent: Handles event detection. If we have not defined any events to watch, it barely consumes resources. Even when watching resources, memory usage scales with what we ask Sveltos to observe. In a typical edge cluster setup, we will not have thousands of resources to watch. Even if we do, Sveltos will not act unless we specifically tell it to watch them.

  • sveltos-applier (Pull Mode): It polls the management cluster for new configurations to apply. That is all it does. Very light resource consumption.

Enterprise Offering

Interested in our enterprise offering? Enterprise offering

😻 Contributing to projectsveltos

We love to hear from you! We believe in the power of community and collaboration!

Your ideas and feedback are important to us. Whether you want to report a bug, suggest a new feature, or stay updated with our latest news, we are here for you.

  1. Open a bug/feature enhancement on GitHub contributions welcome
  2. Chat with us on Slack in the #projectsveltos channel Slack
  3. If you prefer to reach out directly, just shoot us an email

We are always thrilled to welcome new members to our community, and your contributions are always appreciated. Do not be shy - join us today and let's make Sveltos the best it can be! ❤️

Support us

If you like the project, please give us a if you haven't done so yet. Your support means a lot to us. Thank you 🙏.

⭐ projectsveltos