salt.fileserver.s3fs¶
The backend for a fileserver based on Amazon S3
See also
This backend exposes directories in S3 buckets as Salt environments. This
feature is managed by the fileserver_backend
option in the Salt
Master config.
configuration: | S3 credentials can be either set in the master file using: S3 credentials can be set in the master config file with: s3.keyid: GKTADJGHEIQSXMKKRBJ08H
s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
Alternatively, if on EC2 these credentials can be automatically loaded from instance metadata. This fileserver supports two modes of operation for the buckets:
Note that bucket names must be all lowercase both in the AWS console and in Salt, otherwise you may encounter "SignatureDoesNotMatch" errors. A multiple environment bucket must adhere to the following root directory structure: s3://<bucket name>/<environment>/<files>
|
---|
-
salt.fileserver.s3fs.
dir_list
(load)¶ Return a list of all directories on the master
-
salt.fileserver.s3fs.
envs
()¶ Return a list of directories within the bucket that can be used as environments.
-
salt.fileserver.s3fs.
file_hash
(load, fnd)¶ Return an MD5 file hash
-
salt.fileserver.s3fs.
file_list
(load)¶ Return a list of all files on the file server in a specified environment
-
salt.fileserver.s3fs.
file_list_emptydirs
(load)¶ Return a list of all empty directories on the master
-
salt.fileserver.s3fs.
find_file
(path, env='base', **kwargs)¶ Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match.
-
salt.fileserver.s3fs.
serve_file
(load, fnd)¶ Return a chunk from a file based on the data received
-
salt.fileserver.s3fs.
update
()¶ Update the cache file for the bucket.