https://github.com/outscale/frieza
Frieza clean your cloud resources !
https://github.com/outscale/frieza
maturity-graduated
Last synced: 8 months ago
JSON representation
Frieza clean your cloud resources !
- Host: GitHub
- URL: https://github.com/outscale/frieza
- Owner: outscale
- Created: 2021-10-21T07:58:14.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-28T11:09:51.000Z (about 1 year ago)
- Last Synced: 2025-04-05T14:35:11.634Z (11 months ago)
- Topics: maturity-graduated
- Language: Go
- Homepage:
- Size: 276 KB
- Stars: 6
- Watchers: 6
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: docs/README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSES/BSD-3-Clause.txt
Awesome Lists containing this project
README
[](https://docs.outscale.com/en/userguide/Open-Source-Projects.html)
# Frieza
Cleanup your cloud ressources!
# Usecases
The main usecase is to free all resources inside a cloud account (e.g. `frieza nuke regionEu2`)
An other usecase is to use Frieza for cleaning additional resources since a known state:
1. You want to keep important resources on your account (virtual machines, volumes, etc)
2. Make a "snapshot" (e.g. `frieza snap new cleanAccountState regionEu2`
3. Run some experiment which create a number of resources
4. Once done, cleanup those additional resources with `frieza clean cleanAccountState`
# Features
- Support multiple providers, see [list of all providers and supported objects](providers.md)
- Can store resources from multiple profiles in one snapshot
# Installation
## MacOS
You can install frieza through homebrew:
1. Install [outscale tap](https://github.com/outscale/homebrew-tap): `brew tap outscale/tap` (without this brew will not find frieza package)
2. `brew install frieza`
## Other OS
You can go to [release page](https://github.com/outscale-dev/frieza/releases) and download the latest frieza binary.
Alternatively, you can also install frieza from sources:
```
git clone https://github.com/outscale-dev/frieza.git
cd frieza
make install
```
# Building
To build frieza, you will need golang and Make utilities:
- run `make build`
- binary is ready in `cmd/frieza/frieza`
# Usage
Type `frieza` to list all sub command, use `--help` parameter for more details.
## Manage Profiles
The subcommand `profile` allow you to manage all your provider configuration and test them.
Profiles are stored by default with frieza configuration in `~/.frieza/config.json`.
```
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
```
## Manage Snapshots
Frieza snapshots are only a listing of resources from one or more profiles at a specific time.
Snapshots are stored by default in `~/.frieza/snapshots/`.
```
frieza snapshot new myFristSnap myDevAccount myOtherAccount
frieza snapshot list
frieza snapshot describe myFristSnap
frieza snapshot rm myFristSnap
frieza snapshot update myFristSnap
```
## Delete resources
To delete all newly created resources since myFristSnap:
```
frieza clean myFristSnap
```
To delete ALL resources of a profile:
```
frieza nuke myDevAccount
```
Note that a listing of deleted resources is show before any action.
Confirmation is asked by default but you can overide this behavior with `--auto-approve` option.
## Set configuration
Frieza has a number of options which can set or unset.
Feel free to explore `frieza config` sub-commands.
# License
> Copyright Outscale SAS
>
> BSD-3-Clause
`LICENSE` folder contain raw licenses terms following spdx naming.
You can check which license apply to which copyright owner through `.reuse/dep5` specification.
You can test [reuse](https://reuse.software/.) compliance by running `make test-reuse`.