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

Provide pulumi operator as embeddable library #119

Closed
wants to merge 5 commits into from
Closed

Provide pulumi operator as embeddable library #119

wants to merge 5 commits into from

Conversation

eljoth
Copy link

@eljoth eljoth commented Feb 25, 2021

Proposed changes

This PR wants to add the functionality to provide the pulumi operator as a library to be used in pulumi programs. It offers a custom component resource containing all dependencies for the operator including the deployment of it and provides pulumi bindings for the stack crd.

Related issues (optional)

#118

@eljoth eljoth marked this pull request as draft February 25, 2021 19:58
@lukehoban
Copy link
Contributor

Thanks @eljoth the the PR!

This is a great idea to add these SDKs.

Am I correct in assuming these were created with crd2pulumi?

A few high-level notes:

  1. We should include Makefile build steps that recreate these SDKs
  2. We should include publishing for these SDKs to the various package managers (@stack72 might be able to help with this)
  3. Depending on how we're going to publish this - that might inform what namespace this actually belongs in. Currently it appears to be in a top-level pulumi namespace - which likely won't work?
  4. I wonder if it might make sense to add this to https://github.com/pulumi/pulumi-kubernetes-crds instead of homing/publishing it here?
  5. Would be great to add a note on these to the README.
  6. It would be great to add an example of using this e2e - deploying the operator and then managing a Stack using these SDKs, all within Pulumi!

@eljoth
Copy link
Author

eljoth commented Feb 27, 2021

@lukehoban yes, all of them were created with crd2pulumi. In addition, I implemented the role, rolebinding and deployment by hand.

I will continue in the next few days to update the makefile and other files and publish the SDKs to the package managers. Regarding the publishing I would of course appreciate any help!
As of what I've seen in pulumi-kubernetes-crds, the sources "only" seem to provide the CRDs but not a way to actually deploy the operator itself. I don't know whether it was a better choice to keep it all together here or to split things up.

@lukehoban
Copy link
Contributor

As of what I've seen in pulumi-kubernetes-crds, the sources "only" seem to provide the CRDs but not a way to actually deploy the operator itself. I don't know whether it was a better choice to keep it all together here or to split things up.

Yes - I believe that is right - and I agree that it is nice to keep it together. Ideally the operators in pulumi-kubernetes-crds would also include the Pulumi resources needed to deploy the operators themselves. But for now - makes sense to me to keep there here.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants