Skip to content
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

Import eksctl as a library to integrate other utils #813

Closed
Jeffwan opened this issue May 22, 2019 · 16 comments
Closed

Import eksctl as a library to integrate other utils #813

Jeffwan opened this issue May 22, 2019 · 16 comments
Labels
kind/feature New feature or request priority/important-soon Ideally to be resolved in time for the next release

Comments

@Jeffwan
Copy link
Contributor

Jeffwan commented May 22, 2019

Why do you want this feature?
I am using eksctl to build an eks provision tool in kubeflow community. In my previous version, we use eksctl as a cli in shell scripts to create eks cluster. Now, community is moving to golang ctl and we need to migrate existing functionalities implemented by shell to golang.

I don't know if eksctl can be used for this purpose. I notice no one package import eksctl yet.
https://www.grank.io/pkg/github.com/weaveworks/eksctl.html

What feature/behavior/change do you want?
Need eksctl SDK to create/delete cluster. All CLI features should be supported in SDK.

@Jeffwan
Copy link
Contributor Author

Jeffwan commented May 22, 2019

/assign @errordeveloper

@martina-if martina-if added the kind/feature New feature or request label May 23, 2019
@errordeveloper
Copy link
Contributor

/cc @kalbir

@gemagomez
Copy link

This would be good to have, and we could use it for testing purposes also.

@zWaR
Copy link

zWaR commented Aug 16, 2019

Is there perhaps an ETA for release of this feature?

@austince
Copy link

austince commented Sep 4, 2019

Is there any opportunity to contribute to this effort? We'd love to use this for creating tooling for internal cluster setup that requires more than what's within the scope of eksctl (ie VPC peering), not just because Go is the community standard.

@errordeveloper errordeveloper removed their assignment Jan 27, 2020
@martina-if
Copy link
Contributor

related issue: #1538

@martina-if martina-if self-assigned this Jul 2, 2020
@michaelbeaumont michaelbeaumont self-assigned this Jul 29, 2020
@martina-if martina-if removed their assignment Sep 9, 2020
@martina-if martina-if added priority/important-longterm Important over the long term, but may not be currently staffed and/or may require multiple releases priority/important-soon Ideally to be resolved in time for the next release and removed priority/important-longterm Important over the long term, but may not be currently staffed and/or may require multiple releases labels Sep 15, 2020
@michaelbeaumont michaelbeaumont removed their assignment Oct 21, 2020
@jrake-revelant
Copy link

is there any plan to work on this topic or anyone actively working on it?

@michaelbeaumont
Copy link
Contributor

michaelbeaumont commented Feb 9, 2021

Remaining:

@michaelbeaumont michaelbeaumont removed their assignment Mar 15, 2021
@binchenX
Copy link

I would pick eksctl any time of the day if we have a sdk so that we can get ride of the scripts needed to integrate with the eksctl.

related to:
#3839

@rverma-dev
Copy link

@errordeveloper can you please help us here, this looks like a must have now.

@cPu1
Copy link
Collaborator

cPu1 commented May 3, 2022

@errordeveloper can you please help us here, this looks like a must have now.

@rverma-nsl which eksctl operations are you trying to invoke and from what language?

@rverma-dev
Copy link

almost all of them, top ones are create cluster, add nodegroup, add irsa roles, patch cluster upgrades and addons.

@Skarlso
Copy link
Contributor

Skarlso commented May 3, 2022

Why not just call these and abstract the binary calling operations behind an interface for example? How would you benefit from calling these things from code vs calling out to the binary? Once abstracted you can incorporate the calling into unit tests as well if testability is a concern.

@rverma-dev
Copy link

I guess its basically same stuff as kubectl vs client-go. I am also using the same since storing eksctl config in a cm. It can work but won't be super pleasant with all the yaml marshalling :)

@Skarlso
Copy link
Contributor

Skarlso commented May 3, 2022

You could try and re-create what we do :) Nothing is behind an internal thing, so technically, you could import it. :)

torredil pushed a commit to torredil/eksctl that referenced this issue May 20, 2022
@farazoman
Copy link

farazoman commented Feb 27, 2023

I'm looking to do this for python, would it be possible to import the go libraries or is there another way to do such an import? For example a C package I can import into Python

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature or request priority/important-soon Ideally to be resolved in time for the next release
Projects
None yet
Development

No branches or pull requests