The commandline client is a commandline tool for using the reference clients.
It currently supports the operations GetFile, GetFileIDs, GetChecksums, PutFile, and DeleteFile.
Installation
Requires java and perl is install to run on Linux and Mac.
Requires java7 to run on Windows.
Download the chosen version of the bitrepository-command-line-XXX-distributed.tar.gz from here (XXX refers to the version):
https://sbforge.org/nexus/content/repositories/releases/org/bitrepository/reference/bitrepository-client/. The latest devel client can be found here.
Unpack the file in any wanted location, eg.
tar -xvf bitrepository-command-line-XXX-distributed.tar.gz
It requires a 'conf' sub-directory to the installation which contain all the settings, etc. for the setup of the collection. This can be done in either of the two ways:
- Create the 'conf' directory and copy all the settings file into it.
- Make a symbolic link to the 'conf' directory for the webclient or the services in the collection (e.g. 'ln -s /my/bitrepository/services/conf).
Certificate
If secure communication is used for this bit repository, a certificate configured in the repository settings, needs to be added.
- Update the ~/bitmag.sh file to point to the relevant certificate. Default is conf/mycert-key.pem
Execute
The different commands can be run with the bitmag.sh script (bitmag.cmd on windows). Eg.
./bitmag.sh get-checksums -c test1
Will fetch the checksums for the test1 collection.
Help
Will print the list of commands.
GetFile
Perform the GetFile by running the 'get-file' command. It takes the following arguments:
[MANDATORY] -i The id for the file to retrieve.
[MANDATORY] -c The id for the collection to retrieve the file for.
[OPTIONAL] -p The id of the pillar where the file should be retrieved from. If no argument, then the file will be retrieved from the fastest pillars.
[OPTIONAL] -l The location where the file should be placed (either total path or directory). If no argument, then in the directory where the script is located.
GetFileIDs
Perform the GetFileIDs by running the 'get-file-ids.sh' command. It takes the following arguments:
[MANDATORY] -c The id for the collection to retrieve the file for.
[OPTIONAL] -i The id of the file to retrieve. If no such argument, then the id of all files are retrieved.
- [OPTIONAL] -p The id of the pillar where the id should be retrieved.
GetChecksum
Perform the GetChecksum by running the 'get-checksums' command. It takes the following arguments:
[MANDATORY] -c The id for the collection to retrieve the file for.
[OPTIONAL] -i The id of the file to retrieve. If no such argument, then the checksums of all files are retrieved.
- [OPTIONAL] -p The id of the pillar where the F
[OPTIONAL] -S The salt of checksum to request in the response. Requires the ChecksumType argument.
[OPTIONAL] -R The algorithm of checksum to request in the response from the pillars. Allowed values are: MD5, SHA1, SHA256, SHA384, SHA512. If using a salt, prefix the listed types with HMAC_, eg. HMAC_MD5.
PutFile
Perform the PutFile by running the 'putfile.sh' script. It takes the following arguments:
[MANDATORY] -f The path to the file, which is wanted to be put.
[MANDATORY] -c The id for the collection to place the the file in.
[OPTIONAL] -S The salt of checksum to request in the response. Requires the ChecksumType argument.
[OPTIONAL] -R The algorithm of checksum to request in the response from the pillars.
[OPTIONAL] -i A ID for the file (default is the name of the file).
DeleteFile
Perform the DeleteFile by running the 'delete-file' command. It takes the following arguments:
[MANDATORY] -f The path to the file, which is wanted to be deleted (the actual file is required for calculating the checksums etc. for performing the delete operation).
[MANDATORY] -c The id for the collection to place the the file in.
[OPTIONAL] -C The checksum of the file to be delete (in the collection default checksum specficiation).
[OPTIONAL] -S The salt of checksum to request in the response. Requires the ChecksumType argument.
[OPTIONAL] -R The algorithm of checksum to request in the response from the pillars.
-p The id of the pillar where the file should be delete.
ReplaceFile
Replace a file running the 'replace-file' command. It takes the following arguments:
-f The path to the new file for the replacement.
-c The id for the collection to perform the operation on.
-S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument.
-R [OPTIONAL] The algorithm of checksum to request in the response from the pillars.
-C [OPTIONAL] The checksum of the file to be replaced.
-p The id of the pillar where the should be performed.
-i The id for the file to perform the operation on.