PackageTrack

Go modules ยท #2329

github.com/projectsveltos/addon-controller

v1.14.0projectsveltos/addon-controller โ†—

Release timeline

1061 releases since 2023
202420252026

Releases

  1. v1.11.1-0.20260623084957-f70f37d5d08023 Jun 2026pre-release

    Nothing published for this version

  2. v1.11.1-0.20260622194528-59157acf98a022 Jun 2026pre-release

    Nothing published for this version

  3. v1.11.1-0.20260622155746-7e351ac42a5122 Jun 2026pre-release

    Nothing published for this version

  4. v1.11.1-0.20260621134344-811311c194d321 Jun 2026pre-release

    Nothing published for this version

  5. v1.11.1-0.20260620164633-d469da1359a020 Jun 2026pre-release

    Nothing published for this version

  6. v1.11.1-0.20260619100342-4b62e97434a319 Jun 2026pre-release

    Nothing published for this version

  7. v1.11.1-0.20260617140648-702c76a682b617 Jun 2026pre-release

    Nothing published for this version

  8. v1.11.1-0.20260615142731-8073145c2b8515 Jun 2026pre-release

    Nothing published for this version

  9. v1.11.1-0.20260614203034-0b36593fd48f14 Jun 2026pre-release

    Nothing published for this version

  10. v1.11.1-0.20260614075511-4ba177c406f714 Jun 2026pre-release

    Nothing published for this version

  11. v1.11.1-0.20260612134036-b21c515d0d2a12 Jun 2026pre-release

    Nothing published for this version

  12. v1.11.1-0.20260611093205-4ae849a5156711 Jun 2026pre-release

    Nothing published for this version

  13. v1.11.1-0.20260611060904-4f7b34e7fb8811 Jun 2026pre-release

    Nothing published for this version

  14. v1.11.010 Jun 2026
    Release notes

    ๐Ÿš€ New Features

    Health Checks: Metric-Based Validation
    ValidateHealth now supports querying a Prometheus-compatible endpoint as an additional data source. Named scalar values are exposed to the Lua evaluate() function via a metrics table, enabling checks such as "error rate below 5 %". In push mode the endpoint must be reachable from the management cluster; in pull mode the sveltos-applier agent running inside the managed cluster reaches it directly via in-cluster DNS.
    PR: addon-controller #1816 (#1816)

    Kubernetes Events for Deployment Failures
    The addon-controller now raises Kubernetes Warning events to make failure causes immediately visible via kubectl describe or any event-watching tool. Events are emitted for conflicts, missing referenced resources, template instantiation errors, and when the controller gives up after reaching the maximum consecutive failure count.
    PR: addon-controller #1815 (#1815)

    Dashboard: Cluster Deployment Health Signals
    The cluster list now surfaces deployment state at a glance. An amber alert icon appears when one or more profile deployments are failing; a blue clock icon appears when deployment is actively in progress with no failures. The ui-backend computes these signals as O(1) in-memory indexes updated by the existing ClusterSummary watcher, so no per-request scanning is required.
    PRs: dashboard #173 (projectsveltos/dashboard#173), ui-backend #167 (projectsveltos/ui-backend#167)

    HealthCheck: Surface "No Resources Found" as a Degraded Status
    When a HealthCheck's resource selectors matched nothing, the resulting HealthCheckReport was silently empty and sveltosctl show resources showed nothing. The Lua evaluate() function can now detect an empty resources table and return a top-level degraded status (e.g. "No deployments found in namespace metrics"), which is surfaced in the report and in sveltosctl.
    PR: sveltos-agent #489 (projectsveltos/sveltos-agent#489)

    MCP Server: Classifier Pipeline Analysis Tool
    A new tool has been added to the Sveltos MCP server to analyze classifier pipelines, making it easier to inspect and reason about classifier configuration via AI-assisted workflows.
    PR: mcp-server #55 (projectsveltos/mcp-server#55)

    Shard-Controller: Patch Support
    A new --shard-components-config flag accepts the name of a ConfigMap in the Sveltos namespace. The ConfigMap holds one or more patches (JSON6902 or strategic-merge) that are applied to the five Deployments shard-controller creates per shard. Target selectors allow a single ConfigMap to patch only specific components. When the ConfigMap changes, a dedicated reconciler re-deploys all active shards immediately so patches take effect without restarting shard-controller.
    PR: shard-controller #216 (projectsveltos/shard-controller#216)


    ๐Ÿž Bug Fixes

    addon-controller: Logging, Pull-Mode Status Handler, Helm Data Race, and Dependency Manager
    Fixed a logging mistake where cluster name was populated with the cluster namespace in two places. Corrected the pull-mode agent status handler, which could reach a nil dereference when the agent returned an error without a status payload. Fixed a data race in the Helm chart manager where a shared map was read without holding the mutex. The dependency manager's background update loop now snapshots work, releases the write lock before making API calls, and re-acquires it only to clear completed entries โ€” unblocking concurrent reconcilers. Its startup rebuild loop now waits 5 seconds between retries instead of spinning at full speed on API errors.
    PR: addon-controller #1823 (#1823)

    sveltos-applier: ClassifierReport Retry, Discovery Loop, and Namespace Client Reuse
    ClassifierReports were silently marked as delivered even when the push to the management cluster failed, so they were never rld also continue with an empty Classifier object on non-NotFound API errors. The discovery retry loop in the REST mapperrefresh executed exactly once regardless of the loop variable, causing immediate failure on transient API server slowness. A new Kubernetes client โ€” and with it a new HTTP connection pool โ€” was being created for every single resource that needed a namespace ensured; it is now
    created once per reconciliation pass.
    PR: sveltos-applier #89 (projectsveltos/sveltos-applier#89)

    sveltos-agent: Handful Bugs in the Evaluation Package
    Nine bugs in the evaluation package have been corrected.
    PR: sveltos-agent #490 (projectsveltos/sveltos-agent#490)


    ๐Ÿ”ง Maintenance

    • All components advanced to Go v1.26.4
    • All components advanced to golangci-lint v1.12.1

    Open source โ†’
    Additional notes

    v1.11.0

    Compare

    Choose a tag to compare

    Open source โ†’
  15. v1.10.1-0.20260608135832-407eefd2888d8 Jun 2026pre-release

    Nothing published for this version

  16. v1.10.1-0.20260607134513-fa510616ae647 Jun 2026pre-release

    Nothing published for this version

  17. v1.10.1-0.20260606155546-67dfbd5130176 Jun 2026pre-release

    Nothing published for this version

  18. v1.10.1-0.20260604131817-9834cc9d66114 Jun 2026pre-release

    Nothing published for this version

  19. v1.10.1-0.20260603153140-e97efd6e49083 Jun 2026pre-release

    Nothing published for this version

  20. v1.10.1-0.20260601155128-1b53d7e6c13b1 Jun 2026pre-release

    Nothing published for this version

  21. v1.10.1-0.20260530102009-9011f39220b130 May 2026pre-release

    Nothing published for this version

  22. v1.10.1-0.20260529145402-ad8e92d1b66929 May 2026pre-release

    Nothing published for this version

  23. v1.10.1-0.20260528132700-0af441e209ac28 May 2026pre-release

    Nothing published for this version

  24. v1.10.1-0.20260526191023-2de96ecb530926 May 2026pre-release

    Nothing published for this version

  25. v1.10.1-0.20260525165759-45f93f548c0625 May 2026pre-release

    Nothing published for this version

  26. v1.10.1-0.20260525082255-191cde87141325 May 2026pre-release

    Nothing published for this version

  27. v1.10.1-0.20260524152259-37aa108c502724 May 2026pre-release

    Nothing published for this version

  28. v1.10.1-0.20260523193958-dfd5360438e823 May 2026pre-release

    Nothing published for this version

  29. v1.10.1-0.20260523065014-834c97223de023 May 2026pre-release

    Nothing published for this version

  30. v1.10.1-0.20260522074550-5673316ef28622 May 2026pre-release

    Nothing published for this version

  31. v1.10.1-0.20260521174534-4c027ffe680921 May 2026pre-release

    Nothing published for this version

  32. v1.10.1-0.20260521054544-7accbae59a2a21 May 2026pre-release

    Nothing published for this version

  33. v1.10.1-0.20260520193136-83a31506b45820 May 2026pre-release

    Nothing published for this version

  34. v1.10.1-0.20260516131711-a466817b087c16 May 2026pre-release

    Nothing published for this version

  35. v1.10.015 May 2026
    Release notes

    ๐Ÿš€ New Features

    OIDC Authentication in Dashboard

    Users can now log into the Sveltos dashboard using OpenID Connect (Authorization Code Flow with a public client), as an alternative to manual token authentication.

    PR: dashboard #160 (projectsveltos/dashboard#160)

    ๐Ÿž Bug Fixes

    EventManager: Ordered Removal of Resources

    When stale ClusterProfile resources were being cleaned up by the event-manager, referenced resources could be removed before the ClusterProfile was fully deleted, causing ordering violations. Sveltos now waits for stale ClusterProfiles to be fully deleted before removing their referenced resources.

    PR: event-manager #485 (projectsveltos/event-manager#485)


    addon-controller: Guaranteed Helm Chart Handoff Between Profiles

    When a cluster atomically switched from one ClusterProfile to another (both referencing the same Helm chart), a race condition could cause a delete-and-reinstall instead of an in-place upgrade. Sveltos now verifies that every matching profile has had its ClusterSummary fully processed by the chart manager before allowing an uninstall, avoiding unnecessary downtime.

    PR: addon-controller #1780 (#1780)


    addon-controller: Surface Errors for Missing Non-Optional TemplateResourceRefs

    When a non-optional resource referenced in TemplateResourceRefs was missing, no error was reported in the ClusterSummary, making it difficult to diagnose why a profile was not being deployed. The failure message is now surfaced directly in the ClusterSummary status.

    PR: addon-controller #1790 (#1790)


    shard-controller: Correct Flags for Init Container in Agentless Mode

    When running in agentless mode, the agent-in-mgmt-cluster flag was not being set correctly for the addon-controller init container.

    Open source โ†’
    Additional notes

    v1.10.0

    Compare

    Choose a tag to compare

    Open source โ†’
  36. v1.9.1-0.20260515110125-db19aed48a4f15 May 2026pre-release

    Nothing published for this version

  37. v1.9.1-0.20260514072008-1f15e55ba8de14 May 2026pre-release

    Nothing published for this version

  38. v1.9.1-0.20260514063107-cf046018525a14 May 2026pre-release

    Nothing published for this version

  39. v1.9.1-0.20260513181656-ae333f7526c113 May 2026pre-release

    Nothing published for this version

  40. v1.9.1-0.20260513141325-e85d5a906c4d13 May 2026pre-release

    Nothing published for this version

  41. v1.9.1-0.20260512164425-41601094377c12 May 2026pre-release

    Nothing published for this version

  42. v1.9.1-0.20260511195647-3eb4987ca62211 May 2026pre-release

    Nothing published for this version

  43. v1.9.1-0.20260509174502-f59296975bc19 May 2026pre-release

    Nothing published for this version

  44. v1.9.1-0.20260508203449-e2c8d5bc00b58 May 2026pre-release

    Nothing published for this version

  45. v1.9.08 May 2026
    Release notes

    ๐Ÿš€ New Features

    Remote URL Support in PolicyRefs

    Reference YAML content directly from HTTP/HTTPS endpoints: Previously, PolicyRef was limited to ConfigMaps and Secrets, which imposed an ~1 MB size cap. You can now define a remoteURL field pointing to any HTTP/HTTPS URL. Sveltos fetches and redeploys automatically whenever the content changes, driven by a configurable polling interval (default: 5 minutes).

    Optional authentication via secretRef (token, username/password, or CA file) and Go template rendering are fully supported.

    PR: addon-controller #1721


    preDeployChecks

    Gate deployments on cluster readiness: A new preDeployChecks field on ClusterProfile/Profile lets you define conditions that must pass before Sveltos deploys any resource. This provides a built-in operational gate โ€” for example, blocking rollouts until a cluster reaches a healthy state.

    PR: addon-controller #1753


    Avoid Spurious Helm Upgrades

    Stable revision counters after management cluster takeover: When a new management cluster reconciled clusters that already had Helm charts deployed, the absence of stored state caused Sveltos to run helm upgrade on every reconcile even when nothing had changed. Revision counters now remain stable on takeover. Charts with patches: configured and
    ContinuousWithDriftDetection subsequent reconciliations are intentionally unaffected.

    PR: addon-controller #1731


    Show Addons: Filter by Helm Charts or Resources

    Targeted addon inspection in sveltosctl: sveltosctl show addons gains two new flags โ€” --helm-charts to display only Helm releases and --resources to display only Kubernetes resources. This makes it easier to inspect large deployments without noise from unrelated resource types.

    PR: sveltosctl #427


    Dashboard DryRun Information

    Simulation results in the Sveltos dashboard: The Sveltos dashboard now surfaces DryRun simulation results. Operators can review exactly what changes would be applied to each cluster before committing a profile to active mode โ€” without leaving the dashboard.


    ๐Ÿž Bug Fixes

    Drift Detection and KustomizationRefs

    Configuration drift for KustomizationRef-deployed resources was not being detected or repaired. Resources deployed via KustomizationRefs (e.g. through a Flux GitRepository) are now correctly tracked by the drift-detection agent and reconciled when changed out-of-band.

    PR: addon-controller #1723


    Helm Chart Errors in Pull Mode

    Partial ConfigurationBundle instances no longer reach the applier: When processing Helm charts in pull mode, an error mid-flight could cause a partially populated ConfigurationBundle to be committed. The applier would then treat missing resources as deleted, pruning live workloads or deploying broken stacks. Bundle preparation is now atomic โ€” any error discards all
    partial state before it can be committed.

    PR: addon-controller #1725


    ClusterPromotion/ClusterProfile Ordering

    When ClusterPromotion creates ClusterProfile resources, the order of HelmCharts, KustomizationRefs, and PolicyRefs must be preserved. A bug was causing the order in generated ClusterProfile resources to diverge from the ClusterPromotion definition. This is now fixed.

    PR: addon-controller #1736


    EventTrigger: Stale Profiles on EventSource Change

    When an EventTrigger's referenced EventSource was updated, the ClusterProfile, ConfigMap, and Secret resources created for the previous EventSource were left as stale orphans in the management cluster. These are now correctly cleaned up whenever the EventSource reference changes.

    PR: event-manager #472


    DryRun: ClusterSummary Preserved When Cluster Stops Matching

    When a ClusterProfile simultaneously changed its cluster selector (deselecting a cluster) and switched to DryRun mode, the system immediately deleted the ClusterSummary and ran undeploy logic โ€” leaving no ClusterReport behind. Sveltos now keeps the ClusterSummary alive in DryRun scenarios, generates a ClusterReport for the diff, and defers actual cleanup until
    DryRun mode is exited.

    PR: addon-controller #1749


    Shard Controller: Cluster Shard Tracking

    The shard controller was building its internal cluster map key from an uninitialized object (before the Get call), so every reconcile wrote to the same empty namespace/name key, corrupting the cluster-to-shard map. Cluster shard tracking now correctly identifies clusters by their actual namespace and name.

    PR: shard-controller #208


    ClusterConfiguration OwnerReference Updates

    Incorrect logic when updating ClusterConfiguration ownerReferences was causing instances to be erroneously deleted. This is now fixed.

    PR: addon-controller #1759


    ๐Ÿค– MCP Server Tools

    list_pending_profiles_for_cluster

    Identify why a profile update is blocked: Given a cluster reference, this new tool scans all ClusterProfile and Profile resources and returns those whose update to that cluster is currently pending, together with a structured reason. Two reasons are surfaced: ClusterSuspended (the cluster is paused or outside its active window) and MaxUpdateThrottle (the cluster is
    queued behind others under a MaxUpdate limit).

    PR: mcp-server #47


    list_dryrun_changes_for_cluster

    Preview changes before they apply: This tool surfaces the simulated changes that DryRun-mode profiles would apply to a given managed cluster. Results are organized across three categories โ€” Helm release changes, resource changes (from policy refs or pull-mode templates), and Kustomize changes โ€” with no-op entries suppressed for clarity. Each result also includes a
    hasChanges summary flag.

    PR: mcp-server #48


    โšก Optimizations

    ResourceSummary Collection

    Unnecessary network calls to managed clusters to check or remove ResourceSummary instances are now skipped when the sync mode is not ContinuousWithDriftDetection and no ResourceSummary was ever deployed. This eliminates spurious reconcile failures and 10-second retry loops against unreachable clusters.

    PRs: addon-controller #1735, #1750


    Report Collection at Scale (Agentless Mode)

    EventReport, HealthCheckReport, ReloaderReport, and ClassifierReport collection in agentless mode has been optimized across event-manager, healthcheck-manager, and classifier. All reports are now fetched in a single management-cluster query instead of one query per managed cluster. Collection is also skipped entirely for clusters with no matching EventTrigger,
    ClusterHealthCheck, or reloader-enabled profile. In environments with more than 50 clusters, up to 5 parallel workers are used to parallelise report processing.

    PRs: event-manager #475, healthcheck-manager #398, classifier #465

    Open source โ†’
    Additional notes

    v1.9.0

    Compare

    Choose a tag to compare

    Open source โ†’
  46. v1.8.1-0.20260506175023-b6237da78bc06 May 2026pre-release

    Nothing published for this version

  47. v1.8.1-0.20260506050746-aa812aab12e16 May 2026pre-release

    Nothing published for this version

  48. v1.8.1-0.20260505133008-bac3e03e07fa5 May 2026pre-release

    Nothing published for this version

  49. v1.8.1-0.20260504174721-6a54bd9d1b214 May 2026pre-release

    Nothing published for this version

  50. v1.8.1-0.20260503201839-a7d2f7755fe73 May 2026pre-release

    Nothing published for this version

  51. v1.8.1-0.20260501123148-51b70adbe49b1 May 2026pre-release

    Nothing published for this version

  52. v1.8.1-0.20260430193734-58eeabc2c65530 Apr 2026pre-release

    Nothing published for this version

  53. v1.8.1-0.20260430153734-63c425d617fb30 Apr 2026pre-release

    Nothing published for this version

  54. v1.8.1-0.20260430082712-83835e6443f130 Apr 2026pre-release

    Nothing published for this version

  55. v1.8.1-0.20260428160113-abc37b7c00ac28 Apr 2026pre-release

    Nothing published for this version

  56. v1.8.1-0.20260428072916-9167c52ede6728 Apr 2026pre-release

    Nothing published for this version

  57. v1.8.1-0.20260427070740-1b92aa13170b27 Apr 2026pre-release

    Nothing published for this version

  58. v1.8.1-0.20260426111514-eca8f54b8e4826 Apr 2026pre-release

    Nothing published for this version

  59. v1.8.1-0.20260425142249-46612ee1f36825 Apr 2026pre-release

    Nothing published for this version

  60. v1.8.1-0.20260423194303-2fbd8e9fb3f123 Apr 2026pre-release

    Nothing published for this version