https://github.com/awslabs/coldsnap

A command line interface for Amazon EBS snapshots

https://github.com/awslabs/coldsnap

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary

Keywords

amazon aws ebs snapshots

Keywords from Contributors

labels
Last synced: 5 months ago · JSON representation

Repository

A command line interface for Amazon EBS snapshots

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: apache-2.0
  • Language: Rust
  • Default Branch: develop
  • Homepage:
  • Size: 654 KB
Statistics
  • Stars: 240
  • Watchers: 17
  • Forks: 29
  • Open Issues: 24
  • Releases: 16
Topics
amazon aws ebs snapshots
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.md

coldsnap

coldsnap is a command-line interface that uses the Amazon EBS direct APIs to upload and download snapshots.

It does not need to launch an EC2 instance or manage EBS volume attachments. It can be used to simplify snapshot handling in an automated pipeline.

Usage

Credentials

Coldsnap uses the same credential mechanisms as the aws cli. For example, if you have credentials in ~/.aws/credentials, these will be used. You can specify the name of the profile to be used by adding --profile profile-name.

You can also define environment variables, for example:

$ export AWS_ACCESS_KEY_ID=EXAMPLEAKIAIOSFODNN7 $ export AWS_SECRET_ACCESS_KEY=EXAMPLEKEYwJalrXUtnFEMI/K7MDENG/bPxRfiCY $ export AWS_DEFAULT_REGION=us-west-2

If the name of a profile is provided, then it will be used. If not, then the default behavior of the AWS Rust SDK credential provider will be used. Here is the description of the default behavior.

Upload

Upload a local file into an EBS snapshot:

$ coldsnap upload disk.img

If you want to wait for the uploaded snapshot to be in "available" state, add --wait:

$ coldsnap upload --wait disk.img

Alternately, you can use coldsnap wait, which offers more flexibility in terms of wait duration and behavior.

$ coldsnap wait snap-1234

If you want to add tags to the uploaded snapshot, add --tag Key=k,Value=v for each desired tag:

$ coldsnap upload snap-1234 --tag "Key=MyKeyName,Value=MyKeyValue" --tag "Key=MyOtherKeyName,Value=MyOtherKeyValue"

If you want to omit blocks of all zeroes when uploading a snapshot, add --omit-zero-blocks. This was the historical behavior, but is usually incompatible with encrypted EBS snapshots. Applications that write zeroes to blocks will expect to read zeroes back, and for that to work, the blocks must be present in the snapshot. If unsure, avoid using this option.

$ coldsnap upload disk.img --omit-zero-blocks

If you want to encrypt with a specific KMS key when uploading a snapshot, add --kms-key-id and the desired ARN.

$ coldsnap upload disk.img --kms-key-id arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d

Download

Download an EBS snapshot into a local file:

$ coldsnap download snap-1234 disk.img

Run coldsnap --help to see more options.

Installation

coldsnap can be installed using cargo.

$ cargo install --locked coldsnap

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Create event: 31
  • Release event: 2
  • Issues event: 7
  • Watch event: 30
  • Delete event: 34
  • Issue comment event: 53
  • Push event: 12
  • Pull request review comment event: 6
  • Pull request review event: 46
  • Pull request event: 79
  • Fork event: 6
Last Year
  • Create event: 31
  • Release event: 2
  • Issues event: 7
  • Watch event: 30
  • Delete event: 34
  • Issue comment event: 53
  • Push event: 12
  • Pull request review comment event: 6
  • Pull request review event: 46
  • Pull request event: 79
  • Fork event: 6

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 145
  • Total Committers: 17
  • Avg Commits per committer: 8.529
  • Development Distribution Score (DDS): 0.559
Past Year
  • Commits: 59
  • Committers: 8
  • Avg Commits per committer: 7.375
  • Development Distribution Score (DDS): 0.559
Top Committers
Name Email Commits
dependabot[bot] 4****]@u****m 64
Patrick J.P. Culp j****p@a****m 29
Tom Kirchner t****k@a****m 12
Ben Cressey b****y@a****m 10
Matt Briggs b****t@a****m 10
Zac Mrowicki m****i@a****m 4
Richard Kelly r****y@a****m 3
Matthew James Briggs m****s@g****m 2
Sean McGinnis s****g@a****m 2
Sean P. Kelly s****l@a****m 2
padonija p****a@a****m 1
Amazon GitHub Automation 5****o@u****m 1
Jun'ichi Okuda o****n@a****m 1
Tom Kirchner t****h@u****m 1
Jake Goulding j****g@g****m 1
Graham Christensen g****m@g****m 1
Ryan Zoeller r****r@r****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 27
  • Total pull requests: 287
  • Average time to close issues: 8 months
  • Average time to close pull requests: 28 days
  • Total issue authors: 21
  • Total pull request authors: 14
  • Average comments per issue: 1.78
  • Average comments per pull request: 0.97
  • Merged pull requests: 91
  • Bot issues: 2
  • Bot pull requests: 234
Past Year
  • Issues: 6
  • Pull requests: 69
  • Average time to close issues: 2 months
  • Average time to close pull requests: 27 days
  • Issue authors: 6
  • Pull request authors: 5
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.86
  • Merged pull requests: 11
  • Bot issues: 1
  • Bot pull requests: 58
Top Authors
Issue Authors
  • FireballDWF (3)
  • arianvp (2)
  • dependabot[bot] (2)
  • webern (2)
  • iliana (2)
  • bcressey (1)
  • dochost (1)
  • camtarn (1)
  • xooxo (1)
  • MetaMan2023 (1)
  • christophetd (1)
  • okudajun (1)
  • Jayesh-Cldscle (1)
  • fadookie (1)
  • qfisch (1)
Pull Request Authors
  • dependabot[bot] (234)
  • jpculp (27)
  • webern (7)
  • bcressey (5)
  • qianxjcraig (2)
  • wang384670111 (2)
  • WrightJosh (2)
  • stmcginnis (2)
  • ecpullen (1)
  • cbgbt (1)
  • rpkelly (1)
  • kdavyd (1)
  • grahamc (1)
  • okudajun (1)
Top Labels
Issue Labels
enhancement (2) dependencies (2) rust (2) documentation (1) good first issue (1)
Pull Request Labels
dependencies (233) rust (229) github_actions (4)

Packages

  • Total packages: 2
  • Total downloads:
    • cargo 459,287 total
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 22
    (may contain duplicates)
  • Total versions: 34
  • Total maintainers: 1
proxy.golang.org: github.com/awslabs/coldsnap
  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
crates.io: coldsnap

A library and command-line interface for uploading and downloading Amazon EBS snapshots

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 22
  • Downloads: 459,287 Total
Rankings
Downloads: 3.5%
Dependent repos count: 5.8%
Stargazers count: 12.1%
Forks count: 12.3%
Average: 14.0%
Dependent packages count: 36.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

Cargo.lock cargo
  • 165 dependencies
.github/workflows/rust.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite