S3 Sync
Find a file
Paul Campbell 8585023c3e
Release to sonatype using correct profile name (#102)
* [changelog] updated

* [sbt] Specify sonatypeProfileName in commonSettings

This prevents the value being overridded by the `organization` value
from `inThisBuild`.
2019-07-03 13:50:28 +01:00
.github [github] Add stale configuration 2019-05-14 07:05:48 +01:00
bin Rename project to Thorp (#75) 2019-06-17 15:33:49 +01:00
cli/src [cli] Program handle actions list in stack safe manner (#93) 2019-06-30 08:47:51 +01:00
core/src Shutdown storage service once completed (#88) 2019-06-29 20:04:36 +01:00
domain/src Shutdown storage service once completed (#88) 2019-06-29 20:04:36 +01:00
project Release snapshots to sonatype from TravisCI (#92) 2019-06-30 12:23:04 +01:00
storage-api/src/main/scala/net/kemitix/thorp/storage/api Shutdown storage service once completed (#88) 2019-06-29 20:04:36 +01:00
storage-aws/src Shutdown storage service once completed (#88) 2019-06-29 20:04:36 +01:00
.gitignore Rename project to Thorp (#75) 2019-06-17 15:33:49 +01:00
.travis.yml [sbt,travis] revert most of "publish fat-jar", keeping cli jar name (#97) 2019-06-30 14:38:50 +01:00
build.sbt Release to sonatype using correct profile name (#102) 2019-07-03 13:50:28 +01:00
CHANGELOG.org Release to sonatype using correct profile name (#102) 2019-07-03 13:50:28 +01:00
LICENSE Create LICENSE 2019-06-07 21:25:23 +01:00
README.org [readme] updated 2019-06-30 15:31:00 +01:00

thorp

Usage

  thorp
  Usage: thorp [options]

    -s, --source <value>  Source directory to sync to S3
    -b, --bucket <value>  S3 bucket name
    -p, --prefix <value>  Prefix within the S3 Bucket
    -i, --include <value> Include matching paths
    -x, --exclude <value> Exclude matching paths
    -d, --debug           Enable debug logging
    --no-global           Ignore global configuration
    --no-user             Ignore user configuration

If you don't provide a source the current diretory will be used.

The --include and --exclude parameters can be used more than once.

Configuration

Configuration will be read from these files:

  • Global: /etc/thorp.conf
  • User: ~ /.config/thorp.conf
  • Source: ${source}/.thorp.conf

Command line arguments override those in Source, which override those in User, which override those Global, which override any built-in config.

Built-in config consists of using the current working directory as the source.

Note, that include and exclude are cumulative across all configuration files.

Behaviour

When considering a local file, the following table governs what should happen:

# local file remote key hash of same key hash of other keys action
1 exists exists matches - do nothing
2 exists is missing - matches copy from other key
3 exists is missing - no matches upload
4 exists exists no match matches copy from other key
5 exists exists no match no matches upload
6 is missing exists - - delete

Executable JAR

To build as an executable jar, perform `sbt assembly`

This will create the file `cli/target/scala-2.12/thorp`

Copy this file to your `PATH`.