Python CLI for cassandra snapshots. CLI allows to store and restore snapshot and uses AWS S3 bucket as storage.
Project description
Python Cassandra CLI tool
Descirptoin
CLI has 7 main commands:
- copy-snapshot-folder Copy folder with snapshots from s3 bucket
- restore-snapshot-keyspace Restore Keyspace snapshot from s3 bucket
- restore-snapshot-table Restore Table snapshot from s3 bucket
- store-snapshot-keyspace Take and store Keyspace snapshot to s3 bucket
- store-snapshot-table Take and store Table snapshot to s3 bucket
- store-backup-keyspace Take and store Keyspace backup to s3 bucket without running nodetool, sstableloader, and cqlsh
- restore-backup-keyspace Restore Keyspace backup from s3 bucket without running nodetool, sstableloader, and cqlsh
Release Notes
1.3.1
- Increased CSV file field size limit.
- Creation schema fix.
1.3.0
- store-backup-keyspace and restore-backup-keyspace commands which doesn't run nodetool, sstableloader, and cqlsh. It uses only cassandra-driver.
1.2.1
- --truststore-password and --keystore-password options
which is used in sstableloader command in "restore-snapshot-keyspace" and "restore-snapshot-table" - --version option
1.1.1
Clean up code
1.1.0
- Added --ssl flag for cqlsh command if connection supports only SSL connection; --ssl-cqlsh option
- Logic -p flag for sstableloader not mandatory for SSL connection type
- Overriding folder main folder name; --snapshot-folder-override option
1.0.3
Fix option description: create-keyspace-schema
1.0.2
Updated Authentication logic
1.0.1
Added boto3 libs in requirements
1.0.0
Initial release
AWS resources access
AWS S3 bucket
- You need to set -s3(--s3-bucket), -id(--aws-access-key-id) and -key(--aws-secret-access-key) options for the connection to AWS S3 bucket via access key.
- If your host has AWS profile setup in .aws/credentials and/or IAM role with s3 bucket permissons then CLI needs only -s3(--s3-bucket) option.
AWS Systems Manager
- You need to set -sn(--secret-name), -id(--aws-access-key-id) and -key(--aws-secret-access-key) for getting secrest from Paramenter Store.
- If your host has AWS profile setup in .aws/credentials and/or IAM role with SSM permissons then CLI needs only -sn(--secret-name) option.
- Optionally you can change -r(--aws-region) for SSM. Default value is 'us-east-1'
Commands examples:
Store keyspace snapshot on s3
python-cassandra-cli store-snapshot-keyspace
-k my_keyspace
-t tag-01-keyspace
-e dev
-s3 my.s3.bucket
-h "10.99.3.55"
--ssm-secret -sn /cassandra/dev
Store keyspace snapshot on s3 with keyspace schema
python-cassandra-cli store-snapshot-keyspace
-k my_keyspace
-t tag-01-keyspace
-e dev -s3 my.s3.bucket -h "10.99.3.55"
--ssm-secret -sn /cassandra/dev
--create-keyspace-schema
Store table snapshot on s3 with keyspace schema
python-cassandra-cli store-snapshot-table
-k my_keyspace
-tn my_table
-t tag-01-table
-e dev
-s3 my.s3.bucket
-h "10.99.3.55"
--ssm-secret
-sn /cassandra/dev
--create-keyspace-schema
Resotore table
python-cassandra-cli restore-snapshot-table
-sf 1608700346_snapshots_tag-01-keyspace_my_keyspace_develop
-t tag-01-table
-k my_keyspace
-tn my_table -h "10.99.3.55"
--ssm-secret
-sn /cassandra/dev
-s3 my.s3.bucket
Restore table ssl
python-cassandra-cli restore-snapshot-table
-sf 1608700346_snapshots_tag-01-table_my_table_develop
-t tag-01-table
-k my_keyspace
-tn my_table
-h "10.99.3.55"
--ssm-secret
-s3 my.s3.bucket
-sn /cassandra/dev
-cf /etc/cassandra/conf/cassandra.yaml
-ks /etc/cassandra/conf/keystore.node0
-ts /etc/cassandra/conf/truststore.node0
-ssl
-pt 9142
Restore keyspace ssl with keyspace creation
python-cassandra-cli restore-snapshot-keyspace
-sf 608700346_snapshots_tag-01-keyspace_my_keyspace_develop
-t tag-01-keyspace
-k my_keyspace
-h "10.99.3.55"
--ssm-secret
-s3 my.s3.bucket
-sn /cassandra/dev
--create-keyspace-schema
-e develop
-cf /etc/cassandra/conf/cassandra.yaml
-ks /etc/cassandra/conf/keystore.node0
-ts /etc/cassandra/conf/truststore.node0
-ssl
-pt 9142
Copy folder with sanpshot on local
python-cassandra-cli copy-snapshot-folder
-s3 my.s3.bucket
-sf 1608700346_snapshots_tag-01-keyspace_my_keyspace_develop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python-cassandra-cli-1.3.1.tar.gz
(13.0 kB
view hashes)
Built Distribution
Close
Hashes for python-cassandra-cli-1.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d96f83ed3d45f2589f12105946f3dfbc0992b0aa6a68d4379b39f6526c0b866 |
|
MD5 | 0ea1e4e57088c347c8b794f9adfe1fa6 |
|
BLAKE2b-256 | 8733301471b374b72961880f3c23d1639083b71c5fed0655fee1c57661d31a1f |
Close
Hashes for python_cassandra_cli-1.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f30ec2e128930fadbf1f5f03dd744395b7845383cdd70fff0eccbfcf9c465de1 |
|
MD5 | da63e629b099f091698bdb3e5cfd9f75 |
|
BLAKE2b-256 | c29a8bcc36e9063697e9b47b0c2dfee5256cae1f2e0f98ab5d98e485e586d26e |