-
Notifications
You must be signed in to change notification settings - Fork 271
Description
Is your feature request related to a problem?
Currently it is not possible to know what aws-sdk-go or code-generator versions were used to generate a certain controller. Which makes it harder for new contributors to get hands on already generated controllers. Also current contributors are prone to make mistakes easily and frequently shoot them self in the foot (e.g me with ecr and dynamodb)
Describe the solution you'd like
When calling ack-generate it would be useful if we can create a file called ack-output.json where we can store the last ENV vars and parameters used to generate the controller. Additionally we can use the same file to continue generating controllers using the same flags (defaulting the ENV vars to ack-output.json stored metadata if they exist)
Thinking something similar to:
{
"lastUpdated": "jeu. 03 juin 2021 13:27:10 CEST",
"ack-generate" : {
"version": "v0.2.1",
"apisArgs": "--version v1alpha1 --generator-config-path ./somedir",
"controllerArgs": "--version v1alpha1 --generator-config-path ./somedir",
"releaseArgs": ""
},
"controller-gen": {
"version": "v0.4.0",
"crdArgs": "crd:allowDangerousTypes=true paths=./... output:crd:artifacts:config=/somedir/crd/bases",
"rbacArgs": "rbac:roleName=ackrole paths=./... output:rbac:artifacts:config=/somedir/rbac"
},
"env" : {
"AWS_SDK_GO_VERSION": "v1.33.35"
...
}
}I'm not sure if this is something that should go to ackdev or be implemented in scripts/build-controller.sh
Describe alternatives you've considered
Another alternative would be to put some of this metadata in the Go files boilerplates.
/priority awaiting-more-evidence
/cc @aws-controllers-k8s/code-generator-maintainer