Skip to content

Frieza clean your cloud resources !

Notifications You must be signed in to change notification settings

outscale/frieza

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frieza

Project Graduated

Terminal Icon
Cleanup your cloud resources!


🌐 Links


📄 Table of Contents


🧭 Overview

Frieza is a CLI tool to clean up cloud resources across multiple providers.

It can either wipe all resources in an account or compare a known “clean state” snapshot and delete only what was created since.


🚀 Use Cases

  • Full Cleanup: Delete all cloud resources from a specific account or region.

    frieza nuke regionEu2
  • Snapshot-based Cleanup:

    1. Keep your essential resources

    2. Create a snapshot

      frieza snap new cleanAccountState regionEu2
    3. Run temporary experiments that create resources

    4. Clean everything not present in the original snapshot

      frieza clean cleanAccountState

✨ Features

  • Multi-provider support (see list)
  • Clean resources based on current state or snapshot delta
  • Store multiple profiles and configurations
  • Track and review deleted resources before execution
  • Optional --auto-approve for automated cleanup

✅ Requirements

  • Golang (to build from source)
  • Make
  • A valid cloud account (e.g., Outscale API credentials)

⚙ Installation

macOS (via Homebrew)

brew tap outscale/tap
brew install frieza

Other OS (manual)

Download the latest release from the Releases page.

Or build from source:

git clone https://github.com/outscale/frieza.git
cd frieza
make install

🧪 Usage

Run the CLI to discover subcommands:

frieza --help

Use --help with subcommands for detailed usage.


🔐 Manage Profiles

Configure access to your cloud providers:

frieza profile new outscale_oapi --help
frieza profile new outscale_oapi myDevAccount --region=eu-west-2 --ak=XXX --sk=YYY
frieza profile test myDevAccount
frieza profile list
frieza profile describe myDevAccount
frieza profile rm myDevAccount

Profiles are stored in: ~/.frieza/config.json


📸 Manage Snapshots

Create and manage snapshots of cloud state:

frieza snapshot new myFirstSnap myDevAccount myOtherAccount
frieza snapshot list
frieza snapshot describe myFirstSnap
frieza snapshot update myFirstSnap
frieza snapshot rm myFirstSnap

Snapshots are stored in: ~/.frieza/snapshots/


💥 Cleanup Resources

Delete resources created since a snapshot:

frieza clean myFirstSnap

Delete all resources for a profile:

frieza nuke myDevAccount

You will see a preview of the deletions before execution. Use --auto-approve to skip confirmation prompts.


⚙ Configuration

Use the frieza config subcommands to view and modify CLI options.


🏗 Building from Source

To build Frieza from source:

make build
# Output binary is located at: cmd/frieza/frieza

📜 License

Frieza is licensed under the BSD 3-Clause License. © Outscale SAS

License files are available in the LICENSES directory. This project follows the REUSE Specification.

About

Frieza clean your cloud resources !

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 9