feat(ecs): Add support for ECS deployment circuit breaker #6132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is my first contribution, and I tried to implement spinnaker/spinnaker#6225
This change comes together with this PR from deck: spinnaker/deck#10076
It implements a new checkbox to activate ECS Deployment Circuit Breaker for the ECS service; the default is false to not change any existing behavior.
The checkbox looks like this. I thought it should go under "Advanced settings".
![image](https://private-user-images.githubusercontent.com/5127047/294786132-83f65ee1-a259-44da-90b0-0329abf5b1f1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NDY0MjksIm5iZiI6MTczOTk0NjEyOSwicGF0aCI6Ii81MTI3MDQ3LzI5NDc4NjEzMi04M2Y2NWVlMS1hMjU5LTQ0ZGEtOTBiMC0wMzI5YWJmNWIxZjEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMDYyMjA5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YmMxN2M4OTUyNjJhYzFiNTg1ODZkYTI4MTllNjZhZTQ3NmZhODEzZDg5ZDFjMTg3NTdlZjMzZmYwN2MyYzc4NSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.l7MRQ5-ZW-eu_ByiUb00JMuAk9wdmOwL9qX1GcPRbXI)
If enabled, it adds the attribute
![image](https://private-user-images.githubusercontent.com/5127047/294786189-553469a4-e93a-4b4d-8e1a-c92791c947eb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NDY0MjksIm5iZiI6MTczOTk0NjEyOSwicGF0aCI6Ii81MTI3MDQ3LzI5NDc4NjE4OS01NTM0NjlhNC1lOTNhLTRiNGQtOGUxYS1jOTI3OTFjOTQ3ZWIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMDYyMjA5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzMxZTczODNkYWVhMTEyZTkzNWFiYmM3MTFiMGZjMmY0OTE0MWRkYmYxZTQwYzg1NDliMDNmMWVkODA1MDc3MSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.-n4JXc9tK0Y8xq31DLWVr8ZTYI2_Z6zXGQ76-aiguj0)
enabledDeploymentCircuitBreaker
to the server group:Running the Deploy stage will create an ECS service with Deployment Circuit Breaker enabled:
![image](https://private-user-images.githubusercontent.com/5127047/294786229-33ab34af-b83e-4672-a6f7-6cb8bceb8d5d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NDY0MjksIm5iZiI6MTczOTk0NjEyOSwicGF0aCI6Ii81MTI3MDQ3LzI5NDc4NjIyOS0zM2FiMzRhZi1iODNlLTQ2NzItYTZmNy02Y2I4YmNlYjhkNWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMDYyMjA5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTUzMzFmMTczNmVmMjE3NzJhOTU0NWE5YWJkNTViMWU1NTE2MTk3NzA3OGYwNTUxODgzMTBiY2YzY2U0NWI0YyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Rj1dxaS8ul9J6vh9nRaRuTncprWvQTchNekbUTqtzHw)
I'm open for your comments and your thoughts, also on the implementation - I mainly "mimicked" how other attributes/feature were implemented and tried my best "copy/pasting". 😏