Hi - I forked this repo a few weeks ago to start adding check/in support, but then eventually ended up kind of rewriting the repo to support them and expand features. I noticed some recent activity here, so I'm sending this PR more to share the results for possible discussion, not necessarily to obligate you to merge - I know "rewrites" are often unhelpful. Certainly happy to discuss what could be done to make this mergeable though if you're interested in anything here. Here's a summary of the changes...
source config
renamed, moved out.stack_name to be the resource-level property name - seemed a more appropriate location and also now used by check/in scripts
renamed aws_access_key, aws_secret_key to just access_key, secret_key - simpler and since the resource is already AWS-specific it seemed implied
version reference was replaced from {"ref":"...sha1..."} to be {"arn":"...arn...","time":"...ISO8601..."} - sha1 breaks pipelines if templates are reverted, doesn't include parameters, and also needs to cover the cases where a stack is fully replaced since new resources will be created
out
new delete parameter to support the delete-stack operation - I wanted support for some short-lived stacks for test deployments (include the self-testing CI jobs)
added parameters, tags support to point to key-value JSON files - some of my existing stacks utilize stack parameters and tags
in - new
dumps out the ARN, any stack outputs, and any created resource IDs - my deployments often reference deployment-specific, CloudFormation-managed resources like security groups, subnets, and IAM profiles
if a stack has changed since it was initially triggered, it will error
if a stack is deleted, it will error (configurable since some pipelines may want to know about this)
check - new
whenever the ARN or update time of the stack changes (and the stack was successful), it triggers
testing - added a self-testing pipeline - builds/publishes a resource container and then goes through the process of creating and destroying a stack with it before promoting the branch and image through
docker - switched away from boosh in favor of simple shell; this dropped the go requirements, so I switched to the base image of alpine for smaller images (827MB/277MB -> 91MB/37MB, uncompressed/compressed)
Anyways, not sure if it's helpful to the goals of the project. Happy to discuss.
Hi - I forked this repo a few weeks ago to start adding
check
/in
support, but then eventually ended up kind of rewriting the repo to support them and expand features. I noticed some recent activity here, so I'm sending this PR more to share the results for possible discussion, not necessarily to obligate you to merge - I know "rewrites" are often unhelpful. Certainly happy to discuss what could be done to make this mergeable though if you're interested in anything here. Here's a summary of the changes...out.stack_name
to be the resource-level propertyname
- seemed a more appropriate location and also now used bycheck
/in
scriptsaws_access_key
,aws_secret_key
to justaccess_key
,secret_key
- simpler and since the resource is already AWS-specific it seemed implied{"ref":"...sha1..."}
to be{"arn":"...arn...","time":"...ISO8601..."}
- sha1 breaks pipelines if templates are reverted, doesn't include parameters, and also needs to cover the cases where a stack is fully replaced since new resources will be createdout
delete
parameter to support thedelete-stack
operation - I wanted support for some short-lived stacks for test deployments (include the self-testing CI jobs)parameters
,tags
support to point to key-value JSON files - some of my existing stacks utilize stack parameters and tagsin
- newcheck
- newAnyways, not sure if it's helpful to the goals of the project. Happy to discuss.