Reference

stormforge

Release with Confidence

Synopsis

Command line interface for the StormForge products.

Options

      --sfconfig file   configuration file to use
  -h, --help            help for stormforge

SEE ALSO

stormforge apply

Apply one or more recommendations

Synopsis

Apply recommendations.

Applies the latest available recommendation for each workload. If SCHEDULE is specified, the latest recommendation will only be applied if it was generated using that schedule.

stormforge apply [flags]

Options

  -l, --selector query        selector (label query) to filter on
      --state value           state values to filter on; any of: Generated|Applied
      --cluster name          cluster name to filter on
      --resource type         workload resource type to filter on
      --namespace namespace   workload namespace to filter on
      --name name             workload name to filter on
      --recommendation name   workload recommendation name to filter on
      --force                 do not skip preliminary recommendations
  -h, --help                  help for apply

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge auth

Manage authorizations

Synopsis

Manage your StormForge authorizations.

stormforge auth

Options

  -h, --help   help for auth

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge auth create

Create an authorization

Synopsis

Create a new StormForge authorization.

stormforge auth create NAME [flags]

Examples

  # Create a values.yaml file for installing a StormForge product with Helm
  stormforge auth create my-token-name > stormforge-values.yaml

  # Create an organization wide secret with a StormForge token for GitHub Actions
  gh secret set --org myOrg STORMFORGE_TOKEN <(stormforge auth create -o token github-actions)

Options

  -o, --output format   output format; one of: yaml|json|token (default "yaml")
  -h, --help            help for auth create

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge auth list

List authorizations

Synopsis

List StormForge authorizations.

stormforge auth list [flags]

Options

  -o, --output format          output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers             don't print headers
      --template go-template   template string to use for '-o go-template'
  -h, --help                   help for auth list

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge auth revoke

Revoke authorizations

Synopsis

Revokes a StormForge authorization.

stormforge auth revoke AUTHORIZATION... [flags]

Options

  -h, --help   help for auth revoke

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge check

Validate StormForge components

Synopsis

Validates components of the StormForge system.

stormforge check

Options

  -h, --help   help for check

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge check connect

Check server connections

Synopsis

Test the connection to StormForge servers.

stormforge check connect api|auth|in|registry|app|docs|downloads|localhost ... [flags]

Examples

  # Check connectivity from inside a cluster
  kubectl run stormforge-check-connect --attach --rm --restart Never --quiet \
    --image registry.stormforge.io/library/stormforge-cli -- check connect

Options

  -o, --output format          output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers             don't print headers
      --template go-template   template string to use for '-o go-template'
  -h, --help                   help for check connect

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge check nfr

Checks a test run result for non-functional requirements

Synopsis

Checks a test run result for non-functional requirements.

Specify the test run to check with –test-run TESTRUN. TESTRUN can be either the path (e.g. “blackfriday-2022/47”) or its UID reference (e.g. “uid:654321”). The path consists of the test case name and a sequential number and may change, if the test case is renamed.

See https://docs.stormforge.io/perftest/reference/nfr/ for our reference documentation for NFR files.

stormforge check nfr --test-run TESTRUN --from-file FILE [flags]

Examples

  # Check the 2nd test run of test case "blackfriday2022"
  stormforge check nfr --test-run "blackfriday2022/2" --from-file ./loadtest/nfr.yaml

Options

      --test-run reference   reference to the test run to check (name or UID)
      --from-file file       file with the NFR definition
  -o, --output format        output format; one of: json|yaml
  -h, --help                 help for check nfr

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge check version

Check the CLI version

Synopsis

Check the current CLI version.

stormforge check version [flags]

Options

  -h, --help   help for check version

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge completion

Generate the autocompletion script for the specified shell

Synopsis

Generate the autocompletion script for stormforge for the specified shell. See each sub-command’s help for details on how to use the generated script.

stormforge completion

Options

  -h, --help   help for completion

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge completion bash

Generate the autocompletion script for bash

Synopsis

Generate the autocompletion script for the bash shell.

This script depends on the ‘bash-completion’ package. If it is not installed already, you can install it via your OS’s package manager.

To load completions in your current shell session:

source <(stormforge completion bash)

To load completions for every new session, execute once:

Linux:

stormforge completion bash > /etc/bash_completion.d/stormforge

macOS:

stormforge completion bash > $(brew --prefix)/etc/bash_completion.d/stormforge

You will need to start a new shell for this setup to take effect.

stormforge completion bash

Options

      --no-descriptions   disable completion descriptions
  -h, --help              help for completion bash

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge completion fish

Generate the autocompletion script for fish

Synopsis

Generate the autocompletion script for the fish shell.

To load completions in your current shell session:

stormforge completion fish | source

To load completions for every new session, execute once:

stormforge completion fish > ~/.config/fish/completions/stormforge.fish

You will need to start a new shell for this setup to take effect.

stormforge completion fish [flags]

Options

      --no-descriptions   disable completion descriptions
  -h, --help              help for completion fish

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge completion powershell

Generate the autocompletion script for powershell

Synopsis

Generate the autocompletion script for powershell.

To load completions in your current shell session:

stormforge completion powershell | Out-String | Invoke-Expression

To load completions for every new session, add the output of the above command to your powershell profile.

stormforge completion powershell [flags]

Options

      --no-descriptions   disable completion descriptions
  -h, --help              help for completion powershell

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge completion zsh

Generate the autocompletion script for zsh

Synopsis

Generate the autocompletion script for the zsh shell.

If shell completion is not already enabled in your environment you will need to enable it. You can execute the following once:

echo "autoload -U compinit; compinit" >> ~/.zshrc

To load completions in your current shell session:

source <(stormforge completion zsh)

To load completions for every new session, execute once:

Linux:

stormforge completion zsh > "${fpath[1]}/_stormforge"

macOS:

stormforge completion zsh > $(brew --prefix)/share/zsh/site-functions/_stormforge

You will need to start a new shell for this setup to take effect.

stormforge completion zsh [flags]

Options

      --no-descriptions   disable completion descriptions
  -h, --help              help for completion zsh

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge config

Show the CLI configuration

Synopsis

View StormForge CLI configuration.

The StormForge CLI loads configuration from command line flags, environment variables, and a configuration file (in that order). The location of the file is determined by the --sfconfig flag or the STORMFORGE_CONFIG environment variable (collectively, “the sfconfig”). If the sfconfig DOES NOT contain a file path separator (e.g. ‘config’, the default), the file is resolved relative to the OS specific “user config” directory (’~/.config/stormforge’ on Linux). If the sfconfig DOES contain a path separator (e.g. ‘./sfconfig’), the file is resolved relative to current working directory.

The configuration file may contain sensitive information: for example, after logging in using ‘stormforge login’ the token used to access the StormForge API will be present in the configuration file.

stormforge config [flags]

Options

      --raw                    display the raw configuration file
      --redact                 redact credentials
  -o, --output format          output format; one of: yaml|json|go-template (default "yaml")
      --template go-template   template string to use for '-o go-template'
  -h, --help                   help for config

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create

Create a resource

Synopsis

Creates new StormForge resources.

stormforge create

Options

  -h, --help   help for create

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create cluster

Create a cluster

Synopsis

Creates a new StormForge cluster.

stormforge create cluster NAME [flags]

Options

      --set-label key=value   label key=value pairs to assign (default [])
  -h, --help                  help for create cluster

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create data-source

Creates or updates one or more datasources from files

Synopsis

Creates or updates (upsert operation) a datasource resource that can be referenced in a performance test by uploading one or more files.

stormforge create data-source --from-file=FILE... [flags]

Options

  -f, --from-file filename        filename of raw or structured data file(s) to upload (specify multiple times to upload multiple files)
  -r, --raw                       enable to upload file as raw fixture
  -n, --name name                 name for the file fixture
  -p, --name-prefix-path prefix   prefix for name for the file fixture
  -d, --delimiter delimiter       column delimiter (defaults to ',' for structured file fixtures)
      --fields fields             comma-separated list of fields
      --auto-field-names          enable to interpret first row as headers
  -o, --output format             output format; one of: json|yaml
  -h, --help                      help for create data-source

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create recommendations

Create recommendations

Synopsis

Creates new StormForge recommendations.

stormforge create recommendations [flags]

Options

      --set-label key=value   label key=value pairs to assign (default [])
      --auto-deploy           automatically deploy the recommendation
      --wait                  wait for auto-deployed recommendations to be applied
      --timeout dur           duration to wait for recommendations to be applied (default 10m0s)
      --chunk-size n          fetch large lists in chunks rather then all at once (default 1000)
  -l, --selector query        selector (label query) to filter on
      --state value           state values to filter on; any of: Created|Inactive|all
      --cluster name          cluster name to filter on
      --resource type         workload resource type to filter on
      --namespace namespace   workload namespace to filter on
      --name name             workload name to filter on
  -h, --help                  help for create recommendations

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create test-case

Creates or updates a new test case for performance testing

Synopsis

Creates or updates (upserts) a new test case based on the provided name and javascript definition for performance testing.

Bundling

This command performs bundling on the javascript definition. See the bundling help page for more details.

Dry Run

This command supports a –dry-run= flag to perform a dry run of the create operation to validate aspects of the provided test case configuration. No changes will be committed during the dry run. The only currently supported type of dry run is ‘javascript’ (–dry-run=javascript), which will validate the syntax of the provided test case javascript file ONLY.

stormforge create test-case NAME --from-file FILE [flags]

Options

  -f, --from-file file          javascript file containing the test case definition
      --define variable=value   defines a list of variable=value while bundling the javascript definition e.g. debug=false
      --dry-run type            type must equal 'javascript' (--dry-run=javascript). Performs a dry run to validate javascript syntax only
      --no-update               causes the create option to be strict, failing if there is an existing test case with the same name or UID (insert only, not upsert)
  -o, --output format           output format; one of: json|yaml
  -h, --help                    help for create test-case

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create test-run

Launches a new test run

Synopsis

Launches a new test run based on a test case.

Metadata

You can provided additional metadata about the test run like which version of the test target is deployed with the –title, –notes and –label flags.

Validate

You can create a test run in validation mode with –validate. This will ignore defined arrival phases and only launch a single user for each defined session to help debug the test case definition.

It also enables a basic check of the test run report for some common problems like did all requests succeed or did any checks fail. You can overwrite this by providing your own NFR checks with –nfr-check-file.

Bundling

This command performs bundling on the javascript definition. See the bundling help page for more details.

Metrics Export

You can automatically export some basic statistics about your test run by setting the –metrics-output flag or the PUSHGATEAWY_URL environment variable. The destination can be either a filename or a URL. This implies –watch. The basic_statistics will be written or POSTed in the Prometheus text format to the destination.

stormforge create test-run --test-case TESTCASE [flags]

Examples

  # Perform a validation run
  stormforge create test-run --test-case blackfriday2022 --from-file ./loadtest.mjs --validate

  # Perform a load test with some metadata from your environment
  # and check NFR requirements afterwards
  stormforge create test-run --test-case blackfriday2022 \
    --title "${CI_JOB}" --label "git.commit=$(git describe --always)" \
    --nfr-check-file "./nfr.yaml"

Options

      --validate                     runs test case in validation mode and checks report for via NFR check (implies --watch)
      --from-file file               file with javascript definition to update the test case to before launching
      --nfr-check-file file          check test result against NFR definition from file (implies --watch)
      --test-case reference          test case reference that should be used to launch the test run (name or UID)
      --pool pool                    overwrites the pool / region to launch the test run in
      --sizing sizing                overwrites the cluster sizing to launch the test run in
      --watch                        enables watching the test run until it finishes or the timeout is reached
      --watch-timeout seconds        maximum duration in seconds to wait for the test case to finish
      --skip-wait                    skips wait() calls during test run execution, if enabled
      --title title                  title for the test run
      --notes notes                  notes for the test run - markdown formatting supported
      --label label=value            adds a label to the test run (format: label=value)
      --label-file file              reads labels from a file
      --metrics-output destination   destination for metrics export after the test run finishes (implies --watch)
      --define variable=value        defines a list of variable=value while bundling the javascript definition e.g. debug=false
  -o, --output format                output format; one of: json|yaml
  -h, --help                         help for create test-run

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge create test-run-share-url

Creates a shareable URL for a test run report

Synopsis

Creates a shareable URL for a Performance Testing test run report that can be accessed without a login.

stormforge create test-run-share-url TESTRUN [flags]

Options

      --expire-duration lifetime   lifetime for this token, e.g. 2s or 5m (default is determined by the API)
  -o, --output format              output format; one of: json|yaml
  -h, --help                       help for create test-run-share-url

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge delete

Delete one or more resources

Synopsis

Deletes StormForge resources.

stormforge delete

Options

  -h, --help   help for delete

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge delete clusters

Delete one or more clusters

Synopsis

Deletes StormForge clusters.

stormforge delete clusters CLUSTER_NAME... [flags]

Options

  -o, --output format      output format; "name"
      --ignore-not-found   ignore not found errors
  -h, --help               help for delete clusters

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge delete data-source

Delete one or more datasources

Synopsis

Deletes the specified datasource resources including all versions.

REFERENCE can be either the data source name or its UID reference (e.g. “uid:123456”).

stormforge delete data-source REFERENCE [REFERENCE...] [flags]

Options

  -o, --output format   output format; one of: json|yaml
  -h, --help            help for delete data-source

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge delete workloads

Delete one or more workloads

Synopsis

Deletes StormForge workloads.

stormforge delete workloads [flags]

Options

  -o, --output format         output format; "name"
  -l, --selector query        selector (label query) to filter on
      --state value           state values to filter on; any of: Created|Inactive|all
      --cluster name          cluster name to filter on
      --resource type         workload resource type to filter on
      --namespace namespace   workload namespace to filter on
      --name name             workload name to filter on
  -h, --help                  help for delete workloads

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit

Edit a resource

Synopsis

Updates information on a StormForge resource.

stormforge edit

Options

  -h, --help   help for edit

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit cluster

Edit a cluster

Synopsis

Updates information on a StormForge cluster.

stormforge edit cluster NAME [flags]

Examples

  # Set the instance category label to "karpenter.k8s.aws/instance-category" with the possible values "c", "m", and "r"
  # NOTE: when setting instance category values, you replace the configuration and must provide all possible values
  stormforge edit cluster my-cluster \
    --set-instance-category-key "karpenter.k8s.aws/instance-category" \
    --set-instance-category "c,2,Compute Optimized" \
    --set-instance-category "m,4,General Purpose" \
    --set-instance-category "r,8,Memory Optimized"

  # Reset the instance category configuration for this cluster back to the default values
  stormforge edit cluster my-cluster \
    --set-instance-category-key "-" \
    --reset-instance-categories

Options

      --dry-run mode                             dry run mode used to apply manifests; one of: none|server|client
  -o, --output format                            output format; one of: json|yaml
      --set-label key=value                      label key=value pairs to assign (default [])
      --reset-uid                                reset the Kubernetes identifier associated with the cluster
      --set-instance-category-key label          set the instance category label key
      --set-instance-category name,ratio,title   set one of the instance categories as name,ratio,title
      --reset-instance-categories                reset the instance categories associated with the cluster
  -h, --help                                     help for edit cluster

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit test-case

Update test case with new javascript definition

Synopsis

Updates a test case given by REFERENCE with a new javascript definition after bundling it.

REFERENCE may either be the name of a test case or the uid of a test case prefixed by ‘uid:’, i.e. uid:XXXXXXXX

Bundling

This command performs bundling on the javascript definition. See the bundling help page for more details.

stormforge edit test-case REFERENCE --from-file FILE [flags]

Options

  -f, --from-file file          javascript file containing the test case definition
      --define variable=value   defines a list of variable=value while bundling the javascript definition e.g. debug=false
  -o, --output format           output format; one of: json|yaml
  -h, --help                    help for edit test-case

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit workloads

Edit one or more workloads

Synopsis

Updates information on a StormForge workloads.

stormforge edit workloads [flags]

Options

      --set-label key=value   label key=value pairs to assign (default [])
  -f, --filename name         patch file name
      --type type             patch type; one of: json|strategic (default "strategic")
      --dry-run mode          dry run mode used to apply manifests; one of: none|server|client
  -l, --selector query        selector (label query) to filter on
      --state value           state values to filter on; any of: Created|Inactive|all
      --cluster name          cluster name to filter on
      --resource type         workload resource type to filter on
      --namespace namespace   workload namespace to filter on
      --name name             workload name to filter on
  -o, --output format         output format; one of: json|yaml
  -h, --help                  help for edit workloads

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit workloads container-resources

Edit the container resources of one or more workloads

Synopsis

Updates workload container resource settings.

stormforge edit workloads container-resources [flags]

Options

      --dry-run mode                                  dry run mode used to apply manifests; one of: none|server|client
  -l, --selector query                                selector (label query) to filter on
      --state value                                   state values to filter on; any of: Created|Inactive|all
      --cluster name                                  cluster name to filter on
      --resource type                                 workload resource type to filter on
      --namespace namespace                           workload namespace to filter on
      --name name                                     workload name to filter on
  -o, --output format                                 output format; one of: json|yaml
      --pod-name name                                 pod name to update
      --requests-only container                       container names to skip limit optimization
      --requests-raise-limits-if-needed container     container names to raise the limits on
      --requests-and-limits container                 container names to set both requests and limits
      --do-not-optimize container                     container names to omit from optimization
      --cpu-optimization-goal container=goal          container=goal mappings for CPU; goal is one of: savings|balanced|reliability (default [])
      --cpu-optimization-policy container=policy      container=policy mappings for CPU; policy is one of: DoNotOptimize|RequestsAndLimits|RequestsRaiseLimitsIfNeeded|RequestsOnly (default [])
      --cpu-requests-min container=min                container=min mappings for CPU (default [])
      --cpu-requests-max container=max                container=max mappings for CPU (default [])
      --cpu-limits-min container=min                  container=min mappings for CPU (default [])
      --cpu-limits-max container=max                  container=max mappings for CPU (default [])
      --cpu-limit-request-ratio container=ratio       container=ratio mappings for CPU (default [])
      --memory-optimization-goal container=goal       container=goal mappings for memory; goal is one of: savings|balanced|reliability (default [])
      --memory-optimization-policy container=policy   container=policy mapping for memory; policy is one of: DoNotOptimize|RequestsAndLimits|RequestsRaiseLimitsIfNeeded|RequestsOnly (default [])
      --memory-requests-min container=min             container=min mappings for memory (default [])
      --memory-requests-max container=max             container=max mappings for memory (default [])
      --memory-limits-min container=min               container=min mappings for memory (default [])
      --memory-limits-max container=max               container=max mappings for memory (default [])
      --memory-limit-request-ratio container=ratio    container=ratio mappings for memory (default [])
  -h, --help                                          help for container-resources

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit workloads handlers

Edit the handler configurations of one or more workloads

Synopsis

Updates workload recommendation handler settings.

stormforge edit workloads handlers [flags]

Options

      --dry-run mode                                               dry run mode used to apply manifests; one of: none|server|client
  -l, --selector query                                             selector (label query) to filter on
      --state value                                                state values to filter on; any of: Created|Inactive|all
      --cluster name                                               cluster name to filter on
      --resource type                                              workload resource type to filter on
      --namespace namespace                                        workload namespace to filter on
      --name name                                                  workload name to filter on
  -o, --output format                                              output format; one of: json|yaml
      --auto-deploy                                                enable an automatic deployment
      --auto-deploy-thresholds-min-unit-change-cpu value           minimum CPU value change
      --auto-deploy-thresholds-min-percent-change-cpu percent      minimum CPU percent change
      --auto-deploy-thresholds-min-unit-change-memory value        minimum memory value change
      --auto-deploy-thresholds-min-percent-change-memory percent   minimum memory percent change
  -h, --help                                                       help for handlers

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit workloads schedule

Edit the schedule of one or more workloads

Synopsis

Updates workload recommendation schedule settings.

stormforge edit workloads schedule [flags]

Options

      --dry-run mode          dry run mode used to apply manifests; one of: none|server|client
  -l, --selector query        selector (label query) to filter on
      --state value           state values to filter on; any of: Created|Inactive|all
      --cluster name          cluster name to filter on
      --resource type         workload resource type to filter on
      --namespace namespace   workload namespace to filter on
      --name name             workload name to filter on
  -o, --output format         output format; one of: json|yaml
      --default               reset to the default schedule
      --daily                 schedule daily recommendations
      --weekly                schedule weekly recommendations
      --monthly               schedule monthly recommendations
      --never                 do not create regularly scheduled recommendations
      --cron expression       schedule recommendations using a cron expression
      --every duration        schedule recommendations every duration
  -h, --help                  help for schedule

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge edit workloads scheduling-instance-categories

Edit the node instance categories of one or more workloads

Synopsis

Updates workload node instance category settings.

stormforge edit workloads scheduling-instance-categories [flags]

Options

      --pod-name name                pod name to update
      --reset                        reset to defaults
      --node-affinity-type type      node affinity type to use; one of: soft|hard (default "soft")
      --node-affinity-weight 1-100   preferred node affinity weight (1-100)
      --do-not-optimize              do not optimize node instance categories
      --dry-run mode                 dry run mode used to apply manifests; one of: none|server|client
  -l, --selector query               selector (label query) to filter on
      --state value                  state values to filter on; any of: Created|Inactive|all
      --cluster name                 cluster name to filter on
      --resource type                workload resource type to filter on
      --namespace namespace          workload namespace to filter on
      --name name                    workload name to filter on
  -o, --output format                output format; one of: json|yaml
  -h, --help                         help for scheduling-instance-categories

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get

Display one or more resources

Synopsis

Formats information for StormForge resources.

stormforge get

Options

  -h, --help   help for get

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get clusters

Display one or more clusters

Synopsis

Formats information for StormForge clusters.

stormforge get clusters CLUSTER_NAME... [flags]

Options

  -o, --output format             output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers                don't print headers
      --show-labels               when printing, show all labels as the last column
      --template go-template      template string to use for '-o go-template'
      --sort-by column            sort using column name; one of: name|optimize_live_version|kubernetes_version|agent_version|applier_version|status|age
      --field-selector selector   field selector to perform client side filtering with, supports sort-by fields
      --chunk-size n              fetch large lists in chunks rather then all at once (default 1000)
  -l, --selector query            selector (label query) to filter on
      --state value               state values to filter on; any of: Created|Inactive|all
      --show-node-labels          show node labels
  -h, --help                      help for get clusters

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get data-sources

Lists all available data sources

Synopsis

Lists all available data sources for performance testing.

stormforge get data-sources [flags]

Options

      --only filter            filter for datasources (structured, raw)
  -o, --output format          output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers             don't print headers
      --template go-template   template string to use for '-o go-template'
  -h, --help                   help for get data-sources

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get recommendations

Display one or more recommendations

Synopsis

Formats information for StormForge recommendations.

stormforge get recommendations [flags]

Options

  -o, --output format             output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers                don't print headers
      --show-labels               when printing, show all labels as the last column
      --template go-template      template string to use for '-o go-template'
      --sort-by column            sort using column name; one of: cluster|namespace|type|name|timestamp|status
      --field-selector selector   field selector to perform client side filtering with, supports sort-by fields
      --chunk-size n              fetch large lists in chunks rather then all at once (default 1000)
  -l, --selector query            selector (label query) to filter on
      --state value               state values to filter on; any of: Requested|Generated|FailedToGenerate|Ready|Applied|FailedToApply|Inactive|all (default [Generated,FailedToGenerate,Ready,Applied,FailedToApply])
      --cluster name              cluster name to filter on
      --resource type             workload resource type to filter on
      --namespace namespace       workload namespace to filter on
      --name name                 workload name to filter on
      --patches                   show the recommendation patches instead
  -h, --help                      help for get recommendations

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get test-cases

Returns a test case or its javascript definition

Synopsis

Prints one or more test cases or their javascript definition.

stormforge get test-cases [test case identifier ...] [flags]

Options

      --only filter            filter for test cases (all, archived)
      --javascript             download JavaScript definition for specified test case
  -o, --output format          output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers             don't print headers
      --template go-template   template string to use for '-o go-template'
  -h, --help                   help for get test-cases

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get test-runs

Returns a test run

Synopsis

Prints a list of test runs for a single test case (with –test-case) or all. Alternatively, you can specify a single test run.

To print the test runs for a specific test case, you have to specify that test case with –test-case TESTCASE. TESTCASE can be either the test case name (e.g. “blackfriday-2022”) or its UID reference (e.g. “uid:123456”).

To print a single test run, pass it as an argument. This can be either the path (e.g. “blackfriday-2022/47”) or its UID reference (e.g. “uid:654321”). The path consists of the test case name and a sequential number and may change, if the test case is renamed.

Use the –only filter to only show test runs with specific conditions, e.g. archived or in-progress test runs.

Metrics Export

You can automatically export some basic statistics about your test run by setting the –metrics-output flag or the PUSHGATEAWY_URL environment variable. The destination can be either a filename or a URL. This implies –watch. The basic_statistics will be written or POSTed in the Prometheus text format to the destination.

stormforge get test-runs [--test-case=TESTCASE | TESTRUN] [flags]

Options

      --test-case reference          test case reference that should be used to launch the test run (name or UID)
      --only filter                  filter test runs to only show 'archived', 'in-progress' or 'all' test runs
      --watch                        watches test run until it reaches a terminal state - prints progress updates
      --watch-timeout seconds        maximum duration in seconds to wait for the test case to finish
      --metrics-output destination   destination for metrics export after the test run finishes (implies --watch)
  -o, --output format                output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers                   don't print headers
      --template go-template         template string to use for '-o go-template'
  -h, --help                         help for get test-runs

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge get workloads

Display one or more workloads

Synopsis

Formats information for StormForge workloads.

stormforge get workloads [flags]

Options

  -o, --output format             output format; one of: json|yaml|name|wide|csv|custom-columns|go-template
      --no-headers                don't print headers
      --show-labels               when printing, show all labels as the last column
      --template go-template      template string to use for '-o go-template'
      --full-fetch                force full fetches (e.g. to populate 'UNAVAILABLE' fields)
      --show-impact               include impact details in output, if available
      --impact-total              only fetch aggregated impact data
      --impact over|under         show only over|under-provisioned workloads; one of: over|under
      --sort-by column            sort using column name; one of: cluster|namespace|type|name|efficiency|impact|status|reason|message|age
      --field-selector selector   field selector to perform client side filtering with, supports sort-by fields
      --chunk-size n              fetch large lists in chunks rather then all at once (default 1000)
  -l, --selector query            selector (label query) to filter on
      --state value               state values to filter on; any of: Created|Inactive|all
      --cluster name              cluster name to filter on
      --resource type             workload resource type to filter on
      --namespace namespace       workload namespace to filter on
      --name name                 workload name to filter on
  -h, --help                      help for get workloads

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge login

Create an authorization

Synopsis

Log into your StormForge account.

stormforge login [SERVER] [flags]

Examples

  # Login using your workstation's default web browser.
  stormforge login

  # If a web browser is not locally available, or if the workstation is
  # restricted from listening on port 8085, it may be necessary to perform the
  # authorization from another device. Use the "--url" flag to get a URL that
  # can entered into a web browser manually.
  stormforge login --url

  # If you are having problems logging in, try using `stormforge check connect`
  # to troubleshoot any connection issues.

Options

      --url    display the URL instead of opening a browser
      --qr     display a QR code instead of opening a browser
  -h, --help   help for login

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge logout

Revoke an authorization

Synopsis

Log out of your StormForge Account.

stormforge logout [flags]

Options

  -h, --help   help for logout

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge patch

Deploy patches to a cluster or source

Synopsis

Patch Kubernetes manifests using StormForge recommendations.

Downloads the selected recommendation as patches and applies them, either to a Kubernetes cluster or to local manifest files.

Using this command is roughly equivalent to first downloading StormForge patches, then using the patches with kubectl patch or kustomize build.

stormforge patch [FILE...] [flags]

Examples

  # Download and apply recommendation patches for a single workload. Patches
  # will be applied directly to resources on a cluster
  stormforge patch --cluster=CLUSTER --namespace=NS \
    --resource=RSRC --name=NAME --recommendation=RECOMMENDATION_ID

  # Download and apply recommendation patches for a single workload. Patches
  # will be applied to a local yaml manifest, the result printed to stdout
  stormforge patch --cluster=CLUSTER --namespace=NS \
    --resource=RSRC --name=NAME --recommendation=RECOMMENDATION_ID \
    /path/to/manifest.yaml

  # Download and apply recommendation patches for a single workload. Patches
  # will be applied to a local yaml manifest, the result saved in-place
  stormforge patch --cluster=CLUSTER --namespace=NS \
    --resource=RSRC --name=NAME --recommendation=RECOMMENDATION_ID \
    --in-place /path/to/manifest.yaml

Options

  -d, --directory dir                           directory to write patches to (instead of applying them)
      --filename-pattern pattern                filename pattern to write patches to (default "{Kind}_{Name}.json")
  -l, --selector query                          selector (label query) to filter on
      --state value                             state values to filter on; any of: Generated|Ready|Applied|Inactive
      --cluster name                            cluster name to filter on
      --resource type                           workload resource type to filter on
      --namespace namespace                     workload namespace to filter on
      --name name                               workload name to filter on
      --recommendation name                     workload recommendation name to filter on
      --in-place                                patch file system resource in-place WITHOUT backups
      --skip-apply                              do mark the recommendation as 'Applied' when patching cluster resources
      --dry-run mode                            dry run mode used to apply manifests; one of: none|server|client
      --kubeconfig file                         path to the kubeconfig file to use for CLI requests
      --context name                            the name of the kubeconfig context to use
      --cluster-context cluster=context         a cluster=context mapping of cluster name to kubeconfig context name to use (default [])
      --cluster-kubeconfig cluster=kubeconfig   a cluster=kubeconfig mapping of cluster name to kubeconfig file to use (default [])
  -o, --output format                           output format; one of: json|yaml
  -h, --help                                    help for patch

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge ping

Connect to the StormForge server (also see ‘check connect’)

Synopsis

Check basic connectivity to the configured StormForge API server.

stormforge ping [flags]

Options

  -h, --help   help for ping

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

stormforge version

Show the version information

Synopsis

Display the full version information for the application.

stormforge version [flags]

Options

  -h, --help                   help for version
  -o, --output format          output format
      --template go-template   template string to use for '-o go-template'

Options inherited from parent commands

      --sfconfig file   configuration file to use

SEE ALSO

Last modified December 16, 2024