Release v1.9.0 #1774
gianlucam76
announced in
Announcements
Release v1.9.0
#1774
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
🚀 New Features
Remote URL Support in PolicyRefs
Reference YAML content directly from HTTP/HTTPS endpoints: Previously,
PolicyRefwas limited to ConfigMaps and Secrets, which imposed an ~1 MB size cap. You can now define aremoteURLfield 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
preDeployChecksfield onClusterProfile/Profilelets 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 upgradeon every reconcile even when nothing had changed. Revision counters now remain stable on takeover. Charts withpatches:configured andContinuousWithDriftDetectionsubsequent reconciliations are intentionally unaffected.PR: addon-controller #1731
Show Addons: Filter by Helm Charts or Resources
Targeted addon inspection in
sveltosctl:sveltosctl show addonsgains two new flags —--helm-chartsto display only Helm releases and--resourcesto 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 viaKustomizationRefs(e.g. through a FluxGitRepository) 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
ConfigurationBundleinstances no longer reach the applier: When processing Helm charts in pull mode, an error mid-flight could cause a partially populatedConfigurationBundleto 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 allpartial state before it can be committed.
PR: addon-controller #1725
ClusterPromotion/ClusterProfile Ordering
When
ClusterPromotioncreatesClusterProfileresources, the order ofHelmCharts,KustomizationRefs, andPolicyRefsmust be preserved. A bug was causing the order in generatedClusterProfileresources to diverge from theClusterPromotiondefinition. This is now fixed.PR: addon-controller #1736
EventTrigger: Stale Profiles on EventSource Change
When an
EventTrigger's referencedEventSourcewas updated, theClusterProfile,ConfigMap, andSecretresources created for the previousEventSourcewere left as stale orphans in the management cluster. These are now correctly cleaned up whenever theEventSourcereference changes.PR: event-manager #472
DryRun: ClusterSummary Preserved When Cluster Stops Matching
When a
ClusterProfilesimultaneously changed its cluster selector (deselecting a cluster) and switched toDryRunmode, the system immediately deleted theClusterSummaryand ran undeploy logic — leaving noClusterReportbehind. Sveltos now keeps theClusterSummaryalive in DryRun scenarios, generates aClusterReportfor the diff, and defers actual cleanup untilDryRun 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
Getcall), so every reconcile wrote to the same emptynamespace/namekey, 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
ClusterConfigurationownerReferenceswas 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
ClusterProfileandProfileresources 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) andMaxUpdateThrottle(the cluster isqueued behind others under a
MaxUpdatelimit).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
hasChangessummary flag.PR: mcp-server #48
⚡ Optimizations
ResourceSummary Collection
Unnecessary network calls to managed clusters to check or remove
ResourceSummaryinstances are now skipped when the sync mode is notContinuousWithDriftDetectionand noResourceSummarywas 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, andClassifierReportcollection 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 matchingEventTrigger,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
Beta Was this translation helpful? Give feedback.
All reactions