Skip to main content
Use the ZEDEDA CLI (ZCLI) to manage datastores from the command line. A datastore defines the connection details and credentials for an external storage service (such as a cloud storage bucket, an SFTP or HTTP file server, or a container registry) that EVE-OS (Edge Virtualization Engine) on a node uses to download application images and files. This article covers zcli datastore commands for datastores, project scope, and ZEDEDA Store resources, with syntax and examples for each operation.

Before You Start

Datastore Types

Every zcli datastore create command requires --dstype. The following table lists the supported values. Type values are uppercase. For the ZEDEDA Store types, see Manage Secrets and Artifacts for how application instances consume the stored resources.

Manage Datastores

Create a datastore

Create a datastore record. The datastore name must be unique within your enterprise and cannot be changed after creation. If you omit --title, ZCLI uses the name as the title. If you omit --project-scope, the datastore is available to all projects.
For the ZEDEDA Store types (ARTIFACT-STORE:VAULT and SECRET-STORE:VAULT), --fqdn, --dpath, and --apikey are all required. ZCLI returns an error if any of the three is missing.
The --apikey and --apipass values are stored in Edge Infrastructure Services and are passed to nodes, which use them to authenticate to the datastore. A datastore created with empty credentials causes nodes to fetch from it without authentication.
Example (Amazon S3):
Example (Docker Hub):
Example (local HTTP file server):
Example (Azure Blob):
Example (ZEDEDA Store secret datastore, scoped to one project):

View a datastore

List all datastores, or show the configuration of one datastore by name or UUID. Run the command with no arguments to list every datastore in your enterprise with a summary by type and category. Use --dstype=ARTIFACT-STORE:VAULT or --dstype=SECRET-STORE:VAULT to list the ZEDEDA Store datastores, which do not appear in the default list. To show a single ZEDEDA Store datastore by name or UUID, you must also pass its --dstype. Without it, ZCLI searches only the standard datastores and does not find the record.
Example (list all datastores):
Example response:
Example (show one datastore in detail):
Example (filter by name substring):
Example (list ZEDEDA Store secret datastores):
Example (show one ZEDEDA Store secret datastore):

View the project scope of a datastore

List the projects that can use a datastore.
Example:

Update a datastore

Update a datastore. ZCLI retrieves the current record and applies the values you pass. The datastore name and type cannot be changed. The flags that take effect depend on the datastore type:
  • For standard datastores (every type except the ZEDEDA Store types), you can change the title, description, clear-text setting, project scope, and origin type. ZCLI ignores --fqdn, --dpath, and --apikey for these types, and update has no --apipass option. To change the connection details or credentials of a standard datastore, use the console. See Manage a Datastore.
  • For the ZEDEDA Store types, pass --dstype. You can change the title, description, vault FQDN and mount path, and token. If you change --fqdn or --dpath, pass both values together. ZCLI ignores --clear-text, --project-scope, and --origin-type for these types.
Example:
Example (change the project scope):

Delete a datastore

Delete a datastore record. Without -f, ZCLI prompts you to confirm. A datastore cannot be deleted while app images or edge apps reference it; remove those dependencies first. For the ZEDEDA Store types, pass --dstype, and add --delete-resources to delete all resources in the store along with it.
Example:
Example (delete a ZEDEDA Store datastore and its resources):
If an image still references the datastore, ZCLI returns an error. Example response:

Manage ZEDEDA Store Resources

Resources are the individual secrets or artifacts held in a datastore of type ARTIFACT-STORE:VAULT or SECRET-STORE:VAULT. The <name> argument in each of the following commands is the datastore name. For how application instances consume these resources, see Manage Secrets and Artifacts.

Create a resource

Create a resource in a ZEDEDA Store datastore. If you omit --title, ZCLI uses the resource name as the title. For an artifact store, pass the file contents base64-encoded in --value. The --expires-on value is a timestamp, or never (the default).
Example:

View a resource

Show one resource by name, all resources in one datastore, or all resources in every ZEDEDA Store datastore. ZCLI masks the value of resources in secret stores.
Example (all resources in one datastore):
Example (one resource in detail):

Update a resource

Update the value, title, description, or expiry of a resource.
Example:

Delete a resource

Delete a resource from a ZEDEDA Store datastore. Without -f, ZCLI prompts you to confirm.
Example:

Next Steps

Create a Datastore

Set up a datastore using the Edge Infrastructure Services console.

Manage a Datastore

GUI-based datastore viewing, updating, and deletion.

Manage Secrets and Artifacts

Deliver secrets and artifacts from ZEDEDA Store datastores to application instances.

Overview

All ZCLI command procedures, organized by resource type.