-
Notifications
You must be signed in to change notification settings - Fork 111
[Draft] Migrate the CLI to v2 of the golang sdk #158
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
Conversation
8cfda6a
to
1353678
Compare
Hey! Thanks for working on this! Curious what the binary size diff was on the WIP for this PR? Seems valuable to do anyways to support clients using v2 versus v1. I suppose if a client is using v1 though, this change would pull in the additional v2 deps for their binary (I think kOps uses v1). I would guess the binary sizes wouldn't be radically different though since the unused packages would shaken out during compilation. |
Interestingly bigger. Looks like the ec2 serializers are pretty hefty https://github.com/aws/aws-sdk-go-v2/blob/main/service/ec2/serializers.go about 60k lines :) about 33MB for now - but 3MB of that is the v1 package endpoints - which like I say can probably be removed in favour of smithy generated stuff. I've committed fixes for the last 2 tests (at least they pass now locally). Would be good to get a retrigger on the tests here to see if they pass on the git workflows |
Reworked the app to pass contexts around the system as required by the new sdk. I'm struggling with generating the 3rd party license file - the golicense library doesn't seem to support go 1.18 but that's the minimum version for the app. |
@wilsonge We've been maintaining the |
Been struggling to build the checker docker image locally for some reason it just seems to loop so I've hand cranked something but might need some help if it doesn't work. But if you could retrigger and do a first pass that would be amazing. |
OK So tests here look good. What's the next steps. I think this one needs some proper human code review too because there's an awful lot of changes. I'll look at fixing the region injection support per my list of items above - but not sure how much I can do on the v1 endpoint stuff - it might have to be left in for now - but at least it's internal to a single package and can be swapped out within the major version. |
@wilsonge Have you finished the tasks you outlined in the PR description? If so, I'd say check those off and remove "draft" from the title, and we'll start reviewing the code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi wilsonge, in addition to the outstanding tasks I have a few questions and suggestions.
Hi 👋 - reaching out on eksctl behalf, we're also looking forward to completely migrate to go sdk v2. Is there any chance the work on this PR will be picked up from where it was left in the foreseeable future? |
hi @TiberiuGC. I wasn't aware that eksctl had a dependency on EC2 Instance Selector. Can you give us more detail as to how you're utilizing this tool. It would help with our prioritization of this PR because it looks like this may require another developer to pick up where @wilsonge has left off. |
@jillmon when creating (clusters with) nodegroups using eksctl, users have the option to specify the properties they want for their nodes e.g.
and we let instance selector do its magic on deciding the instance types. As to why this PR is relevant for us, I think @wilsonge explained it well in the description
Let me know if I can provide any more info 🙏 |
0f82f4f
to
90b7628
Compare
dd66c79
to
648d8ae
Compare
648d8ae
to
3e4d717
Compare
I've rebased this onto the latest main branch and applied most the review comments. There's still my todo's listed above (on me but if someone else wants to pick them up as I don't have huge amounts of time just let me know) and the outstanding item about the region lists which I still believe needs an AWS staff member to be resolved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi wilsonge, thanks for updating this. Just a few small suggestions.
Pushed up the latest changes requested. I've also pushed a change to better handle the aws context usage for the pricing client that will need a quick review on top of the previous stuff. |
Co-authored-by: Jerad C <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all your work on this.
Co-authored-by: Jerad C <[email protected]>
Resolved merge conflicts locally then squashed and pushed all changes. |
Description of changes:
Current list of items to finish
Why Migrate to v2
At the end of this the overall binary should be a bit smaller by the modular nature of the new sdki was wrong it's bigger - what can you do 🤷By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.