Skip to main content
Version: v3.9.0

Volume fields

Reference for kind: Volume. Deploy and the volume-mount split are on Volumes.

The CLI stores every spec field in namespace config under ~/.iofog/v3. Describe reads that file.

Deploy
apiVersion: datasance.com/v3 # required, string
kind: Volume # required, string
metadata:
name: model-weights # required, string
namespace: my-ecn # no, string
spec:
name: model-weights # required, string
agents: # required, list of string. Edgelet node names
- edge-01
source: /data/models-src # required, string. Directory on the machine running the CLI
destination: /var/lib/iofog/volumes/model-weights # required, string
permissions: "0755" # required, string

Fields​

FieldRequiredDescription
nameYesVolume name. Microservice hostDestination when type is volume.
agentsYesEdgelet node names in this namespace. The YAML kind of each node is Agent.
sourceYesDirectory on the machine running the CLI.
destinationYesAbsolute directory on each target node. Created when missing.
permissionsYesUnix mode string applied during the remote copy, such as "0755" or "0777".

Remote copy​

For each remote node:

  1. SSH uses the node user, host, keyFile, and port.
  2. Create destination and a temp folder under /tmp.
  3. Copy source to the temp folder.
  4. Move the contents into destination.

Errors are reported per node.

Local node​

A kind: LocalAgent in agents records the volume and prints that the copy is unnecessary, because the host filesystem is used directly. If source and destination differ, the CLI warns about bind confusion.

Validation​

RuleError
source is not a directorySource must be a directory.
Remote node on a loopback hostNot supported for local agents.
Missing SSHSSH validation error.
Unknown node nameNamespace lookup error.
Group 3See anything wrong with the document? Help us improve it!