Cuidado
Este repositório para aws-nuke não está mais sendo mantido ativamente. Recomendamos que os usuários mudem para o fork deste projeto mantido ativamente em ekristen/aws-nuke. Agradecemos todo o apoio e contribuições que recebemos ao longo da vida deste projeto. Acreditamos que o fork continuará a fornecer a funcionalidade e o suporte que você espera do aws-nuke. Observe que esta descontinuação significa que não iremos resolver problemas, aceitar solicitações pull ou fazer lançamentos futuros deste repositório. Obrigado pela sua compreensão e apoio.
Remova todos os recursos de uma conta AWS.
Status de desenvolvimento aws-nuke é estável, mas é provável que nem todos os recursos da AWS sejam cobertos por ele. Seja incentivado a adicionar recursos ausentes e criar uma solicitação pull ou criar um problema.
Esteja ciente de que aws-nuke é uma ferramenta muito destrutiva, portanto você deve ter muito cuidado ao usá-la. Caso contrário, você poderá excluir os dados de produção.
Recomendamos fortemente que você não execute este aplicativo em nenhuma conta da AWS, onde você não pode perder todos os recursos.
Para reduzir o raio de explosão dos acidentes, existem algumas precauções de segurança:
--no-dry-run
para realmente excluir recursos.prod
. Esta string é codificada e é recomendado adicioná-la a todas as contas de produção reais (por exemplo, mycompany-production-ecr
).Sinta-se à vontade para criar um problema, se tiver alguma ideia para melhorar os procedimentos de segurança.
Geralmente lançamos uma nova versão assim que mudanças suficientes são feitas e testadas por um tempo.
Você pode encontrar binários Linux, macOS e Windows na página de lançamentos, mas também fornecemos versões em contêineres em quay.io/rebuy/aws-nuke e docker.io/rebuy/aws-nuke. Ambos estão disponíveis para múltiplas arquiteturas (amd64, arm64 e armv7).
Primeiramente você precisa criar um arquivo de configuração para aws-nuke . Este é mínimo:
regions :
- eu-west-1
- global
account-blocklist :
- " 999999999999 " # production
accounts :
" 000000000000 " : {} # aws-nuke-example
Com esta configuração podemos executar aws-nuke :
$ aws-nuke -c config/nuke-config.yml --profile aws-nuke-example
aws-nuke version v1.0.39.gc2f318f - Fri Jul 28 16:26:41 CEST 2017 - c2f318f37b7d2dec0e646da3d4d05ab5296d5bce
Do you really want to nuke the account with the ID 000000000000 and the alias 'aws-nuke-example'?
Do you want to continue? Enter account alias to continue.
> aws-nuke-example
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - would remove
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - would remove
eu-west-1 - EC2KeyPair - 'test' - would remove
eu-west-1 - EC2NetworkACL - 'acl-6482a303' - cannot delete default VPC
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - would remove
eu-west-1 - EC2SecurityGroup - 'sg-220e945a' - cannot delete group 'default'
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - would remove
eu-west-1 - EC2Subnet - 'subnet-154d844e' - would remove
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - would remove
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - would remove
eu-west-1 - IAMUserAccessKey - 'my-user -> ABCDEFGHIJKLMNOPQRST' - would remove
eu-west-1 - IAMUserPolicyAttachment - 'my-user -> AdministratorAccess' - [UserName: "my-user", PolicyArn: "arn:aws:iam::aws:policy/AdministratorAccess", PolicyName: "AdministratorAccess"] - would remove
eu-west-1 - IAMUser - 'my-user' - would remove
Scan complete: 13 total, 11 nukeable, 2 filtered.
Would delete these resources. Provide --no-dry-run to actually destroy resources.
Como podemos ver, o aws-nuke lista apenas todos os recursos e saídas encontrados. Isso ocorre porque o sinalizador --no-dry-run
está faltando. Também deseja excluir o administrador. Não queremos fazer isso porque usamos esse usuário para acessar nossa conta. Portanto temos que estender a configuração para que ela ignore este usuário:
regions :
- eu-west-1
account-blocklist :
- " 999999999999 " # production
accounts :
" 000000000000 " : # aws-nuke-example
filters :
IAMUser :
- " my-user "
IAMUserPolicyAttachment :
- " my-user -> AdministratorAccess "
IAMUserAccessKey :
- " my-user -> ABCDEFGHIJKLMNOPQRST "
$ aws-nuke -c config/nuke-config.yml --profile aws-nuke-example --no-dry-run
aws-nuke version v1.0.39.gc2f318f - Fri Jul 28 16:26:41 CEST 2017 - c2f318f37b7d2dec0e646da3d4d05ab5296d5bce
Do you really want to nuke the account with the ID 000000000000 and the alias 'aws-nuke-example'?
Do you want to continue? Enter account alias to continue.
> aws-nuke-example
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - would remove
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - would remove
eu-west-1 - EC2KeyPair - 'test' - would remove
eu-west-1 - EC2NetworkACL - 'acl-6482a303' - cannot delete default VPC
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - would remove
eu-west-1 - EC2SecurityGroup - 'sg-220e945a' - cannot delete group 'default'
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - would remove
eu-west-1 - EC2Subnet - 'subnet-154d844e' - would remove
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - would remove
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - would remove
eu-west-1 - IAMUserAccessKey - 'my-user -> ABCDEFGHIJKLMNOPQRST' - filtered by config
eu-west-1 - IAMUserPolicyAttachment - 'my-user -> AdministratorAccess' - [UserName: "my-user", PolicyArn: "arn:aws:iam::aws:policy/AdministratorAccess", PolicyName: "AdministratorAccess"] - would remove
eu-west-1 - IAMUser - 'my-user' - filtered by config
Scan complete: 13 total, 8 nukeable, 5 filtered.
Do you really want to nuke these resources on the account with the ID 000000000000 and the alias 'aws-nuke-example'?
Do you want to continue? Enter account alias to continue.
> aws-nuke-example
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - failed
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - triggered remove
eu-west-1 - EC2KeyPair - 'test' - triggered remove
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - failed
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - failed
eu-west-1 - EC2Subnet - 'subnet-154d844e' - failed
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - failed
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - failed
eu-west-1 - S3Object - 's3://rebuy-terraform-state-138758637120/run-terraform.lock' - triggered remove
Removal requested: 2 waiting, 6 failed, 5 skipped, 0 finished
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - failed
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - waiting
eu-west-1 - EC2KeyPair - 'test' - removed
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - failed
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - failed
eu-west-1 - EC2Subnet - 'subnet-154d844e' - failed
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - failed
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - failed
Removal requested: 1 waiting, 6 failed, 5 skipped, 1 finished
--- truncating long output ---
Como você pode ver, o aws-nuke agora tenta excluir todos os recursos que não são filtrados, sem se preocupar com as dependências entre eles. Isso resulta em erros de API que podem ser ignorados. Esses erros são mostrados no final da execução do aws-nuke , se continuarem aparecendo.
aws-nuke tenta excluir todos os recursos até que todos os especificados sejam excluídos ou até que restem apenas recursos com erros.
Existem duas maneiras de autenticar o aws-nuke . Existem credenciais e perfis estáticos. O último pode ser configurado no arquivo de credenciais compartilhadas (ou seja, ~/.aws/credentials
) ou no arquivo de configuração compartilhado (ou seja, ~/.aws/config
).
Para usar credenciais estáticas , os sinalizadores de linha de comando --access-key-id
e --secret-access-key
são necessários. A sinalização --session-token
é necessária apenas para sessões temporárias.
Para usar perfis compartilhados, o sinalizador de linha de comando --profile
é necessário. O perfil deve ser definido com credenciais estáticas no arquivo de credenciais compartilhado ou no arquivo de configuração compartilhado com uma função assumida.
É possível configurar o aws-nuke para ser executado em endpoints AWS não padrão. Ele poderia ser usado para testes de integração apontando para um endpoint local, como um dispositivo S3 ou um cluster Stratoscale, por exemplo.
Para configurar o aws-nuke para usar endpoints personalizados, adicione as diretivas de configuração conforme mostrado no exemplo a seguir:
regions :
- demo10
# inspired by https://www.terraform.io/docs/providers/aws/guides/custom-service-endpoints.html
endpoints :
- region : demo10
tls_insecure_skip_verify : true
services :
- service : ec2
url : https://10.16.145.115/api/v2/aws/ec2
- service : s3
url : https://10.16.145.115:1060
- service : rds
url : https://10.16.145.115/api/v2/aws/rds
- service : elbv2
url : https://10.16.145.115/api/v2/aws/elbv2
- service : efs
url : https://10.16.145.115/api/v2/aws/efs
- service : emr
url : https://10.16.145.115/api/v2/aws/emr
- service : autoscaling
url : https://10.16.145.115/api/v2/aws/autoscaling
- service : cloudwatch
url : https://10.16.145.115/api/v2/aws/cloudwatch
- service : sns
url : https://10.16.145.115/api/v2/aws/sns
- service : iam
url : https://10.16.145.115/api/v2/aws/iam
- service : acm
url : https://10.16.145.115/api/v2/aws/acm
account-blocklist :
- " account-id-of-custom-region-prod " # production
accounts :
" account-id-of-custom-region-demo10 " :
Isso pode então ser usado da seguinte maneira:
$ aws-nuke -c config/my.yaml --access-key-id --secret-access-key --default-region demo10
aws-nuke version v2.11.0.2.gf0ad3ac.dirty - Tue Nov 26 19:15:12 IST 2019 - f0ad3aca55eb66b93b88ce2375f8ad06a7ca856f
Do you really want to nuke the account with the ID account-id-of-custom-region-demo10 and the alias 'account-id-of-custom-region-demo10'?
Do you want to continue? Enter account alias to continue.
> account-id-of-custom-region-demo10
demo10 - EC2Volume - vol-099aa1bb08454fd5bc3499897f175fd8 - [tag:Name: "volume_of_5559b38e-0a56-4078-9a6f-eb446c21cadf"] - would remove
demo10 - EC2Volume - vol-11e9b09c71924354bcb4ee77e547e7db - [tag:Name: "volume_of_e4f8c806-0235-4578-8c08-dce45d4c2952"] - would remove
demo10 - EC2Volume - vol-1a10cb3f3119451997422c435abf4275 - [tag:Name: "volume-dd2e4c4a"] - would remove
demo10 - EC2Volume - vol-1a2e649df1ef449686ef8771a078bb4e - [tag:Name: "web-server-5"] - would remove
demo10 - EC2Volume - vol-481d09bbeb334ec481c12beee6f3012e - [tag:Name: "volume_of_15b606ce-9dcd-4573-b7b1-4329bc236726"] - would remove
demo10 - EC2Volume - vol-48f6bd2bebb945848b029c80b0f2de02 - [tag:Name: "Data volume for 555e9f8a"] - would remove
demo10 - EC2Volume - vol-49f0762d84f0439da805d11b6abc1fee - [tag:Name: "Data volume for acb7f3a5"] - would remove
demo10 - EC2Volume - vol-4c34656f823542b2837ac4eaff64762b - [tag:Name: "wpdb"] - would remove
demo10 - EC2Volume - vol-875f091078134fee8d1fe3b1156a4fce - [tag:Name: "volume-f1a7c95f"] - would remove
demo10 - EC2Volume - vol-8776a0d5bd4e4aefadfa8038425edb20 - [tag:Name: "web-server-6"] - would remove
demo10 - EC2Volume - vol-8ed468bfab0b42c3bc617479b8f33600 - [tag:Name: "web-server-3"] - would remove
demo10 - EC2Volume - vol-94e0370b6ab54f03822095d74b7934b2 - [tag:Name: "web-server-2"] - would remove
demo10 - EC2Volume - vol-9ece34dfa7f64dd583ab903a1273340c - [tag:Name: "volume-4ccafc2e"] - would remove
demo10 - EC2Volume - vol-a3fb3e8800c94452aff2fcec7f06c26b - [tag:Name: "web-server-0"] - would remove
demo10 - EC2Volume - vol-a53954e17cb749a283d030f26bbaf200 - [tag:Name: "volume-5484e330"] - would remove
demo10 - EC2Volume - vol-a7afe64f4d0f4965a6703cc0cfab2ba4 - [tag:Name: "Data volume for f1a7c95f"] - would remove
demo10 - EC2Volume - vol-d0bc3f2c887f4072a9fda0b8915d94c1 - [tag:Name: "physical_volume_of_39c29f53-eac4-4f02-9781-90512cc7c563"] - would remove
demo10 - EC2Volume - vol-d1f066d8dac54ae59d087d7e9947e8a9 - [tag:Name: "Data volume for 4ccafc2e"] - would remove
demo10 - EC2Volume - vol-d9adb3f084cd4d588baa08690349b1f9 - [tag:Name: "volume_of_84854c9b-98aa-4f5b-926a-38b3398c3ad2"] - would remove
demo10 - EC2Volume - vol-db42e471b19f42b7835442545214bc1a - [tag:Name: "lb-tf-lb-20191126090616258000000002"] - would remove
demo10 - EC2Volume - vol-db80932fb47243efa67c9dd34223c647 - [tag:Name: "web-server-5"] - would remove
demo10 - EC2Volume - vol-dbea1d1083654d30a43366807a125aed - [tag:Name: "volume-555e9f8a"] - would remove
--- truncating long output ---
aws-nuke exclui muitos recursos e podem ser adicionados mais em qualquer lançamento. Eventualmente, todos os recursos devem ser excluídos. Talvez você queira restringir quais recursos serão excluídos. Existem várias maneiras de configurar isso.
Uma forma são os filtros, que já foram mencionados. Isso requer conhecer o identificador de cada recurso. Também é possível evitar que tipos inteiros de recursos (por exemplo, S3Bucket
) sejam excluídos com dois métodos.
--target
limita o nuking aos tipos de recursos especificados.--exclude
evita a destruição dos tipos de recursos especificados.Também é possível configurar os tipos de recursos no arquivo de configuração como nestes exemplos:
---
regions:
- "eu-west-1"
account-blocklist:
- 1234567890
resource-types:
# only nuke these three resources
targets:
- S3Object
- S3Bucket
- IAMRole
accounts:
555133742: {}
---
regions:
- "eu-west-1"
account-blocklist:
- 1234567890
resource-types:
# don't nuke IAM users
excludes:
- IAMUser
accounts:
555133742: {}
Se os destinos forem especificados em vários locais (por exemplo, CLI e específicos da conta), um tipo de recurso deverá ser especificado em todos os locais. Em outras palavras, cada configuração limita as anteriores.
Se uma exclusão for usada, todos os seus tipos de recursos não serão excluídos.
Dica: você pode ver todos os tipos de recursos disponíveis com este comando:
aws-nuke resource-types
Este recurso ainda não foi lançado e provavelmente faz parte da
v2.18
.
aws-nuke oferece suporte à remoção de recursos por meio da API AWS Cloud Control. Ao executar o aws-nuke , ele removerá automaticamente um conjunto de recursos gerenciados manualmente por meio do Cloud Control.
Apenas um subconjunto de recursos suportados pelo Cloud Control será removido automaticamente, porque pode haver recursos que já foram implementados e adicioná-los também ignoraria os filtros existentes nas configurações do usuário, pois o Cloud Control tem outro esquema de nomenclatura e um conjunto diferente de propriedades. Além disso, existem alguns recursos de controle de nuvem que precisam de tratamento especial e que ainda não são suportados por aws-nuke .
Embora o subconjunto de recursos do Cloud Control com suporte automático seja limitado, você pode configurar o aws-nuke para tentar qualquer recurso adicional. Seja por meio de sinalizadores de linha de comando ou por meio do arquivo de configuração.
Para o arquivo de configuração, você deve adicionar o recurso à lista resource-types.cloud-control
:
resource-types :
cloud-control :
- AWS::EC2::TransitGateway
- AWS::EC2::VPC
Se quiser usar a linha de comando, você deve adicionar um sinalizador --cloud-control
para cada recurso que deseja adicionar:
aws-nuke
-c nuke-config.yaml
--cloud-control AWS::EC2::TransitGateway
--cloud-control AWS::EC2::VPC
Observação: existem alguns recursos suportados pelo Cloud Control e já implementados nativamente pelo aws-nuke . Se você configurar para usar o Cloud Control para esses recursos, ele não executará o código implementado nativamente para esse recurso. Por exemplo, com --cloud-control AWS::EC2::VPC
ele não usará o recurso EC2VPC
.
Existem alguns recursos que são bastante opinativos. Para que isso funcione para todos, o aws-nuke possui sinalizadores para ativar manualmente esses recursos. Eles podem ser configurados no nível raiz da configuração, assim:
---
feature-flags :
disable-deletion-protection :
RDSInstance : true
EC2Instance : true
CloudformationStack : true
force-delete-lightsail-addons : true
É possível filtrar isso, o que é importante para não excluir o usuário atual, por exemplo, ou para recursos como S3 Buckets, que possuem um namespace compartilhado globalmente e podem ser difíceis de recriar. Atualmente a filtragem é baseada no identificador do recurso. O identificador será impresso como a primeira etapa do aws-nuke (por exemplo, i-01b489457a60298dd
para uma instância EC2).
Observação: mesmo com filtros, você não deve executar o aws-nuke em nenhuma conta da AWS, onde você não pode perder todos os recursos. É fácil cometer erros na configuração do filtro. Além disso, como o aws-nuke está em desenvolvimento contínuo, sempre existe a possibilidade de introduzir novos bugs, não importa o quão cuidadosos sejamos na revisão do novo código.
Os filtros fazem parte da configuração específica da conta e são agrupados por tipos de recursos. Este é um exemplo de configuração que exclui todos os recursos, exceto o usuário admin
com suas permissões de acesso e duas chaves de acesso:
---
regions :
- global
- eu-west-1
account-blocklist :
- 1234567890
accounts :
0987654321 :
filters :
IAMUser :
- " admin "
IAMUserPolicyAttachment :
- " admin -> AdministratorAccess "
IAMUserAccessKey :
- " admin -> AKSDAFRETERSDF "
- " admin -> AFGDSGRTEWSFEY "
Qualquer recurso cujo identificador de recurso corresponda exatamente a qualquer um dos filtros da lista será ignorado. Eles serão marcados como "filtrados por configuração" na execução do aws-nuke .
Alguns recursos oferecem suporte à filtragem por meio de propriedades. Quando um recurso suporta essas propriedades, elas serão listadas na saída como neste exemplo:
global - IAMUserPolicyAttachment - 'admin -> AdministratorAccess' - [RoleName: "admin", PolicyArn: "arn:aws:iam::aws:policy/AdministratorAccess", PolicyName: "AdministratorAccess"] - would remove
Para usar propriedades, é necessário especificar um objeto com properties
e value
em vez da string simples.
Esses tipos podem ser usados para simplificar a configuração. Por exemplo, é possível proteger todas as chaves de acesso de um único usuário:
IAMUserAccessKey :
- property : UserName
value : " admin "
Existem também tipos de comparação adicionais além de uma correspondência exata:
exact
– O identificador deve corresponder exatamente à string fornecida. Este é o padrão.contains
– O identificador deve conter a string fornecida.glob
– O identificador deve corresponder ao padrão glob fornecido. Isso significa que a string pode conter curingas como *
e ?
. Observe que o globbing foi projetado para caminhos de arquivo, portanto, os curingas não correspondem ao separador de diretório ( /
). Detalhes sobre o padrão glob podem ser encontrados na documentação da biblioteca.regex
– O identificador deve corresponder à expressão regular fornecida. Detalhes sobre a sintaxe podem ser encontrados na documentação da biblioteca.dateOlderThan
– O identificador é analisado como um carimbo de data/hora. Depois que o deslocamento for adicionado a ele (especificado no campo value
), o carimbo de data/hora resultante deverá ser APÓS a hora atual. Detalhes sobre a sintaxe do deslocamento podem ser encontrados na documentação da biblioteca. Os formatos de data suportados são época, 2006-01-02
, 2006/01/02
, 2006-01-02T15:04:05Z
, 2006-01-02T15:04:05.999999999Z07:00
e 2006-01-02T15:04:05Z07:00
. Para usar um tipo de comparação não padrão, é necessário especificar um objeto com type
e value
em vez da string simples.
Esses tipos podem ser usados para simplificar a configuração. Por exemplo, é possível proteger todas as chaves de acesso de um único usuário usando glob
:
IAMUserAccessKey :
- type : glob
value : " admin -> * "
Também é possível usar Propriedades de Filtro e Tipos de Filtro juntos. Por exemplo, para proteger todas as zonas hospedadas de um TLD específico:
Route53HostedZone :
- property : Name
type : glob
value : " *.rebuy.cloud. "
Qualquer resultado de filtro pode ser invertido usando invert: true
, por exemplo:
CloudFormationStack :
- property : Name
value : " foo "
invert : true
Neste caso, qualquer CloudFormationStack , exceto aqueles chamados "foo", serão filtrados. Esteja ciente de que o aws-nuke pega internamente todos os recursos e aplica todos os filtros neles. Se um filtro corresponder, ele marcará o nó como filtrado.
Pode ser que alguns filtros sejam iguais em várias contas. Isso pode acontecer especialmente se ferramentas de provisionamento como o Terraform forem usadas ou se os recursos IAM seguirem o mesmo padrão.
Neste caso, o aws-nuke oferece suporte a predefinições de filtros, que podem ser aplicadas em várias contas. Uma configuração poderia ser assim:
---
regions :
- " global "
- " eu-west-1 "
account-blocklist :
- 1234567890
accounts :
555421337 :
presets :
- " common "
555133742 :
presets :
- " common "
- " terraform "
555134237 :
presets :
- " common "
- " terraform "
filters :
EC2KeyPair :
- " notebook "
presets :
terraform :
filters :
S3Bucket :
- type : glob
value : " my-statebucket-* "
DynamoDBTable :
- " terraform-lock "
common :
filters :
IAMRole :
- " OrganizationAccountAccessRole "
brew install aws-nuke
A maneira mais fácil de instalá-lo é baixar a versão mais recente do GitHub.
Baixe e extraia $ wget -c https://github.com/rebuy-de/aws-nuke/releases/download/v2.25.0/aws-nuke-v2.25.0-linux-amd64.tar.gz -O - | tar -xz -C $HOME/bin
Execute $ aws-nuke-v2.25.0-linux-amd64
Para compilar o aws-nuke a partir do código-fonte, você precisa de um ambiente de desenvolvimento Golang funcional. As fontes devem ser clonadas para $GOPATH/src/github.com/rebuy-de/aws-nuke
.
Além disso, você precisa instalar o golint e o GNU Make.
Então você só precisa executar make build
para compilar um binário no diretório do projeto ou make install
go install aws-nuke em $GOPATH/bin
. Com make xc
você pode compilar o aws-nuke para outras plataformas.
Você pode executar o aws-nuke com Docker usando um comando como este:
$ docker run
--rm -it
-v /full-path/to/nuke-config.yml:/home/aws-nuke/config.yml
-v /home/user/.aws:/home/aws-nuke/.aws
quay.io/rebuy/aws-nuke:v2.25.0
--profile default
--config /home/aws-nuke/config.yml
Para que funcione, você precisa ajustar os caminhos para a configuração da AWS e a configuração do aws-nuke .
Além disso, você precisa especificar o perfil AWS correto. Em vez de montar o diretório AWS, você pode usar os sinalizadores --access-key-id
e --secret-access-key
.
Certifique-se de usar a versão mais recente na tag da imagem. Como alternativa, você pode usar main
para a versão de desenvolvimento mais recente, mas esteja ciente de que é mais provável que isso falhe a qualquer momento.
Para testar a unidade aws-nuke , alguns testes exigem que o gomock seja executado. Isso será executado via go generate ./...
, mas é executado automaticamente via make test
. Para executar os testes de unidade:
make test
Sinta-se à vontade para criar um problema no GitHub para qualquer relatório de bug ou solicitação de recurso. Use nossa lista de e-mails para perguntas: [email protected]. Você também pode pesquisar no arquivo da lista de e-mails se alguém já teve o mesmo problema: https://groups.google.com/d/forum/aws-nuke
Você pode contribuir com o aws-nuke bifurcando este repositório, fazendo suas alterações e criando uma solicitação pull em nosso repositório. Se você não tiver certeza de como resolver um problema ou tiver outras dúvidas sobre contribuições, crie um problema no GitHub.