{"repo":"palantir/bouncer","free":true,"listed":false,"github":"https://github.com/palantir/bouncer","clone":"git clone https://github.com/palantir/bouncer.git","description":"An application to cycle (bounce) all nodes in a coordinated fashion in an AWS ASG or set of related ASGs","language":"Go","stars":139,"topics":["aws","asg","golang","octo-correct-managed"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"bouncer Bouncer rebuilds your running infrastructure to make sure it matches the infrastructure you've defined in code. All releases can be downloaded from the release page, or automated in your code via bouncerw (see below). This tool inspects AWS auto-scaling groups, and terminates, in a controlled fashion, any nodes whose launch templates or launch configurations don't match the one currently configured on the ASG it was launched from. It currently supports two termination methods, serial and canary ; read more about them below. Although the examples for invoking this from code below are written in Terraform, and it's convenient to be executed from within a Terraform environment, there is nothing Terraform-specific about this tool whatsoever. Serial Made for bouncing nodes in ASGs of size 1 but which form a logical set. ./bouncer serial --help for all available options. Ex: Will bounce all the servers in those ASGs one at a time, by invoking the API call autoscaling:TerminateInstanceInAutoScalingGroup which invokes the terminate shutdown hook (if there is one) and removes the instance from the ELB in a way that obeys the cooldown. This API call also decrements the desired capacity by 1 when it calls this (this is to prevent a race condition from the replacement node coming up before the one to be replaced has finished being terminated), then sets it back to what you 1 when it's done. It will also wait between each bounce for the instance to become healthy again in the ASG ","default_branch":null,"files":null,"tree":[],"storefront":"/r/palantir","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/palantir/bouncer/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}