CtrlK
BlogDocsLog inGet started
Tessl Logo

dirien/pulumi-skills

Pulumi infrastructure-as-code and Flux CD GitOps skills for Claude Code with ESC, OIDC, and cloud provider best practices.

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Overview
Quality
Evals
Security
Files

commands-cluster-ops.mdflux-operator-cli/references/

Cluster Operations Commands

These commands require cluster access via ~/.kube/config.


get

Retrieve Flux Operator resources and their status.

get instance

flux-operator get instance [-n <namespace>] [-A]

Retrieves FluxInstance resources.

get rset

flux-operator get rset [-n <namespace>] [-A]

Retrieves ResourceSet resources.

get rsip

flux-operator get rsip [-n <namespace>] [-A]

Retrieves ResourceSetInputProvider resources.

get all

flux-operator get all [-n <namespace>] [-A] [--kind <kind>] [--ready-status <status>] [-o <format>]

Retrieves all Flux resources with their status.

FlagDefaultDescription
-n, --namespaceFilter by namespace
-A, --all-namespacesRetrieve from all namespaces
--kindFilter by resource kind (e.g. Kustomization, HelmRelease)
--ready-statusFilter by status: True, False, Unknown, Suspended
-o, --outputtableOutput format: table, json, yaml

Usage

# All resources across all namespaces
flux-operator get all -A

# Only failing resources
flux-operator get all --ready-status=False

# Only HelmReleases as JSON
flux-operator get all --kind=HelmRelease -o json

# Resources in a specific namespace
flux-operator get all -n production

export

Export Flux resources for backup or migration.

export report

flux-operator export report [-n <namespace>] [-o <format>]

Exports the FluxReport containing distribution status, installed versions, and health.

export resource

flux-operator export resource <kind>/<name> [-n <namespace>] [-o <format>]

Exports a specific Flux resource.

FlagDefaultDescription
-n, --namespaceNamespace scope
-o, --outputyamlOutput format: yaml, json

Usage

# Export the flux report
flux-operator export report -n flux-system

# Export a Kustomization as YAML
flux-operator export resource Kustomization/my-app -n default

# Export a HelmRelease as JSON
flux-operator export resource HelmRelease/nginx -n default -o json

reconcile

Trigger reconciliation of Flux resources.

Subcommands

flux-operator reconcile instance <name> [-n <namespace>] [--wait]
flux-operator reconcile rset <name> [-n <namespace>] [--wait]
flux-operator reconcile rsip <name> [-n <namespace>] [--wait]
flux-operator reconcile resource <kind>/<name> [-n <namespace>] [--wait]
flux-operator reconcile all [-n <namespace>] [--wait]
FlagDescription
-n, --namespaceNamespace scope
--waitWait for reconciliation to complete before returning

Usage

# Reconcile a specific Kustomization and wait
flux-operator reconcile resource Kustomization/my-app -n default --wait

# Reconcile a FluxInstance
flux-operator reconcile instance flux -n flux-system --wait

# Reconcile everything in the cluster
flux-operator reconcile all --wait

suspend

Pause reconciliation of Flux resources. The resource stays in place but won't be reconciled until resumed.

Subcommands

flux-operator suspend instance <name> [-n <namespace>]
flux-operator suspend rset <name> [-n <namespace>]
flux-operator suspend rsip <name> [-n <namespace>]
flux-operator suspend resource <kind>/<name> [-n <namespace>]
FlagDescription
-n, --namespaceNamespace scope

Usage

# Suspend a FluxInstance before maintenance
flux-operator suspend instance flux -n flux-system

# Suspend a specific HelmRelease
flux-operator suspend resource HelmRelease/nginx -n default

resume

Resume reconciliation of a previously suspended resource.

Subcommands

flux-operator resume instance <name> [-n <namespace>] [--wait]
flux-operator resume rset <name> [-n <namespace>] [--wait]
flux-operator resume rsip <name> [-n <namespace>] [--wait]
flux-operator resume resource <kind>/<name> [-n <namespace>] [--wait]
FlagDescription
-n, --namespaceNamespace scope
--waitWait for the first reconciliation after resume to complete

Usage

# Resume and wait for reconciliation
flux-operator resume instance flux -n flux-system --wait

# Resume a HelmRelease
flux-operator resume resource HelmRelease/nginx -n default --wait

delete

Remove Flux Operator resources from the cluster.

Subcommands

flux-operator delete instance <name> [-n <namespace>] [--wait] [--with-suspend]
flux-operator delete rset <name> [-n <namespace>] [--wait] [--with-suspend]
flux-operator delete rsip <name> [-n <namespace>] [--wait] [--with-suspend]
FlagDefaultDescription
-n, --namespaceNamespace scope
--waittrueWait for deletion to complete
--with-suspendfalseSuspend the resource before deleting, leaving managed resources in-place

Usage

# Delete a ResourceSet
flux-operator delete rset my-rset -n default

# Delete but keep managed resources intact
flux-operator delete instance flux -n flux-system --with-suspend

The --with-suspend flag is a safety mechanism: it suspends reconciliation first, then deletes the operator resource. The Kubernetes objects that were managed by the resource remain untouched in the cluster.


stats

Display reconciliation statistics and cumulative storage usage per source type.

flux-operator stats

No additional flags. Shows a summary of how many resources are reconciled, failing, suspended, and the storage consumed by each source type.


trace

Trace a Kubernetes object through the GitOps delivery pipeline.

flux-operator trace <kind>/<name> [-n <namespace>]
FlagDescription
-n, --namespaceNamespace of the object to trace

Identifies which Flux reconciler manages the object and traces back to the original source (Git repository, OCI artifact, Helm chart, etc.).

Usage

# Trace a Deployment
flux-operator trace Deployment/my-app -n default

# Trace a Service
flux-operator trace Service/frontend -n production

tree

Visualize Flux-managed objects as a hierarchical tree.

Subcommands

flux-operator tree rset <name> [-n <namespace>]
flux-operator tree ks <name> [-n <namespace>]
flux-operator tree hr <name> [-n <namespace>]
SubcommandWhat it shows
tree rsetObjects managed by a ResourceSet
tree ksObjects managed by a Kustomization
tree hrObjects managed by a HelmRelease
FlagDescription
-n, --namespaceNamespace scope

Usage

# View the tree of a Kustomization
flux-operator tree ks my-app -n default

# View HelmRelease managed objects
flux-operator tree hr nginx -n default

wait

Poll a resource until it reaches the Ready state or times out.

Subcommands

flux-operator wait instance <name> [-n <namespace>] [--timeout <duration>]
flux-operator wait rset <name> [-n <namespace>] [--timeout <duration>]
flux-operator wait rsip <name> [-n <namespace>] [--timeout <duration>]
FlagDefaultDescription
-n, --namespaceNamespace scope
--timeout1mHow long to wait before giving up (e.g. 5m, 2m30s)

Usage

# Wait up to 5 minutes for an instance to be ready
flux-operator wait instance flux -n flux-system --timeout 5m

install

Bootstrap a cluster with the Flux Operator and a FluxInstance. Downloads the operator distribution from oci://ghcr.io/controlplaneio-fluxcd/flux-operator-manifests and installs into the flux-system namespace.

This command is intended for development and testing. For production, use the Flux Operator installation guide with Helm charts.

Steps performed

  1. Install the Flux Operator
  2. Install a FluxInstance
  3. Configure pull secret (if needed)
  4. Bootstrap from Git or OCI source
  5. Configure auto-updates (if requested)

Key Flags

FlagDescription
-f, --instance-fileFluxInstance YAML (local path, OCI, or HTTPS URL)
--instance-distribution-versionFlux distribution version
--instance-distribution-registryFlux distribution registry
--instance-distribution-artifactFlux distribution OCI artifact
--instance-componentsList of Flux components to install
--instance-components-extraAdditional components beyond the default set
--instance-cluster-typeCluster type: kubernetes, openshift, aws, azure, gcp
--instance-cluster-sizeCluster size: small, medium, large
--instance-cluster-domainCluster domain
--instance-cluster-multitenantEnable multitenant lockdown
--instance-cluster-network-policyRestrict network access
--instance-sync-urlGit or OCI repository URL to sync from
--instance-sync-refGit ref or OCI tag
--instance-sync-pathPath within the repository to the manifests
--instance-sync-credsCredentials in username:token format
--instance-sync-gha-app-idGitHub App ID for auth
--instance-sync-gha-installation-idGitHub App installation ID
--instance-sync-gha-installation-ownerGitHub App installation owner
--instance-sync-gha-private-key-fileGitHub App private key file
--instance-sync-gha-base-urlGitHub Enterprise base URL
--auto-updateEnable automatic updates
--verifyVerify cosign signature
--certificate-identity-regexpCertificate identity regex for verification
--certificate-oidc-issuerOIDC issuer for verification
--trusted-rootPath to trusted_root.json

Usage

# Basic install
flux-operator install

# Install with Git sync
flux-operator install \
  --instance-sync-url=https://github.com/org/fleet \
  --instance-sync-ref=main \
  --instance-sync-path=clusters/production \
  --instance-sync-creds=username:ghp_token

# Install for AWS with large cluster profile
flux-operator install \
  --instance-cluster-type=aws \
  --instance-cluster-size=large \
  --instance-cluster-multitenant

# Install from a custom FluxInstance file
flux-operator install -f custom-instance.yaml

uninstall

Safely remove the Flux Operator and its instance from the cluster.

flux-operator -n <namespace> uninstall [--keep-namespace]

Steps performed

  1. Delete role bindings
  2. Delete deployments
  3. Remove finalizers
  4. Delete CRDs
  5. Delete namespace (unless --keep-namespace)

Does not delete reconciled Kubernetes objects or Helm releases — those remain in the cluster.

FlagDescription
--keep-namespaceDon't delete the namespace after removing the operator

Usage

# Full removal
flux-operator -n flux-system uninstall

# Keep the namespace for reuse
flux-operator -n flux-system uninstall --keep-namespace

version

Display CLI, Flux Operator, and Flux distribution versions.

flux-operator version [--client]
FlagDescription
--clientShow only the client (CLI) version

Usage

# Full version info (requires cluster access)
flux-operator version

# Client version only (no cluster needed)
flux-operator version --client

AGENTS.md

CLAUDE.md

README.md

tile.json