-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
defork goformation #1133
Comments
I've decided the best way is not to use the vanilla newest version of goformation. I have a 99% working version of If I have:
there's no way for me to It looks like they tried to alleviate this by "resolving" intrinsics, but this is fragile, incomplete and it's unclear to me why anyone would want this; (un)marshaling is no longer anything close to an isomorphism. I tried rebasing the fork's changes on the newest version and am nearly done and I think this will work just as well as the fork did. We can always regenerate the types to get the newest changes. We could potentially even disable support for things we don't need. It ultimately can serve as the slimmed down library imagined above. |
Hi @michaelbeaumont :) that is exactly what I made of it at the time. Have you considered extending the |
Hi @errordeveloper! It's based on the same type you came up with in the fork, With With the Since both options have |
Hey @michaelbeaumont! I have indeed copied most of the code from the fork into I think the set of types doesn't grow all that often. Since the usage is very specific, it seems to be right to make opinionated choices of what fields are always just One theoretical use-case to consider - arbitrary CloudFormation resource customisation/inclusion. Personally, I don't think this could ever work in eksctl, not without major generalisation of all the things, so I don't see that as a feasible use-cases, albeit it seems plausible in theory, and perhaps to some users. Did you have a look at the tests in |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue was closed because it has been stalled for 5 days with no activity. |
remove tag override from ecr overlay
We've used a fork of goformation since #132.
The initial attempt of contributing our changes back to goformation (awslabs/goformation#103) didn't succeed, and goformation maintainers chose a different approach (awslabs/goformation#114). However, their solution is not bi-directional, has a number of limitations/bugs (e.g. awslabs/goformation#190 and awslabs/goformation#194).
The main challenge is that mapping CloudFormation scheme to Go types is very complicated if you consider a general case and support of all types is required as well as Serverless Application Model (SAM), and that is what goformation attempts.
However, we only used a relative small number of types in a particular way.
It appears to be easy enough to create a slim library that offers a subset of goformation functionality that does things the way that suites our needs better without having to take all general cases into account. Aside from being able to round-trip templates from running stacks back to internal structures for mutation and updates, we could provide convenient abstractions for testing of template rendering.
The text was updated successfully, but these errors were encountered: