Skip to main content
Use the ZEDEDA CLI (ZCLI) to manage edge nodes from the command line. This article covers zcli edge-node commands for creating and onboarding nodes, viewing and updating them, controlling their state, updating EVE-OS (Edge Virtualization Engine) images, configuring node settings, and deleting nodes, with syntax and examples for each operation. The GUI onboarding flow includes network and project configuration that the zcli edge-node command does not create for you. Create those resources first with zcli network and zcli project. See Manage Projects.

Before You Start

Create and Onboard Nodes

Create a node

Create an edge node record in a project. The --model value must match a hardware model known to Edge Infrastructure Services. List the supported models with zcli model show. Choose one identity method for onboarding:
  • Onboarding key: pass --onboarding-key with the onboarding key UUID and --serial with the device serial number. The serial can be a hardware serial (printed on the device label or available from the BIOS) or a soft serial (generated during EVE-OS installation and displayed when the install finishes).
  • Certificate: pass --edge-node-certificate or --onboarding-certificate with the path to the certificate file.
  • Single-use installer: pass --gen-soft-serial to have Edge Infrastructure Services generate a soft serial for the node, then build the installer with zcli edge-node gen-single-use-eve-installer.
Example (onboarding key and serial):
Example (static IP on the management adapter): The static IP you assign to the adapter must fall within the subnet of the network you bind it to.
Example (adapter configuration file):
Example (generate a soft serial for a single-use installer):

Generate a single-use EVE-OS installer

Generate a single-use EVE-OS installer for a node that you created with --gen-soft-serial or with the Single-Use Installer option in the GUI. The command downloads the node configuration, the bootstrap configuration, and the EVE-OS image configured for the node, and then builds an installer that contains everything the device needs to install and onboard. Use the generated installer only once and only for the specified node. The --dry-run flag runs the command in test mode without generating the installer.
Example:

Retrieve the node onboarding token

Retrieve the onboarding token record for a node.
Example:

View Nodes

View a node

List all nodes, filter the list, or show one node. Use --detail for the full configuration, --summary for a short summary, --raw for raw metrics, --bootstrap for the bootstrap configuration, and --edgeview for the Edge View configuration in JSON format.
Example (all nodes):
Example response:
Example (one node):
Example response:
Example (filter by name):

View raw metrics

Show the raw metrics that a node stores when the debug knob is enabled. See Enable the debug knob.
Example:

Save the node configuration to a file

Write the node configuration to a file for later use or analysis. The file is written to the current working directory of the ZCLI session (/home/zcli by default). Use --offline to write an offline configuration file, --next to show the candidate configuration, --summary for a summary, and --bootstrap to download the bootstrap configuration.
Example:
Example response:

Get the local operator console configuration

Retrieve the local operator console (Edge Sync) configuration for a node. Configure Edge Sync before you run this command. See Configure Edge Synchronization.
Example:

Fetch PCR values

Save the platform configuration register (PCR) values of a node to a file. Compare the retrieved values with known-good values to detect unauthorized modifications. The file is written to the current working directory of the ZCLI session (/home/zcli by default).
Example:
Example response:
To view, set, or reset the device-level PCR attestation policy with zcli edge-node pcr-policy, see Manage a PCR Policy.

Update Nodes

Update a node

Update the title, description, tags, project, networks, configuration properties, and other settings of an existing node. Updating the adapter configuration with --network or --adapter-network-config clears the previously configured adapter settings, so specify every adapter you want to keep along with any new values.
Example:
Example (replace the adapter configuration):

Control Node State

Activate a node

Activate a node so that it can operate and run application instances. A newly created node becomes active by default when it comes online unless you deactivate it. If the node is already active, no action is taken.
Example:

Deactivate a node

Deactivate a node to stop it from normal operation, for example to stop the application instances running on it and reduce resource consumption. If the node is already inactive, no action is taken.
Example:

Reboot a node

Reboot a node remotely to apply changes or recover from issues. The command triggers a reboot event. Without -f, ZCLI prompts you to confirm. Check the node status in the GUI to confirm the reboot completed. See Node Details.
Example:

Prepare a node for power off

Shut down all application instances on a node gracefully before you remove power. Without -f, ZCLI prompts you to confirm.
Example:

Offboard a node

Offboard a node to remove it from the enterprise while preserving its device identity for re-onboarding. Without -f, ZCLI prompts you to confirm.
Example:

Update EVE-OS on a Node

Update the EVE-OS image

Stage an EVE-OS image on a node. Without --activate, the image is downloaded and staged on the node without a reboot. With --activate, the node activates the image and reboots. If the node is already running the specified image, no action is taken. Use --retry to retry a failed upgrade and -f to force the upgrade. The image must be an EVE-OS image that is in the ready state. For the GUI equivalent, see Update EVE-OS on Nodes.
Example (stage the image):
Example (stage and activate the image):

Remove an EVE-OS image

Remove a staged EVE-OS image from a node, for example to free space or to make sure the node only keeps the current image.
Example:

Configure Node Settings

Set configuration properties

Set node-specific configuration properties with the --config option of zcli edge-node update. The key and value are separated by a colon, and the value can itself contain colons. Repeat --config to set several properties in one command. Node-level properties take precedence over the same properties set at the project level. For the list of properties, see Set Log Levels. Example (enable SSH access with a public key):
Example (disable SSH access by clearing the key):
Example (set several properties):

Copy the adapter configuration template

Copy the adapter configuration template files to a directory so that you can edit a fresh template and use it to configure adapters on a new node, or to replace the adapter configuration of an existing node. A relative <path> is resolved from the current working directory of the ZCLI session (/home/zcli by default). If you omit <path>, the files are copied to an adapter-net-config-templates directory in the current working directory. The template includes the following files:
  • adapter-net-config.json, the base configuration template that you edit.
  • adapter-net-config.jsonc, a commented copy with examples and explanations.
  • adapter-net-config.md, documentation of each field and its constraints.
Edit adapter-net-config.json according to your hardware model, then pass the file with --adapter-network-config when you create or update a node. Use this file-based approach when you bound an adapter to a network created with --dhcp=static-adapter-specific and need to supply the adapter-specific IP details.
Example:
Example response:

Export the adapter configuration

Export the current adapter configuration of a node to a JSON file named <name>_adapter_config.json in the current working directory of the ZCLI session. Edit the file, then pass it with --adapter-network-config to zcli edge-node update to apply the changes.
Example:
Example response:
Example (apply the edited file):

Enable the debug knob

Enable the debug knob so that the node stores raw metrics. Use --expiry to set when the debug knob expires. View the stored metrics with zcli edge-node show-raw-metrics. For more about logs, see Set Log Levels.
Example:

Disable the debug knob

Disable the debug knob so that the node stops storing raw metrics.
Example:

Delete Nodes

Delete a node

Delete a node record that you no longer need. Without -f, ZCLI prompts you to confirm. Unlike the console, which can delete a node’s dependents for you, the edge-node delete command deletes only the node record. Edge Infrastructure Services refuses the delete while any of the following is true:
  • The node belongs to an Edge Node Cluster. The error is device is attached to the edge node cluster with id: <uuid>. Replace the node in the cluster or delete the cluster first. The edge-node-cluster command group does not remove individual nodes; the only command that does is the deprecated edge-kubernetes-cluster remove-nodes. See Remove Nodes from a Cluster.
  • Application instances are still deployed on the node. The error is <N> app instances still attached to this device. Delete them with zcli app-instance delete first.
  • Virtual networks other than the default are still configured on the node. The error is <N> non-default network instances still attached to this device. Delete them with zcli network-instance delete first.
Example:

Other Operations

Trigger configuration generation

Check the latest configuration that Edge Infrastructure Services holds for the node and generate an updated configuration for it.
Example:

Start an Edge View session

Start an Edge View session on a node. The project policy must allow Edge View first. See Configure Edge View With CLI.
Example:

Stop an Edge View session

End the active Edge View session on a node.
Example:

Get the Edge View client script

Retrieve the Edge View client script for a node.
Example:

Next Steps

Onboard Nodes

Onboard a node using the Edge Intelligence Platform Console.

Manage Node Lifecycle

Activate, deactivate, reboot, off-board, and delete nodes in the GUI.

Configure Node Adapters

GUI-based adapter and network port configuration.

Overview

All ZCLI command procedures, organized by resource type.