aws-nuke

command module
v3.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2024 License: MIT Imports: 11 Imported by: 0

README

aws-nuke

license release Go Report Card Maintainability GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release)

Overview

Remove all resources from an AWS account.

aws-nuke is stable, but it is likely that not all AWS resources are covered by it. Be encouraged to add missing resources and create a Pull Request or to create an Issue.

What's New in Version 3

Version 3 is a rewrite of this tool using libnuke with a focus on improving a number of the outstanding things that I couldn't get done with the original project without separating out the core code into a library. See Goals below for more.

This is not a comprehensive list, but here are some of the highlights:

  • New Feature: Signed Darwin Binaries for macOS
  • New Feature: Published Homebrew Tap (ekristen/tap/aws-nuke@3)
  • New Feature: Global Filters
  • New Feature: Run Against All Enabled Regions
  • New Feature: Explain Account and Explain Config Commands
  • Upcoming Feature: Filter Groups (in progress)
  • Breaking Change: root command no longer triggers the run, must use subcommand run (alias: nuke)
  • Breaking Change: CloudFormation Stacks now support a hold and wait for parent deletion process
  • Breaking Change: Nested CloudFormation Stacks are now eligible for deletion and no longer omitted
  • Completely rewrote the core of the tool as a dedicated library libnuke
    • This library has over 95% test coverage which makes iteration and new features easier to implement.
  • Semantic Releases with notifications on issues / pull requests
  • Context is passed throughout the entire library now, including the listing function and the removal function
    • This is in preparation for supporting AWS SDK Go v2
  • New Resources
  • Broke away from rebuy-de/aws-nuke project as a fork for reasons outlined in the history section
Goals
  • Easier maintainability and bug fixing, see go report and code climate badges above
  • Adding additional tests around the core library
  • Adding more tests around specific resource types
  • Adding additional resources and tooling to make adding resources easier
  • Adding documentation for adding resources and using the tool
  • Consider adding DAG for dependencies between resource types and individual resources
  • Support for AWS SDK Go v2

Documentation

All documentation is in the docs/ directory and is built using Material for Mkdocs.

It is hosted at https://ekristen.github.io/aws-nuke/.

History of this Fork

Important: this is a full fork of the original tool written by the folks over at rebuy-de. This fork became necessary after attempting to make contributions and respond to issues to learn that the current maintainers only have time to work on the project about once a month and while receptive to bringing in other people to help maintain, made it clear it would take time. Considering the feedback cycle was already weeks on initial communications, I had to make the hard decision to fork and maintain it.

libnuke

I also needed a version of this tool for Azure and GCP, and initially I just copied and altered the code I needed for Azure, but I didn't want to have to maintain multiple copies of the same code, so I decided to create libnuke to abstract all the code that was common between the two tools and write proper unit tests for it.

The rewrite of this tool to use libnuke would not have been possible without the hard work that came before me on the original tool by the team and contributors over at rebuy-de and their original work on rebuy-de/aws-nuke.

This tool is licensed under the MIT license. See the LICENSE file for more information. The bulk of this tool was rewritten to use libnuke which was in part originally sourced from rebuy-de/aws-nuke.

Contribute

You can contribute to aws-nuke by forking this repository, making your changes and creating a Pull Request against this repository. If you are unsure how to solve a problem or have other questions about a contributions, please create a GitHub issue.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
mocks
mock_autoscalingiface
Package mock_autoscalingiface is a generated GoMock package.
Package mock_autoscalingiface is a generated GoMock package.
mock_budgetsiface
Package mock_budgetsiface is a generated GoMock package.
Package mock_budgetsiface is a generated GoMock package.
mock_cloudformationiface
Package mock_cloudformationiface is a generated GoMock package.
Package mock_cloudformationiface is a generated GoMock package.
mock_cognitoidentityprovideriface
Package mock_cognitoidentityprovideriface is a generated GoMock package.
Package mock_cognitoidentityprovideriface is a generated GoMock package.
mock_dynamodbiface
Package mock_dynamodbiface is a generated GoMock package.
Package mock_dynamodbiface is a generated GoMock package.
mock_ecsiface
Package mock_ecsiface is a generated GoMock package.
Package mock_ecsiface is a generated GoMock package.
mock_elasticacheiface
Package mock_elasticacheiface is a generated GoMock package.
Package mock_elasticacheiface is a generated GoMock package.
mock_gameliftiface
Package mock_gameliftiface is a generated GoMock package.
Package mock_gameliftiface is a generated GoMock package.
mock_glueiface
Package mock_glueiface is a generated GoMock package.
Package mock_glueiface is a generated GoMock package.
mock_iamiface
Package mock_iamiface is a generated GoMock package.
Package mock_iamiface is a generated GoMock package.
mock_kmsiface
Package mock_kmsiface is a generated GoMock package.
Package mock_kmsiface is a generated GoMock package.
mock_pinpointsmsvoicev2iface
Package mock_pinpointsmsvoicev2iface is a generated GoMock package.
Package mock_pinpointsmsvoicev2iface is a generated GoMock package.
mock_quicksightiface
Package mock_quicksightiface is a generated GoMock package.
Package mock_quicksightiface is a generated GoMock package.
mock_route53iface
Package mock_route53iface is a generated GoMock package.
Package mock_route53iface is a generated GoMock package.
mock_route53resolveriface
Package mock_route53resolveriface is a generated GoMock package.
Package mock_route53resolveriface is a generated GoMock package.
mock_sagemakeriface
Package mock_sagemakeriface is a generated GoMock package.
Package mock_sagemakeriface is a generated GoMock package.
mock_secretsmanageriface
Package mock_secretsmanageriface is a generated GoMock package.
Package mock_secretsmanageriface is a generated GoMock package.
mock_servicediscoveryiface
Package mock_servicediscoveryiface is a generated GoMock package.
Package mock_servicediscoveryiface is a generated GoMock package.
mock_sqsiface
Package mock_sqsiface is a generated GoMock package.
Package mock_sqsiface is a generated GoMock package.
mock_stsiface
Package mock_stsiface is a generated GoMock package.
Package mock_stsiface is a generated GoMock package.
pkg
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL