Skip to content

Latest commit

 

History

History
89 lines (57 loc) · 2.29 KB

README.md

File metadata and controls

89 lines (57 loc) · 2.29 KB

deleterious

codecov

Helps you clean up AWS resources. This is handy when retention policies on CloudFormation stacks leave lots of orphaned AWS resources around costing money.

installation for homebrew (MacOS/Linux)

brew install kindlyops/tap/deleterious

once installed, you can upgrade to a newer version using this command:

brew upgrade kindlyops/tap/deleterious

installation for scoop (Windows Powershell)

To enable the bucket for your scoop installation

scoop bucket add kindlyops https://github.com/kindlyops/kindlyops-scoop

To install deleterious

scoop install deleterious

once installed, you can upgrade to a newer version using this command:

scoop status
scoop update deleterious

installation from source

go get github.com/kindlyops/deleterious
deleterious help

Example of deleting DynamoDB tables

Once deleterious gives you a list of things to delete, and you have manually confirmed they are ok to delete, you can make a little loop to delete the objects. Here is an example with dynamoDB tables

#!/bin/bash

# tables that need to be deleted
declare -a tables=("foo-MonkeyTable-1FDTVGZJOT25Y"
"foo-BananaTable-1HFLQZL7CVQ7L"
)

for i in "${tables[@]}"; do
	echo "deleting table: $i"
	aws dynamodb delete-table --table-name "$i"
done

Example of deleting S3 buckets

To list orphaned buckets, you can run

deleterious orphaned --resource "AWS::S3::Bucket"

To distill the output into only the bucket names, you can use jq

deleterious orphaned --resource "AWS::S3::Bucket" | jq -r '.[].Name'

Once deleterious gives you a list of things to delete, and you have manually confirmed they are ok to delete, you can make a little loop to delete the objects. Here is an example with S3 buckets

#!/bin/bash

# buckets that need to be deleted
declare -a buckets=("foo-bananabucket-148lv5q85e3dc"
	"foo-bananabucket-14bh2oapj6a3e"
)

for i in "${buckets[@]}"; do
	echo "deleting bucket: $i"
	aws s3api delete-bucket --bucket "$i"
done

Testing release process

To run goreleaser locally to test changes to the release process configuration:

goreleaser release --snapshot --skip-publish --rm-dist