Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

The commandline client is a commandline tool for using the reference clients.

It currently supports the operations GetFile, GetFileIDs, GetChecksums, PutFile, DeleteFile and ReplaceFile.

Installation

Requires java 8 and perl is install to run on Linux and Mac.

Requires java8 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. 

Code Block
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 client certificate needs to be define. In this case the client expects to find a certificate name client-certificate.pem in the conf folder. Either name the certificate client-certificate.pem  directly or create a symlink to the certificate.

Execute

The different commands can be run with the bitmag.sh script (bitmag.cmd on windows). Eg. 

Code Block
./bitmag.sh get-checksums -c test1

Will fetch the checksums for the test1 collection.

get-file

Retrieves a file. It takes the following arguments:

  • [MANDATORY] The id of the file to.

  • [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.

get-file-ids

Get the list of files in a collection '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.

get-checksums

Lists the checksum for the files in the indicated collection. It takes the following arguments:

  • [MANDATORY] -c The id for the collection to retrieve checksums from.

  • [OPTIONAL] -i The id of the file to retrieve the checksum from. If no such argument, then the checksums of all files are retrieved.

  • [OPTIONAL] -p The id of the pillar to retrieve checksums from.
  • [OPTIONAL] -S The salt of checksum to request in the response. Requires the -R ChecksumType (algorithm) argument with a salt type algorithm.

  • [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.

put-file

Puts a file into a collection. It takes the following arguments:

  • [MANDATORY] -c The id for the collection to place the the file in.

  • -f The path to the file, which is wanted to be put.
  • -u The URL where the file can be downloaded.
    • [MANDATORY] Most have either -f or -u arguments, though never both.
  • -C The checksum of the new file
    • -C is required, if -u argument is used, and optional if -f is used.
  • -i The id for the file to perform the operation on.
    • -i is required, if -u argument is used, and optional if -f is used.
  • [OPTIONAL] -S The salt of checksum to request in the response. Requires the -R 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.

  • [OPTIONAL] -p The pillar to put the file at. If left out, then the file is put to all pillars.
  • [OPTIONAL] -d For removing the file from the file-server after the put-file operation is completed.

delete

Deletes a file in the bitrepository. It takes the following arguments:

  • [MANDATORY] -p The id of the pillar where the file should be delete.

  • [MANDATORY] -i The id for the file to perform the operation on
  • [MANDATORY] -c The id for the collection to place the the file in.

  • [MANDATORY] -C The checksum of the file to be delete (in the collection default checksum specificiation).

  • [OPTIONAL] -S The salt of checksum to request in the response. Requires the -R ChecksumType (algorithm) argument with a salt type algorithm.

  • [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.

replace-file

Replaces a file in the bitrepository with the provided file. It takes the following arguments:

  • [MANDATORY] -c The id for the collection to perform the operation on

  • [MANDATORY] -C The checksum of the file to be replaced.

  • [MANDATORY] -p The id of the pillar where the should be performed.

  • -f The path to the new file for the replacement.
  • -u The URL where the replacement file can be downloaded.
    • [MANDATORY] Most have either -f or -u arguments, though never both.
  • -r The checksum of the new file
    • -r is required, if -u argument is used, and optional if -f is used.
  • -i The id for the file to perform the operation on.
    • -i is required, if -u argument is used, and optional if -f is used.
  • -R [OPTIONAL] 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.
  • -S [OPTIONAL] The salt of checksum to request in the response. Requires the -R ChecksumType (algorithm) argument with a salt type algorithm.