Nomad
Command: alloc fs
Alias: nomad fs
The alloc fs command allows a user to navigate an allocation working
directory on a Nomad client. The following functionalities are available -
cat, tail, ls and stat.
- cat: If the target path is a file, Nomad will- catthe file.
- tail: If the target path is a file and- -tailflag is specified, Nomad will- tailthe file.
- ls: If the target path is a directory, Nomad displays the name of a file and directories and their associated information.
- stat: If the- -statflag is used, Nomad will display information about a file.
Usage
nomad alloc fs [options] <allocation> <path>
This command accepts a single allocation ID (unless the -job flag is
specified, in which case an allocation is chosen from the given job) and a
path. The path is optional and relative to the root of the allocation working
directory.
When ACLs are enabled, this command requires a token with the read-fs,
read-job, and list-jobs capabilities for the allocation's namespace.
General Options
- -address=<addr>: The address of the Nomad server. Overrides the- NOMAD_ADDRenvironment variable if set. Defaults to- http://127.0.0.1:4646.
- -region=<region>: The region of the Nomad server to forward commands to. Overrides the- NOMAD_REGIONenvironment variable if set. Defaults to the Agent's local region.
- -namespace=<namespace>: The target namespace for queries and actions bound to a namespace. Overrides the- NOMAD_NAMESPACEenvironment variable if set. If set to- '*', job and alloc subcommands query all namespacecs authorized to user. Defaults to the "default" namespace.
- -no-color: Disables colored command output. Alternatively,- NOMAD_CLI_NO_COLORmay be set.
- -ca-cert=<path>: Path to a PEM encoded CA cert file to use to verify the Nomad server SSL certificate. Overrides the- NOMAD_CACERTenvironment variable if set.
- -ca-path=<path>: Path to a directory of PEM encoded CA cert files to verify the Nomad server SSL certificate. If both- -ca-certand- -ca-pathare specified,- -ca-certis used. Overrides the- NOMAD_CAPATHenvironment variable if set.
- -client-cert=<path>: Path to a PEM encoded client certificate for TLS authentication to the Nomad server. Must also specify- -client-key. Overrides the- NOMAD_CLIENT_CERTenvironment variable if set.
- -client-key=<path>: Path to an unencrypted PEM encoded private key matching the client certificate from- -client-cert. Overrides the- NOMAD_CLIENT_KEYenvironment variable if set.
- -tls-server-name=<value>: The server name to use as the SNI host when connecting via TLS. Overrides the- NOMAD_TLS_SERVER_NAMEenvironment variable if set.
- -tls-skip-verify: Do not verify TLS certificate. This is highly not recommended. Verification will also be skipped if- NOMAD_SKIP_VERIFYis set.
- -token: The SecretID of an ACL token to use to authenticate API requests with. Overrides the- NOMAD_TOKENenvironment variable if set.
Fs Options
- -H: Machine friendly output.
- -verbose: Display verbose output.
- -job: Use a random allocation from the specified job, preferring a running allocation.
- -stat: Show stat information instead of displaying the file, or listing the directory.
- -f: Causes the output to not stop when the end of the file is reached, but rather to wait for additional output.
- -tail: Show the files contents with offsets relative to the end of the file. If no offset is given, -n is defaulted to 10.
- -n: Sets the tail location in best-efforted number of lines relative to the end of the file.
- -c: Sets the tail location in number of bytes relative to the end of the file.
Examples
$ nomad alloc fs eb17e557
Mode        Size  Modified Time        Name
drwxrwxr-x  4096  28 Jan 16 05:39 UTC  alloc/
drwxrwxr-x  4096  28 Jan 16 05:39 UTC  redis/
-rw-rw-r--  0     28 Jan 16 05:39 UTC  redis_exit_status
$ nomad alloc fs eb17e557 redis/local
Mode        Size  Modified Time        Name
-rw-rw-rw-  0     28 Jan 16 05:39 UTC  redis.stderr
-rw-rw-rw-  17    28 Jan 16 05:39 UTC  redis.stdout
$ nomad alloc fs -stat eb17e557 redis/local/redis.stdout
Mode        Size  Modified Time        Name
-rw-rw-rw-  17    28 Jan 16 05:39 UTC  redis.stdout
$ nomad alloc fs eb17e557 redis/local/redis.stdout
foobar
baz
$ nomad alloc fs -tail -f -n 3 eb17e557 redis/local/redis.stdout
foobar
baz
bam
<blocking>
Using Job ID instead of Allocation ID
Setting the -job flag causes a random allocation of the specified job to be
selected. Nomad will prefer to select a running allocation ID for the job, but
if no running allocations for the job are found, Nomad will use a dead
allocation.
nomad alloc fs -job <job-id> <path>
This can be useful for debugging a job that has multiple allocations, and it is not required to observe a specific allocation.