An open API service indexing awesome lists of open source software.

https://github.com/outscale/frieza

Frieza clean your cloud resources !
https://github.com/outscale/frieza

maturity-graduated

Last synced: 2 months ago
JSON representation

Frieza clean your cloud resources !

Awesome Lists containing this project

README

          

# Frieza

[![Project Graduated](https://docs.outscale.com/fr/userguide/_images/Project-Graduated-green.svg)](https://docs.outscale.com/en/userguide/Open-Source-Projects.html) [![](https://dcbadge.limes.pink/api/server/HUVtY5gT6s?style=flat&theme=default-inverted)](https://discord.gg/HUVtY5gT6s)


Terminal Icon


Cleanup your cloud resources!

---

## 🌐 Links

* πŸ“˜ Documentation: [Supported Providers](./providers.md)
* πŸ“¦ Releases: [GitHub Releases](https://github.com/outscale-dev/frieza/releases)
* 🀝 Contribution Guide: [CONTRIBUTING.md](./CONTRIBUTING.md)
* πŸ’¬ Join us on [Discord](https://discord.gg/HUVtY5gT6s)

---

## πŸ“„ Table of Contents

* [Overview](#-overview)
* [Use Cases](#-use-cases)
* [Features](#-features)
* [Requirements](#-requirements)
* [Installation](#-installation)
* [Usage](#-usage)

* [Manage Profiles](#manage-profiles)
* [Manage Snapshots](#manage-snapshots)
* [Cleanup Resources](#cleanup-resources)
* [Configuration](#configuration)
* [Building from Source](#-building-from-source)
* [License](#-license)

---

## 🧭 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.

```bash
frieza nuke regionEu2
```

* **Snapshot-based Cleanup:**

1. Keep your essential resources
2. Create a snapshot

```bash
frieza snap new cleanAccountState regionEu2
```
3. Run temporary experiments that create resources
4. Clean everything not present in the original snapshot

```bash
frieza clean cleanAccountState
```

---

## ✨ Features

* Multi-provider support ([see list](./providers.md))
* 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)

```bash
brew tap outscale/tap
brew install frieza
```

### Other OS (manual)

Download the latest release from the [Releases page](https://github.com/outscale-dev/frieza/releases).

Or build from source:

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

---

## πŸ§ͺ Usage

Run the CLI to discover subcommands:

```bash
frieza --help
```

Use `--help` with subcommands for detailed usage.

---

### πŸ” Manage Profiles

Configure access to your cloud providers:

```bash
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:

```bash
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**:

```bash
frieza clean myFirstSnap
```

Delete **all resources** for a profile:

```bash
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:

```bash
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`](./LICENSES) directory.
This project follows the [REUSE Specification](https://reuse.software/).