scalectl command

IBM Storage Scale native REST API includes a new scalectl command-line interface (CLI) to communicate with the IBM Storage Scale control plane. The scalectl command uses the scalectl <resource> <verb> <args> <flags> command structure to invoke the command. Each command and subcommand includes a --help flag that provides details about the command, available flags, and example invocations.

By default, the scalectl CLI attempts to communicate with the unix domain socket (UDS) that is available on a node where IBM Storage Scale is installed and running. Since scalectl is a lightweight client that calls the IBM Storage Scale native REST API, it also supports communication over TCP/IP by using the --url global flag. The same command-line arguments and flags apply, regardless of the communication method.

When scalectl processes long-running operations (LROs), it polls the returned operation name until the request is complete, if the request is not completed immediately. This behavior can have role-based access control (RBAC) implications. For an LRO, users might require permissions to query LROs in addition to the permissions to create the resource. These permissions are necessary for scalectl to retrieve the final output during the polling phase. If a user does not have the required RBAC permissions to query LROs, scalectl returns a PERMISSION_DENIED error. This error indicates that the user does not have the necessary permissions on the /scalemgmt/v3/operations/ resource. For more information about the role-based access control, see Role-based access control.

Global flags

The following global flags can be used with any scalectl command and subcommand:
--bearer
If true, reads the OIDC_TOKEN from the environment and sends it as the authorization bearer header for the request. Use this flag with the --url option.
--cert {Certificate}
Specifies the path to the client certificate file for authentication.
--cacert {CA_Certificate}
Specifies the path to the certificate authority (CA) trust chain to validate a server certificate.
--debug {Filepath[="stderr"]}
Enables the debug logging for the current request. Accepts an absolute file path to store logs by using --debug=<file>. If no file path is specified, logs are sent to stderr.
-h or --help
Lists the help for scalectl commands.
--domain {DomainName}
Sets the domain for the request. The default value is StorageScaleDomain.
--insecure-skip-tls-verify
If true, skips to verify the server certificate for validity. This option makes HTTPS connections insecure.
--json
Displays output in JSON format.
--key {PrivateKeyFile}
Specifies the path to the client certificate private key file for authentication.
--url {ip_address}
Sends the request over HTTPS to the specified endpoint <FQDN/IP>:<port>. For IPv6 address, use square brackets. For example, [IPv6]:<port>. If no port specified, 46443 is used by default.
--version
Specifies the scalectl build information. The --version flag is valid only with the top-level scalectl command.