gcp-snap-crab

Crates.iogcp-snap-crab
lib.rsgcp-snap-crab
version0.1.0
created_at2025-09-24 12:38:36.975306+00
updated_at2025-09-24 12:38:36.975306+00
descriptionA minimalist, powerful, terminal-based GCP backup and restore tool written in Rust
homepagehttps://github.com/ruteckimikolaj/gcp-snap-crab
repositoryhttps://github.com/ruteckimikolaj/gcp-snap-crab
max_upload_size
id1853051
size135,620
Miko (ruteckimikolaj)

documentation

README

Version https://spdx.org/licenses/CC-BY-NC-SA-4.0.json Platform Rust Version https://crates.io/crates/gcp-snap-crab Homebrew GitHub Repo Stars

🦀 GCP Snap Crab

A minimalist set of scripts to restore Google Cloud Platform (GCP) resources from backups.

Table of Contents

✨ Features

  • Restore GCE Snapshots: Apply snapshots to existing disks. Currently only mysql instances are supported.
  • Restore GCE Disks: Create new disks from snapshots. in progress
  • Restore GKE Clusters: Restore GKE clusters from backups.in progress

Prerequisites

Before you begin, ensure you have the following installed and configured:

  • Google Cloud SDK (gcloud) authenticated to your account.
  • Python 3.8+
  • A GCP project with the necessary APIs enabled (e.g., Compute Engine API).
  • Appropriate IAM permissions to manage the resources you intend to restore (e.g., roles/compute.instanceAdmin.v1).

📸 Screenshots

📦 Installation

Using Cargo

If you have the Rust toolchain installed, you can install gcp-snap-crab directly from crates.io:

cargo install gcp-snap-crab

Using Homebrew (macOS)

Coming soon! Once the project is published, you will be able to install it with:

brew install gcp-snap-crab

🚀 Special thanks to creators/contributors of used packages

❤️ Contributing

This is my second project in Rust, and I'm passionate about making it better! I welcome all forms of contributions, from feature suggestions and bug reports to code improvements and pull requests.

If you have ideas on how to improve the code, make it more idiomatic, or enhance its performance, please don't hesitate to open an issue or a pull request. Your feedback is incredibly valuable.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some amazing feature').
  5. Push to the branch (git push origin feature/your-feature-name).
  6. Open a Pull Request.
Commit count: 2

cargo fmt