Cloud Command Reference

Spin Cloud Command

Fermyon provides a cloud plugin for the Spin CLI for you to manage Spin applications in Fermyon Cloud. This page documents the spin cloud command. Specifically, all of the available options and subcommands. For more information on subcommand stability, see the subcommands stability table. You can reproduce the Spin Cloud command documentation on your machine by using the --help flag. For example:

spin cloud

Spin compatibility: >= v1.3

$ spin cloud --help

USAGE:
    cloud <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    deploy       Package and upload an application to the Fermyon Cloud
    help         Print this message or the help of the given subcommand(s)
    login        Login to Fermyon Cloud
    variables    Manage Spin application variables

spin cloud apps

Spin compatibility: >= v1.3

$ spin cloud apps --help

spin-cloud-apps 0.2.0 (df0e822 2023-09-13)
Manage applications deployed to Fermyon Cloud

USAGE:
    spin cloud apps <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    delete    Delete an app deployed in Fermyon Cloud
    help      Print this message or the help of the given subcommand(s)
    list      List all the apps deployed in Fermyon Cloud

spin cloud apps delete

Spin compatibility: >= v1.3

$ spin cloud apps delete --help

spin-cloud-apps-delete 0.2.0 (df0e822 2023-09-13)
Delete an app deployed in Fermyon Cloud

USAGE:
    spin cloud apps delete [OPTIONS] <APP>

ARGS:
    <APP>    Name of Spin app

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud apps info

Spin compatibility: >= v1.3

$ spin cloud apps info --help
Get details about a deployed app in Fermyon Cloud

USAGE:
    spin cloud apps info [OPTIONS] <APP>

ARGS:
    <APP>    Name of Spin app

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud apps list

Spin compatibility: >= v1.3

$ spin cloud apps list --help

List all the apps deployed in Fermyon Cloud

USAGE:
    spin cloud apps list [OPTIONS]

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud deploy

Spin compatibility: >= v1.3

$ spin cloud deploy --help

Package and upload an application to the Fermyon Cloud

USAGE:
    cloud deploy [OPTIONS]

OPTIONS:
        --buildinfo <BUILDINFO>
            Build metadata to append to the bindle version

    -d, --staging-dir <STAGING_DIR>
            Path to assemble the bindle before pushing (defaults to a temporary directory)

    -e, --deploy-existing-bindle
            Deploy existing bindle if it already exists on bindle server

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -f, --from <APP_MANIFEST_FILE>
            The application to deploy. This may be a manifest (spin.toml) file, or a directory
            containing a spin.toml file. If omitted, it defaults to "spin.toml" [default: spin.toml]

    -h, --help
            Print help information

        --key-value <KEY_VALUES>
            Set a key/value pair (key=value) in the deployed application's default store. Any
            existing value will be overwritten. Can be used multiple times

        --no-buildinfo
            Disable attaching buildinfo [env: SPIN_DEPLOY_NO_BUILDINFO=]

        --readiness-timeout <READINESS_TIMEOUT_SECS>
            How long in seconds to wait for a deployed HTTP application to become ready. The default
            is 60 seconds. Set it to 0 to skip waiting for readiness [default: 60]

    -V, --version
            Print version information

        --variable <VARIABLES>
            Set a variable pair (variable=value) in the deployed application. Any existing value
            will be overwritten. Can be used multiple times

spin cloud help

$ spin cloud help

USAGE:
    cloud <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    deploy       Package and upload an application to the Fermyon Cloud
    help         Print this message or the help of the given subcommand(s)
    login        Login to Fermyon Cloud
    variables    Manage Spin application variables

spin cloud key-value

Alias: spin cloud kv

Spin compatibility: >= v1.3

$ spin cloud key-value --help

Manage Fermyon Cloud key value stores

USAGE:
    spin cloud key-value <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    create    Create a new key value store
    delete    Delete a key value store
    help      Print this message or the help of the given subcommand(s)
    list      List key value stores
    rename    Rename a key value store. All existing links will automatically link to the
                  store's new name
    set       Set a key value pair in a store

spin cloud key-value create

Spin compatibility: >= v1.3

$ spin cloud key-value create --help

Create a new key value store

USAGE:
    spin cloud key-value create <NAME>

ARGS:
    <NAME>    The name of the key value store

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

spin cloud key-value delete

Spin compatibility: >= v1.3

$ spin cloud key-value delete --help

Delete a key value store

USAGE:
    spin cloud key-value delete [OPTIONS] <NAME>

ARGS:
    <NAME>    The name of the key value store

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information
    -y, --yes        Skips prompt to confirm deletion of the key value store

spin cloud key-value list

Spin compatibility: >= v1.3

$ spin cloud key-value list --help

List key value stores

USAGE:
    spin cloud key-value list [OPTIONS]

OPTIONS:
    -a, --app <APP>              Filter list by an app
        --format <FORMAT>        Format of list [default: table] [possible values: table, json]
    -g, --group-by <GROUP_BY>    Grouping strategy of tabular list [default: app] [possible values:
                                 app, store]
    -h, --help                   Print help information
    -s, --store <STORE>          Filter list by a key value store
    -V, --version                Print version information

spin cloud key-value rename

Spin compatibility: >= v1.3

$ spin cloud key-value rename --help

Rename a key value store. All existing links will automatically link to the store's new name

USAGE:
    spin cloud key-value rename <NAME> <NEW_NAME>

ARGS:
    <NAME>        Current name of key value store to rename
    <NEW_NAME>    New name for the key value store

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

spin cloud key-value set

Spin compatibility: >= v1.3

$ spin cloud key-value set --help

Set a key value pair in a store

USAGE:
    spin cloud key-value set [OPTIONS] [KEY_VALUES]...

ARGS:
    <KEY_VALUES>...    A key/value pair (key=value) to set in the store. Any existing value will
                       be overwritten. Can be used multiple times

OPTIONS:
    -a, --app <APP>        App to which label relates
    -h, --help             Print help information
    -l, --label <LABEL>    Label of the key value store to set pairs in
    -s, --store <STORE>    The name of the key value store
    -V, --version          Print version information

Spin compatibility: >= v1.3

$ spin cloud link --help
Link apps to resources

USAGE:
    spin cloud <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    apps         Manage applications deployed to Fermyon Cloud
    deploy       Package and upload an application to the Fermyon Cloud
    help         Print this message or the help of the given subcommand(s)
    link         Link apps to resources
    login        Login to Fermyon Cloud
    sqlite       Manage Fermyon Cloud NoOps SQL databases
    unlink       Unlink apps from resources
    variables    Manage Spin application variables

Alias: spin cloud link kv

Spin compatibility: >= v1.3

$ spin cloud link key-value --help

USAGE:
    spin cloud link key-value --app <APP> --store <STORE> <LABEL>

ARGS:
    <LABEL>    The name by which the application will refer to the key value store

OPTIONS:
    -a, --app <APP>        The app that will be using the key value store
    -h, --help             Print help information
    -s, --store <STORE>    The key value store that the app will refer to by the label
    -V, --version          Print version information

Spin compatibility: >= v1.3

$ spin cloud link sqlite --help
Link an app to a NoOps SQL database

USAGE:
    spin cloud link sqlite [OPTIONS] --app <APP> --database <DATABASE> <LABEL>

ARGS:
    <LABEL>    The name by which the application will refer to the database

OPTIONS:
    -a, --app <APP>
            The app that will be using the database

    -d, --database <DATABASE>
            The database that the app will refer to by the label

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud login

Spin compatibility: >= v1.3

$ spin cloud login --help

Login to Fermyon Cloud

USAGE:
    cloud login [OPTIONS]

OPTIONS:
        --auth-method <auth-method>
            [env: AUTH_METHOD=] [possible values: github, token]

        --environment-name <environment-name>
            Save the login details under the specified name instead of making them the default. Use
            named environments with `spin deploy --environment-name <name>` [env:
            FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -k, --insecure
            Ignore server certificate errors

        --list
            List saved logins

        --status
            Display login status

        --token <TOKEN>
            Auth Token [env: SPIN_AUTH_TOKEN=]

        --url <CLOUD_SERVER_URL>
            URL of Fermyon Cloud Instance [env: CLOUD_URL=] [default: https://cloud.fermyon.com/]

    -V, --version
            Print version information

spin cloud logout

Spin compatibility: >= v1.3

$ spin cloud logout --help
Log out of Fermyon Cloud

USAGE:
    spin cloud logout

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

spin cloud logs

Spin compatibility: >= v1.3

$ spin cloud logs --help

Logs fetches app logs from Fermyon Cloud

USAGE:
    spin cloud logs [OPTIONS] <APP>

ARGS:
    <APP>    App name

OPTIONS:
        --environment-name <environment-name>
            Use the Fermyon instance saved under the specified name. If omitted, Spin looks for app
            in default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

        --follow
            Follow logs output

    -h, --help
            Print help information

        --interval <interval>
            Interval in seconds to refresh logs from cloud [default: 2]

        --show-timestamps <show-timestamps>
            Show timestamps [default: true] [possible values: true, false]

        --since <since>
            Only return logs newer than a relative duration. The duration format is a number and a
            unit, where the unit is 's' for seconds, 'm' for minutes, 'h' for hours or 'd' for days
            (e.g. "30m" for 30 minutes ago).  The default it 7 days [default: 7d]

        --tail <tail>
            Number of lines to show from the end of the logs [default: 10]

    -V, --version
            Print version information

spin cloud sqlite

Spin compatibility: >= v1.3

$ spin cloud sqlite --help

Manage Fermyon Cloud SQLite databases

USAGE:
    spin cloud sqlite <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    delete     Delete a SQLite database
    execute    Execute SQL against a SQLite database
    help       Print this message or the help of the given subcommand(s)
    list       List all SQLite databases of a user

spin cloud sqlite create

Spin compatibility: >= v1.3

$ spin cloud sqlite create --help

Create a NoOps SQL database

USAGE:
    spin cloud sqlite create [OPTIONS] <NAME>

ARGS:
    <NAME>    Name of database to create

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud sqlite delete

Spin compatibility: >= v1.3

$ spin cloud sqlite delete --help

Delete a SQLite database

USAGE:
    spin cloud sqlite delete [OPTIONS] <NAME>

ARGS:
    <NAME>    Name of database to delete

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

    -y, --yes
            Skips prompt to confirm deletion of database

spin cloud sqlite execute

Spin compatibility: >= v1.3

$ spin cloud sqlite execute --help

Execute SQL against a SQLite database

USAGE:
    spin cloud sqlite execute [OPTIONS] <NAME> <STATEMENT>

ARGS:
    <NAME>         Name of database to execute against
    <STATEMENT>    Statement to execute

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud sqlite help

Spin compatibility: >= v1.3

$ spin cloud sqlite help

Manage Fermyon Cloud SQLite databases

USAGE:
    spin cloud sqlite <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    delete     Delete a SQLite database
    execute    Execute SQL against a SQLite database
    help       Print this message or the help of the given subcommand(s)
    list       List all SQLite databases of a user

spin cloud sqlite list

Spin compatibility: >= v1.3

$ spin cloud sqlite list --help

List all SQLite databases of a user

USAGE:
    spin cloud sqlite list [OPTIONS]

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud sqlite rename

Spin compatibility: >= v1.3

$ spin cloud sqlite rename --help

Rename a NoOps SQL database

USAGE:
    spin cloud sqlite rename [OPTIONS] <NAME> <NEW_NAME>

ARGS:
    <NAME>        Current name of database to rename
    <NEW_NAME>    New name for the database

OPTIONS:
        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

Spin compatibility: >= v1.3

$ spin cloud unlink --help
Unlink apps from resources

USAGE:
    spin cloud unlink <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help      Print this message or the help of the given subcommand(s)
    sqlite    Unlink an app from a NoOps SQL database

Spin compatibility: >= v1.3

$ spin cloud unlink key-value --help
Unlink an app from a NoOps SQL database

USAGE:
    spin cloud unlink sqlite [OPTIONS] --app <APP> <LABEL>

ARGS:
    <LABEL>    The name by which the application refers to the database

OPTIONS:
    -a, --app <APP>
            The app that will be using the database

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

Spin compatibility: >= v1.3

$ spin cloud unlink sqlite --help
Unlink an app from a NoOps SQL database

USAGE:
    spin cloud unlink sqlite [OPTIONS] --app <APP> <LABEL>

ARGS:
    <LABEL>    The name by which the application refers to the database

OPTIONS:
    -a, --app <APP>
            The app that will be using the database

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud variables

Spin compatibility: >= v1.3

$ spin cloud variables --help

Manage Spin application variables

USAGE:
    cloud variables <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    delete    Delete variable pairs
    help      Print this message or the help of the given subcommand(s)
    list      List all variables of an application
    set       Set variable pairs

spin cloud variables delete

Spin compatibility: >= v1.3

$ spin cloud variables delete --help

Delete variables

USAGE:
    cloud variables delete [OPTIONS] --app <app> [VARIABLES_TO_DELETE]...

ARGS:
    <VARIABLES_TO_DELETE>...    Variable pair to set

OPTIONS:
        --app <app>
            Name of Spin app

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud variables help

Spin compatibility: >= v1.3

$ spin cloud variables help

Manage Spin application variables

USAGE:
    cloud variables <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    delete    Delete variables
    help      Print this message or the help of the given subcommand(s)
    list      List all variables of an application
    set       Set variables

spin cloud variables list

Spin compatibility: >= v1.3

$ spin cloud variables list --help

List all variables of an application

USAGE:
    cloud variables list [OPTIONS] --app <app>

OPTIONS:
        --app <app>
            Name of Spin app

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

spin cloud variables set

Spin compatibility: >= v1.3

$ spin cloud variables set --help

Set variables

USAGE:
    cloud variables set [OPTIONS] --app <app> [VARIABLES_TO_SET]...

ARGS:
    <VARIABLES_TO_SET>...    Variable pair to set

OPTIONS:
        --app <app>
            Name of Spin app

        --environment-name <environment-name>
            Deploy to the Fermyon instance saved under the specified name. If omitted, Spin deploys
            to the default unnamed instance [env: FERMYON_DEPLOYMENT_ENVIRONMENT=]

    -h, --help
            Print help information

    -V, --version
            Print version information

Subcommand Stability Table

CLI commands have four phases that indicate levels of stability:

  • Experimental: These commands are experiments and may or may not be available in later versions of the CLI.
  • Stabilizing: These commands have moved out of the experimental phase and we are now in the active process of stabilizing them. This includes updating flags, command output, errors, and more.
  • Stable: These commands have moved out of the stablizing phase and will not change in backwards incompatible ways until the next major version release.
  • Deprecated: Support for these commands will be removed in a future release.

Spin compatibility: >= v1.3

CommandStability
cloud deployStabilizing
cloud loginStabilizing
cloud variablesStabilizing