zededa:zcli-how-to
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| zededa:zcli-how-to [2026/08/20 15:10] – mc | zededa:zcli-how-to [2026/08/20 15:11] (current) – mc | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== ZCLI: SSH Access, | + | ====== |
| + | |||
| + | A practical guide to ZEDEDA CLI (ZCLI), the command-line way to manage ZEDEDA Cloud. | ||
| + | |||
| + | ===== What ZCLI Is ===== | ||
| + | |||
| + | * ZCLI is one of three ways to talk to ZEDEDA Cloud. The other two are the GUI and the API. | ||
| + | * It ships as a Docker container, not a native binary. | ||
| + | * You need Docker Desktop running before you start it. | ||
| + | |||
| + | ===== Starting ZCLI ===== | ||
| + | |||
| + | < | ||
| + | docker run -it zededa/zcli:latest | ||
| + | </ | ||
| + | |||
| + | First run pulls the image from ZEDEDA' | ||
| + | |||
| + | ===== Logging In ===== | ||
| + | |||
| + | Two ways to authenticate: | ||
| + | |||
| + | ==== Option 1: Username and Password ==== | ||
| + | |||
| + | - Run '' | ||
| + | - Enter the server address (default is '' | ||
| + | - Answer **n** to "Login with token?" | ||
| + | - Enter your username and password | ||
| + | - Run '' | ||
| + | |||
| + | ==== Option 2: Session Token ==== | ||
| + | |||
| + | - Log in to the ZEDEDA GUI | ||
| + | - Open your user profile dropdown, top right, then **User Details** | ||
| + | - Copy the session token from the Session Information section | ||
| + | - Run '' | ||
| + | - Enter the server address | ||
| + | - Answer **y** to "Login with token?" | ||
| + | - Paste the token | ||
| + | - Run '' | ||
| + | |||
| + | ===== Reading the Command Syntax ===== | ||
| + | |||
| + | * ''< | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | If you leave out something required, ZCLI tells you plainly, e.g. '' | ||
| + | |||
| + | ===== Getting Help ===== | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ^ Key ^ Action ^ | ||
| + | | Space / Page Down | scroll down a page | | ||
| + | | b / Page Up | scroll up a page | | ||
| + | | j / Down Arrow | scroll down a line | | ||
| + | | k / Up Arrow | scroll up a line | | ||
| + | | / then text | search forward | | ||
| + | |||
| + | ===== Command Groups You'll Actually Use ===== | ||
| + | |||
| + | ^ Command ^ What it manages ^ | ||
| + | | edge-node | Create, update, activate, reboot, delete edge nodes | | ||
| + | | project | Resource groups that edge nodes and apps live in | | ||
| + | | network | Networking objects assigned to edge node adapters | | ||
| + | | network-instance | App-facing networking within an edge node | | ||
| + | | edge-app | Application manifests | | ||
| + | | edge-app-instance | Running app instances on edge nodes | | ||
| + | | datastore | Image storage locations | | ||
| + | | image | App images inside datastores | | ||
| + | | volume-instance | Storage volumes | | ||
| + | | events | Device events and user action logs | | ||
| + | | job | Long-running tasks across nodes/ | ||
| + | | user / role / auth-profile | Access | ||
| + | |||
| + | ===== Typical Flow: Bringing Up an Edge Node ===== | ||
| + | |||
| + | The GUI onboarding wizard bundles network and project setup for you. In ZCLI you do those pieces yourself, in order: | ||
| + | |||
| + | - Create a project: '' | ||
| + | - Create a network: '' | ||
| + | - Create the edge node itself: | ||
| + | |||
| + | < | ||
| + | zcli edge-node create MY_EDGE_NODE --project=MY_PROJECT --model=SYS-E100-9APP \ | ||
| + | --network=eth0: | ||
| + | </ | ||
| + | |||
| + | - View it: '' | ||
| + | - Update it later: '' | ||
| + | |||
| + | ===== Adapter-Specific Interface Config ===== | ||
| + | |||
| + | For anything beyond a single static IP, ZCLI uses a JSON template workflow instead of a giant flag list. | ||
| + | |||
| + | - Copy the templates: '' | ||
| + | * Drops '' | ||
| + | - Edit the json file (vi works fine in the container: **i** to insert, **Esc** to stop, **:wq** to save) | ||
| + | - Use it when creating or updating a node: | ||
| + | |||
| + | < | ||
| + | zcli edge-node create MY_EDGE_NODE --project=MY_PROJECT --model=Advantech-2012 \ | ||
| + | --adapter-network-config=adapter-net-config-templates/ | ||
| + | </ | ||
| + | |||
| + | - Pull an existing node's config back out for editing: '' | ||
| + | |||
| + | ===== Day 2 Operations ===== | ||
| + | |||
| + | ^ Task ^ Command ^ | ||
| + | | Reboot | '' | ||
| + | | Graceful shutdown prep | '' | ||
| + | | Deactivate (stops app instances) | '' | ||
| + | | Reactivate | '' | ||
| + | | Update EVE-OS image | '' | ||
| + | | Remove an old EVE-OS image | '' | ||
| + | | Pull current config to a file | '' | ||
| + | | Force a config regen from cloud | '' | ||
| + | | Pull TPM PCR values | '' | ||
| + | | Delete | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | ===== Output Format ===== | ||
| + | |||
| + | Default output is human-readable text. Force JSON for scripting with the global flag: | ||
| + | |||
| + | < | ||
| + | zcli -o json edge-node show MY_EDGE_NODE | ||
| + | </ | ||
| ===== SSH Into an Edge Node via ZCLI ===== | ===== SSH Into an Edge Node via ZCLI ===== | ||
| Line 128: | Line 260: | ||
| | Give an app persistent or scratch disk space | '' | | Give an app persistent or scratch disk space | '' | ||
| | Change storage allocation thresholds device-wide | '' | | Change storage allocation thresholds device-wide | '' | ||
| + | |||
| + | ===== Gotchas ===== | ||
| + | |||
| + | * Most successful commands print nothing. Silence means it worked, only failures produce output. | ||
| + | * TLS verification is on by default. '' | ||
| + | * The GUI onboarding wizard does more behind the scenes (network + project wiring) than '' | ||
| + | * '' | ||
| ===== Source ===== | ===== Source ===== | ||
| + | * ZEDEDA Help Center: " | ||
| + | * ZEDEDA Help Center: "ZCLI: Create and Manage Edge Nodes" | ||
| * ZEDEDA Help Center: "How to Enable and Disable SSH for Edge Nodes" | * ZEDEDA Help Center: "How to Enable and Disable SSH for Edge Nodes" | ||
| * ZEDEDA Help Center: " | * ZEDEDA Help Center: " | ||
| * ZEDEDA Help Center: "ZCLI: Create and Manage Volume Instances" | * ZEDEDA Help Center: "ZCLI: Create and Manage Volume Instances" | ||
| * ZEDEDA Help Center: "Add Persistent Volume Instances" | * ZEDEDA Help Center: "Add Persistent Volume Instances" | ||
| - | * ZEDEDA Help Center: "ZCLI: Create and Manage Edge Nodes" | ||
zededa/zcli-how-to.1787238625.txt.gz · Last modified: by mc
