Usage

Installation

Currently, installation is done through cargo:

cargo install --git https://github.com/findelabs/tackd.git

Usage

Tackd utilizes MongoDB to store the metadata for all objects uploaded through the service. To run Tackd locally, you will need a connection to a MongoDB cluster, along with permissions to a database, which defaults to tackd.

For object storage, Tackd supports either Google Cloud Storage, or Azure Blob as destinations. Azure connections are done through an Azure storage account and an Azure access key. Connections to Google Cloud Storage is done through the SERVICE_ACCOUNT_JSON environment variable, which accepts a service account json string.

USAGE:
    tackd [OPTIONS] --mongo <mongo> --bucket <bucket> --keys <keys>

OPTIONS:
    -a, --admin <admin>
            MongoDB Admin Collection [env: TACKD_MONGODB_ADMIN_COLLECTION=] [default: admin]

    -A, --azure_storage_account <azure_storage_account>
            Set Azure Storage Account [env: AZURE_STORAGE_ACCOUNT=]

    -b, --bucket <bucket>
            Bucket name [env: TACKD_BUCKET=]

    -c, --collection <collection>
            MongoDB Metadata Collection [env: TACKD_MONGODB_COLLECTION=] [default: uploads]

    -d, --database <database>
            MongoDB Database [env: TACKD_MONGODB_DATABASE=] [default: tackd]

    -e, --encrypt_data
            Encrypt data before committing to object storage [env: TACKD_ENCRYPT_DATA=]

    -h, --help
            Print help information

    -i, --ignore_link_key
            Ignore link keys, useful for private deployments [env: TACKD_IGNORE_LINK_KEY=]

    -k, --keys <keys>
            Set encryption keys [env: TACKD_KEYS=]

    -l, --limit <limit>
            Set the max payload size in bytes [env: TACKD_UPLOAD_LIMIT=] [default: 10485760]

    -m, --mongo <mongo>
            MongoDB connection url [env: TACKD_MONGODB_URL=]

    -p, --port <port>
            Set port to listen on [env: TACKD_PORT=] [default: 8080]

    -r, --retention <retention>
            Set the default retention ms [env: TACKD_RETENTION_MS=] [default: 3600]

    -R, --reads <reads>
            Set the default read count [env: TACKD_READS=] [default: -1]

    -s, --azure_storage_access_key <azure_storage_access_key>
            Set Azure Storage Access Key [env: AZURE_STORAGE_ACCESS_KEY=]

    -u, --url <url>
            Declare url [env: TACKD_EXTERNAL_URL=] [default: http://localhost:8080]

    -U, --users <users>
            MongoDB Users Collection [env: TACKD_MONGODB_USERS_COLLECTION=] [default: users]

    -V, --version
            Print version information