dumont
Getting Started

Quickstart

Copy, list, and cat files — then take the zero-config end-to-end tour.

These work with no configuration at all — bare paths address the local filesystem.

echo "hello" | dumont cp - /tmp/greeting.txt   # write a file from stdin
dumont cat /tmp/greeting.txt                    # → hello
dumont cp -r ./project /tmp/backup/             # recursive copy into a directory
dumont caps mem                                 # what can a backend do?

- is stdin as a source and stdout as a destination, so dumont composes with pipes:

pg_dump mydb | gzip | dumont cp - /tmp/db.sql.gz
dumont cat /tmp/db.sql.gz | gunzip | head

Talking to cloud stores

Cloud stores are addressed by a scheme you define in config. A minimal S3 remote:

# ~/.config/dumont/config.yaml
remotes:
  aws:
    type: s3
    region: us-east-1
    credentials:
      access_key_id:     env:AWS_ACCESS_KEY_ID
      secret_access_key: env:AWS_SECRET_ACCESS_KEY

Then:

dumont ls   aws://my-bucket/
dumont cp   ./report.csv aws://my-bucket/reports/
dumont sync ./site aws://my-bucket/www --delete

See Configuration for credential references and all backend options, and Addressing for the full scheme syntax.

On this page