Skip to content

Auto-Apply Option for Cluster Registration in Pull Mode #426

Description

@la-cc

Is your feature request related to a problem? Please describe.

The current cluster registration flow in pull mode requires multiple manual steps:

  • register → generate manifest → manually apply it to the target cluster.

This is time-consuming and requires context switching, especially when working with multiple clusters. It also feels inconsistent compared to push mode, which already simplifies parts of this workflow.

Describe the solution you'd like

Introduce an option like --auto-apply for pull mode that automatically applies the generated manifest to the target (managed) cluster. If the user already has access and context to the managed cluster.

Example:

sveltosctl register cluster \
  --namespace=cluster-0 \
  --cluster=cluster-0 \
  --fleet-cluster-context=cluster-0 \
  --labels=kro=enabled \
  --pullmode \
  --auto-apply

Additionally, since the user is already executing the sveltosctl command, the CLI could handle two contexts:

  • One for the management cluster (registration step)
  • One for the managed cluster (applying the manifest)

Proposed additional flow:

  1. Register cluster against the management cluster
  2. Generate the manifest
  3. Automatically apply it to the managed cluster

This would remove the need for manual context switching and applying manifests.

Describe alternatives you've considered

  • Keeping the current workflow (manual apply after manifest generation)
  • Printing the manifest and applying it via separate tooling/scripts
  • Using push mode where applicable, though it does not fully replace pull mode use cases

Additional context

  • It would be useful to support multiple modes:

    • Print manifest only
    • Print + manual apply
    • Print + auto-apply
  • Aligning pull mode behavior more closely with push mode would improve UX consistency

  • This change would significantly speed up cluster onboarding and reduce operational friction

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions