Skip to content

Releases: projectsveltos/addon-controller

v0.26.0

14 Mar 12:10
1baed60
Compare
Choose a tag to compare

🚀 Features:

  • Introduce ClusterSet/Set: Those CRDs can be used to select clusters (using as usual clusterSelector) and have another field specifying how many of the matching clusters should be selected. For instance 2 clusters might match a Set but only one will be selected. This is useful when you want to implement active/passive failover: Create a ClusterSet/Set with maxReplicas: 1 and have it match two clusters in the clusterSelector. This ensures only one cluster is active at a time. If the active cluster goes down, the backup cluster will be automatically selected for deployments.
    ClusterProfile can reference a ClusterSet (and a Profile can reference a Set). The add-ons defined in the ClusterProfile will be deployed only to the currently selected clusters within the referenced ClusterSet. This enables dynamic deployment management based on the available and healthy clusters in the set.

v0.25.0

01 Mar 20:34
ed77faa
Compare
Choose a tag to compare

🚀 Features:

  • MS Team notification support

🐛 Bug Fixes:

  • Fix for inconsistent template naming (inconsistent between code and documentation)
  • Fix for the extra labels/annotations metadata

🌱 Others:

  • Remove rbac proxy container (metric will be fetched directly from the main container)
  • Optimisation to avoid keep trying to reconciler clusters when those become not ready

v0.24.0

15 Feb 09:22
98685bd
Compare
Choose a tag to compare

🚀 Features:

  • ClusterProfile/Profile allows specifying extra metadata (labels and annotations) which will be added to all resources deployed by Sveltos (YAML/JSON, Helm charts, Kustomize)

🐛 Bug Fixes:

  • Filtering by cluster name in sveltosctl show addons

v0.23.0

08 Feb 16:26
ffaa3e0
Compare
Choose a tag to compare

🚀 Features:

  • Allows Sveltos to get YAMLs/JSONs from flux sources

v0.22.0

25 Jan 10:03
cb7151a
Compare
Choose a tag to compare

🚀 Features:

  • Allows to configure, per helm release, following helm options: skipCRDs, Wait, WaitForJobs, Atomic, DependencyUpdate, CreateNamespace;
  • Health rules can be defined looking at objects of different GVKs all together. This allows for more complex health evaluations when Kubernetes resources need to be looked at together;
  • deprecated add-on compliance validations.

🐛 Bug Fixes:

  • Support for OCI registry;
  • Avoid un-necessary helm upgrade (installed version vs expected version comparison fixed).

v0.21.1

10 Jan 10:11
48bbc7c
Compare
Choose a tag to compare

🐛 Bug Fixes

  • addon-controller not reacting to new cluster matching an existing profile bug
  • addon-controller not cleaning up ClusterConfiguration for a deleted cluster which used to match a Profile bug
  • resource deployed in drift-detection mode has spurious redeployment due to an issue detecting false configuration drift bug
  • addon-controller logs reported an issue collecting ResourceSummary and ReloaderReport. That was a non issue as error was happening when ResourceSummary or the ReloaderSummary CRD were not deployed in a cluster bug

v0.21.0

03 Jan 16:31
0128e70
Compare
Choose a tag to compare

🚀 Features:

  • Introducing Profile CRD: similar to ClusterProfile, Profile has a cluster selector and a list of add-ons and applications to deploy in matching clusters. Unlike ClusterProfile, Profile is a namespaced resource and can only match clusters in its same namespace and reference resources in its same namespace. This makes Profile useful for managing multiple tenants in the management cluster, where each tenant has its own namespace.
  • EventSource and Classifier now have the capability to analyze resources of different kinds simultaneously. This feature is enabled by the ResourceSelectors field, which allows you to select resources from various GroupVersionKinds and filter them based on various criteria, including: Namespace, Labels and Custom Lua functions for more sophisticated filtering. The optional AggregatedSelection field provides an additional layer of filtering for the resources selected using ResourceSelectors. This field accommodates a Lua function that further narrows down the subset of resources that have already been identified through ResourceSelectors. The function receives the array of resources selected by ResourceSelectors and processes it to eliminate or retain specific resources based on the specified criteria. If AggregatedSelection is not specified, all resources selected by ResourceSelectors will be considered. This feature enables more intricate filtering and selection operations on the resources, allowing for comprehensive analyses that consider all resources simultaneously. This capability is beneficial for more sophisticated tasks, such as identifying resources that are interconnected or share similar properties.
    further select a subset of the resources that have already been selected using the ResourceSelector field.
  • Discord notification: on top of Slack and Webex, notifications can be sent to Discord channel as well

⚠️ Breaking Changes

  • EventSource and Classifier CRDs have changed
  • EventBasedAddOn CRD has been renamed to EventTrigger
  • When using template, both Cluster and SveltosCluster can be referenced with keyword "Cluster"
  • OpenAPI validations was removed (compliance validations can only be expressed using Lua)

v0.20.0

26 Nov 15:59
9ab8549
Compare
Choose a tag to compare

🚀 Features:

  • ClusterProfile dependencies: a clusterProfile instance can now depend on other ClusterProfile instances. If ClusterProfile A depends on ClusterProfile B, for every matching cluster, add-ons and applications listed in ClusterProfile A won't be provisioned till all add-ons and applications listed in ClusterProfile B are provisioned.

🐛 Bug Fixed:

  • When ClusterProfile is instructed to create resources in the management cluster, those resources were incorrectly considered stale and removed when new managed clusters started matching. This behaviour is now fixed by this commit.

v0.19.0

28 Oct 16:26
69e9a5c
Compare
Choose a tag to compare

🚀 Features:
Introducing cluster sharding: when Sveltos is managing hundreds of clusters, it is advised to use cluster sharding to spread the load between multiple instances of Sveltos controllers. To enable horizontal scaling, add annotation on cluster sharding.projectsveltos.io/key.
The Sveltos shard-controller will detect new cluster shards and start new set of Sveltos controllers to handle all clusters in a given shard.

v0.18.2

19 Oct 08:42
c22f40f
Compare
Choose a tag to compare

🐛 Bug fixed:

  • Fixes this bug causing configuration drift detection to not work in certain scenarios.