.. _fedn-cli: Command-Line Interface (CLI) ============================ The Scaleout Edge Command-Line Interface (CLI) is designed to streamline management of the Scaleout Edge platform, making it easier for users to deploy, monitor and interact with their Edge network. With the Scaleout Edge CLI, users can: - Start and manage Scaleout Edge services such as the **combiner**, **controller**, **API server**, and **Server Function hooks** (requires Enterprise license or specific research related agreement). - Start and manage **clients**. - Interact with the **controller** to: - Manage sessions, including starting, stopping, and monitoring their progress. - Retrieve data and results related to sessions, such as aggregated models and validation metrics. - Query the state of the network, including the status of connected combiners and clients. For detailed usage and examples, refer to the sections below. Scaleout CLI (open source) -------------------------- The `scaleout` commands allow users to log in to Scaleout Edge and interact with the platform. Commands: **login** - **scaleout login** - Log in to the Scaleout Edge using a username, password, and host. Example: .. code-block:: bash scaleout login -u username -P password -H host **run** The `scaleout run` commands allow users to run entry points and prepare the environment for Scaleout Edge projects. - **scaleout run build** - Run the build entry point for a Scaleout Edge project, defined in scaleout.yaml. Example: .. code-block:: bash scaleout run build --project-path /path/to/project/client **package** The `scaleout package` commands allow users to create a package for a Scaleout Edge project. - **scaleout package create** - Create a new package for a Scaleout Edge project. Example: .. code-block:: bash scaleout package create --path /path/to/project/client - **scaleout package list** - List all packages in your Scaleout Edge project. Example: .. code-block:: bash scaleout package list -H host **client** The `scaleout client` commands allow users to start and list Scaleout Edge clients. - **scaleout client start** - Start a Scaleout Edge client using a specified configuration file or package. Example: .. code-block:: bash scaleout client start --api-url https://edge.scaleoutsystems.com --token --local-package - **scaleout client list** - List all active Scaleout Edge clients in the network. Example: .. code-block:: bash scaleout client list -H host --token **model** The `scaleout model` commands allow users to manage models in your Scaleout Edge project. - **scaleout model set-active** - Set a specific model as the active model for a project. Example: .. code-block:: bash scaleout model set-active -f model_file.npz -H host --token - **scaleout model list** - List all models in your Scaleout Edge project. Example: .. code-block:: bash scaleout model list -H host --token **session** The `scaleout session` commands allow users to start, stop and list sessions in Scaleout Edge. - **scaleout session start** - Start a new session for a project. Example: .. code-block:: bash scaleout session start -n session_name -H host --token - **scaleout session list** - List all sessions in your Scaleout Edge project. Example: .. code-block:: bash scaleout session list -H host --token **Validation** The `scaleout validation` commands allow users to retrieve and list validation results. - **scaleout validation get** - Retrieve validation results for a specific round. Example: .. code-block:: bash scaleout validation get -r round_number -H host --token - **scaleout validation list** - List all validation results for a project. Example: .. code-block:: bash scaleout validation list -H host --token **round** The `scaleout round` commands allow users to retrieve and list round information. - **scaleout round get** - Retrieve information for a specific round. Example: .. code-block:: bash scaleout round get --id round_id -H host --token - **scaleout round list** - List all rounds in your Scaleout Edge project. Example: .. code-block:: bash scaleout round list -H host **status** The `scaleout status` commands allow users to check the status of the Scaleout Edge network. - **scaleout status get** - Get the current status of the Scaleout Edge network. Example: .. code-block:: bash scaleout status get -H host --token - **scaleout status list** - List the status of all components in your Scaleout Edge project. Example: .. code-block:: bash scaleout status list -H host --token **combiner** The `scaleout combiner` commands allow users to list combiners in the Scaleout Edge network. - **scaleout combiner list** - List all combiners in your Scaleout Edge project. Example: .. code-block:: bash scaleout combiner list -H host --token Scaleout core (Enterprise) --------------------------- The `scaleoutcore` commands allow users to start and manage Scaleout Edge core services, such as the combiner, controller, API server, and Server Function hooks (requires Enterprise license or specific research related agreement). Commands: **combiner** The `scaleoutcore combiner` commands allow users to start and manage (scale) the Scaleout Edge combiner service. - **scaleoutcore combiner start** - Start the Scaleout Edge combiner service. Example: .. code-block:: bash scaleoutcore combiner start **controller** The `scaleoutcore controller` commands allow users to start and manage the Scaleout Edge controller service. - **scaleoutcore controller start** - Start the Scaleout Edge controller service. Example: .. code-block:: bash scaleoutcore controller start **api-server** The `scaleoutcore api-server` commands allow users to start (scale) and manage the Scaleout Edge API server service. - **scaleoutcore api-server start** - Start the Scaleout Edge API server service. Example: .. code-block:: bash scaleoutcore api-server start **server-function** The `scaleoutcore hooks` commands allow users to start and manage (scale) the Scaleout Edge Server Function hooks service. - **scaleoutcore hooks start** - Start the Scaleout Edge Server Function hooks service. Example: .. code-block:: bash scaleoutcore hooks start