salt.fileserver.minionfs

Fileserver backend which serves files pushed to the Master

The cp.push function allows Minions to push files up to the Master. Using this backend, these pushed files are exposed to other Minions via the Salt fileserver.

To enable minionfs, file_recv needs to be set to True in the master config file (otherwise cp.push will not be allowed to push files to the Master), and minion must be added to the fileserver_backends list.

fileserver_backend:
  - minion

Other minionfs settings include: minionfs_whitelist, minionfs_blacklist, minionfs_mountpoint, and minionfs_env.

salt.fileserver.minionfs.dir_list(load)

Return a list of all directories on the master

CLI Example:

$ salt 'source-minion' cp.push /absolute/path/file  # Push the file to the master
$ salt 'destination-minion' cp.list_master_dirs
destination-minion:
    - source-minion/absolute
    - source-minion/absolute/path
salt.fileserver.minionfs.envs()

Returns the one environment specified for minionfs in the master configuration.

salt.fileserver.minionfs.file_hash(load, fnd)

Return a file hash, the hash type is set in the master config file

salt.fileserver.minionfs.file_list(load)

Return a list of all files on the file server in a specified environment

salt.fileserver.minionfs.find_file(path, tgt_env='base', **kwargs)

Search the environment for the relative path

salt.fileserver.minionfs.serve_file(load, fnd)

Return a chunk from a file based on the data received

CLI Example:

# Push the file to the master
$ salt 'source-minion' cp.push /path/to/the/file
$ salt 'destination-minion' cp.get_file salt://source-minion/path/to/the/file /destination/file
salt.fileserver.minionfs.update()

When we are asked to update (regular interval) lets reap the cache