Hi Maor,
I'm doing my tests with default cassandra docker image and latest minio.
kubectl run cassandra --labels='app=test' --restart=Never --image-pull-policy=IfNotPresent --image cassandra --env='CASSANDRA_CLUSTER_NAME=test'
Probably I'm doing something wrong.
Backup goes fine:
~ $ cain backup -n default -l app=test -k keyspace1 --dst s3://cassandra
2018/12/25 15:49:33 Backup started!
2018/12/25 15:49:33 Getting clients
2018/12/25 15:49:33 Getting pods
2018/12/25 15:49:33 Backing up schema
2018/12/25 15:49:36 Taking snapshots
2018/12/25 15:49:36 cassandra Taking snapshot of keyspace keyspace1
2018/12/25 15:49:39 cassandra Requested creating snapshot(s) for [keyspace1] with snapshot name [20181225154936] and options {skipFlush=false}
2018/12/25 15:49:39 cassandra Snapshot directory: 20181225154936
2018/12/25 15:49:39 Calculating paths. This may take a while...
2018/12/25 15:49:39 Starting files copy
2018/12/25 15:49:39 [01/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Data.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Data.db
2018/12/25 15:49:43 [01/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Data.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Data.db
2018/12/25 15:49:43 [02/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-CRC.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-CRC.db
2018/12/25 15:49:43 [02/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-CRC.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-CRC.db
2018/12/25 15:49:43 [03/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Index.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Index.db
2018/12/25 15:49:43 [03/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Index.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Index.db
2018/12/25 15:49:43 [04/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-TOC.txt -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-TOC.txt
2018/12/25 15:49:44 [04/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-TOC.txt -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-TOC.txt
2018/12/25 15:49:44 [05/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Statistics.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Statistics.db
2018/12/25 15:49:44 [05/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Statistics.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Statistics.db
2018/12/25 15:49:44 [06/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Summary.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Summary.db
2018/12/25 15:49:44 [06/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Summary.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Summary.db
2018/12/25 15:49:44 [07/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Filter.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Filter.db
2018/12/25 15:49:44 [07/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Filter.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Filter.db
2018/12/25 15:49:44 [08/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Digest.crc32 -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Digest.crc32
2018/12/25 15:49:44 [08/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-1-big-Digest.crc32 -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-1-big-Digest.crc32
2018/12/25 15:49:44 [09/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Data.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Data.db
2018/12/25 15:49:46 [09/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Data.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Data.db
2018/12/25 15:49:46 [10/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-CRC.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-CRC.db
2018/12/25 15:49:46 [10/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-CRC.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-CRC.db
2018/12/25 15:49:46 [11/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Index.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Index.db
2018/12/25 15:49:46 [11/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Index.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Index.db
2018/12/25 15:49:46 [12/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-TOC.txt -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-TOC.txt
2018/12/25 15:49:46 [12/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-TOC.txt -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-TOC.txt
2018/12/25 15:49:46 [13/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Statistics.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Statistics.db
2018/12/25 15:49:46 [13/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Statistics.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Statistics.db
2018/12/25 15:49:46 [14/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Summary.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Summary.db
2018/12/25 15:49:46 [14/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Summary.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Summary.db
2018/12/25 15:49:46 [15/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Filter.db -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Filter.db
2018/12/25 15:49:47 [15/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Filter.db -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Filter.db
2018/12/25 15:49:47 [16/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Digest.crc32 -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Digest.crc32
2018/12/25 15:49:47 [16/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/mc-2-big-Digest.crc32 -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/mc-2-big-Digest.crc32
2018/12/25 15:49:47 [17/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/manifest.json -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/manifest.json
2018/12/25 15:49:47 [17/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/manifest.json -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/manifest.json
2018/12/25 15:49:47 [18/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/schema.cql -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/schema.cql
2018/12/25 15:49:47 [18/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/standard1-82d54860085c11e9a9c0f16c51d72c25/snapshots/20181225154936/schema.cql -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/standard1/schema.cql
2018/12/25 15:49:47 [19/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/counter1-8388e0f0085c11e9a9c0f16c51d72c25/snapshots/20181225154936/manifest.json -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/counter1/manifest.json
2018/12/25 15:49:47 [19/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/counter1-8388e0f0085c11e9a9c0f16c51d72c25/snapshots/20181225154936/manifest.json -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/counter1/manifest.json
2018/12/25 15:49:47 [20/20] copy: k8s://default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/counter1-8388e0f0085c11e9a9c0f16c51d72c25/snapshots/20181225154936/schema.cql -> s3://cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/counter1/schema.cql
2018/12/25 15:49:48 [20/20] done: default/cassandra/cassandra/var/lib/cassandra/data/keyspace1/counter1-8388e0f0085c11e9a9c0f16c51d72c25/snapshots/20181225154936/schema.cql -> cassandra/default/test/keyspace1/dc0f5d/20181225154936/cassandra/counter1/schema.cql
In fact I can see the data in the bucket

But restore returns an unknown error:
~ $ cain restore --src "s3://cassandra/default/test/keyspace1" -n default -k keyspace1 -l app=test
2018/12/25 15:53:22 Restore started!
2018/12/25 15:53:22 Getting clients
2018/12/25 15:53:22 Getting pods
2018/12/25 15:53:22 Getting current schema
2018/12/25 15:53:23 error in Stream: command terminated with exit code 2
Hi Maor,
I'm doing my tests with default cassandra docker image and latest minio.
Probably I'm doing something wrong.
Backup goes fine:
In fact I can see the data in the bucket
But restore returns an unknown error: