feat(ecs): Add support for ECS deployment circuit breaker #10076
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 clouddriver: spinnaker/clouddriver#6132
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzY0OTcsIm5iZiI6MTczODk3NjE5NywicGF0aCI6Ii81MTI3MDQ3LzI5NDc4NjEzMi04M2Y2NWVlMS1hMjU5LTQ0ZGEtOTBiMC0wMzI5YWJmNWIxZjEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMDA1NjM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzBkMTkwMmI0ZGMyMzkxMjM3NzdlZTExZTIwNTBjNzhiNTZiYTdkNTg3ZWI1Y2E3ZmJlMGM3N2I5YjA2MTgyMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.E_gVvrs1uXvDBgLZs3WXiKEeYmj_JtFBQKpyz1zSaJ0)
If enabled, it adds the attribute
![image](https://private-user-images.githubusercontent.com/5127047/294786189-553469a4-e93a-4b4d-8e1a-c92791c947eb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzY0OTcsIm5iZiI6MTczODk3NjE5NywicGF0aCI6Ii81MTI3MDQ3LzI5NDc4NjE4OS01NTM0NjlhNC1lOTNhLTRiNGQtOGUxYS1jOTI3OTFjOTQ3ZWIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMDA1NjM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjA4YTg5OThmZTk3N2I4NmY2YmZhYWNmZjFlMDBmMzhjNjBiYTRkOTFmMDZlODk2NzdkMzc3OGEwNDA2MmM2NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.E-Z4J_3QmMczXPM0FSmdYRRSGWedOx3O1QGzs5neRs8)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzY0OTcsIm5iZiI6MTczODk3NjE5NywicGF0aCI6Ii81MTI3MDQ3LzI5NDc4NjIyOS0zM2FiMzRhZi1iODNlLTQ2NzItYTZmNy02Y2I4YmNlYjhkNWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMDA1NjM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjJhZmM1OTY5NTI1YjA3M2VjYWFiYmQxY2JhNWQwMTU4Mjc0N2Y2MDdiNDc2YTk5NTQyMzIyODg5NDk4NTI2NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.cjzH8oqgo7CcRUylTem4_xLaEIdcttCtva7jbJmft9g)
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". 😏