| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
👋 Welcome to Projectsveltos!
| 🌐 Website | 📚 Documentation | 📅 Book a Demo | 💼 Enterprise Support | 🏢 Adopters |
|---|---|---|---|---|
| Visit | Get Started | Schedule 30 min | Contact Us | View List |
Sveltos is a Kubernetes add-on controller that simplifies the deployment and management of add-ons and applications across multiple clusters. It runs in the management cluster and can programmatically deploy and manage add-ons and applications on any cluster in the fleet, including the management cluster itself. Sveltos supports a variety of add-on formats, including Helm charts, raw YAML, Kustomize, Carvel ytt, and Jsonnet.
Sveltos allows you to represent add-ons and applications as templates. Before deploying to managed clusters, Sveltos instantiates these templates. Sveltos can gather the information required to instantiate the templates from either the management cluster or the managed clusters themselves. This enables you to use the same add-on configuration across all of your clusters, while still allowing for some variation, such as different add-on configuration values. In other words, Sveltos lets you define add-ons and applications in a reusable way. You can then deploy these definitions to multiple clusters, with minor adjustments as needed. This can save you a lot of time and effort, especially if you manage a large number of clusters.
Sveltos provides precise control over add-on deployment order. Add-ons within a Profile/ClusterProfile are deployed in the exact order they appear, ensuring a predictable and controlled rollout. Furthermore, ClusterProfiles can depend on others, guaranteeing that dependent add-ons only deploy after their dependencies are fully operational. Finally Sveltos' event-driven framework offers additional flexibility. This framework allows for deploying add-ons and applications in response to specific events, enabling dynamic and adaptable deployments based on your needs.
👉 To get updates ⭐️ star this repository.
Projectsveltos offers two powerful tools for managing cluster configurations: Profiles and ClusterProfiles. Understanding their distinctions is crucial for efficient setup and administration.
The idea is simple:
where term:
Here is an example of how to require that any CAPI Cluster with label env: prod has following features deployed:
apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterProfile
metadata:
name: deploy-kyverno
spec:
clusterSelector:
matchLabels:
env: prod
syncMode: Continuous
helmCharts:
- repositoryURL: https://kyverno.github.io/kyverno/
repositoryName: kyverno
chartName: kyverno/kyverno
chartVersion: v3.8.1
releaseName: kyverno-latest
releaseNamespace: kyverno
helmChartAction: Install
values: |
admissionController:
replicas: 3
policyRefs:
- name: storage-class
namespace: default
kind: Secret
- name: contour-gateway
namespace: default
kind: ConfigMapAs soon as a cluster is a match for above ClusterProfile instance, all referenced features are automatically deployed in such cluster.
Here is an example using Kustomize:
apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterProfile
metadata:
name: flux-system
spec:
clusterSelector:
matchLabels:
env: fv
syncMode: Continuous
kustomizationRefs:
- namespace: flux-system
name: flux-system
kind: GitRepository
path: ./helloWorld/
targetNamespace: engwhere GitRepository synced with Flux contains following resources:
├── deployment.yaml
├── kustomization.yaml
└── service.yaml
└── configmap.yamlRefer to examples for more complex examples.
Sveltos can automatically detect drift between the desired state, defined in the management cluster, and actual state of your clusters and recover from it.
Sveltos supports a pull mode for environments where managed clusters cannot accept inbound connections — air-gapped networks, edge deployments, or clusters behind firewalls.
In pull mode, a lightweight agent on the managed cluster initiates outbound connections to the management cluster to fetch its desired state. No inbound ports need to be open on the managed cluster, reducing attack surface and removing the need for VPN tunnels or firewall rules. It also handles intermittent connectivity, making it suitable for edge deployments.
The fastest way to try Sveltos locally — no cloud account needed:
make quickstartThis creates a kind cluster with Sveltos and ClusterAPI, then provisions a workload cluster using Docker as the infrastructure provider. You get the full fleet management flow on your laptop in a few minutes.
For other installation options, see the Quick Start guide.
To see the full demo, have a look at this youtube video
❤️ Your contributions are always welcome! If you want to contribute, have questions, noticed any bug or want to get the latest project news, you can connect with us in the following ways:
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
| Back | FazBrowse Home | New Git URL |