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

Support for cert-manager model in fabric8 #2565

Closed
PrakashNair opened this issue Oct 28, 2020 · 10 comments
Closed

Support for cert-manager model in fabric8 #2565

PrakashNair opened this issue Oct 28, 2020 · 10 comments
Assignees

Comments

@PrakashNair
Copy link

Does the client library provide support for cert-manager CRDS (https://github.com/kubernetes-client/java/tree/master/client-java-contrib/cert-manager#cert-manager-model-classes)?
if yes, can you provide some pointers/examples on its usage? if no, are there any plans on extending the library to support it?

@rohanKanojia
Copy link
Member

rohanKanojia commented Oct 28, 2020

@PrakashNair : Umm, Could you please share the location of these cert-manager-model go structs? Maybe we can write a quick extension for these CRDS(like we have for Knative, Tekton, Istio etc)

@PrakashNair
Copy link
Author

@rohanKanojia
Copy link
Member

rohanKanojia commented Oct 28, 2020

Thanks a lot for sharing! We can easily extend Kubernetes Client to create extensions. Writing an extension just involves these steps:

  1. Generating model schema(certmanager-schema), You can use our common model generator to generate schema for Java classes for these go structs. Here is an example of our VolumeSnapshot Extension model generator: https://github.com/fabric8io/kubernetes-client/blob/master/extensions/volumesnapshot/generator/cmd/generate/generate.go#L33
  2. Generating Java model(certmanager-model): This JSON schema would be used by JSONSchema2POJO to generate POJOs for these resources. You can check VolumeSnapshot Extension model for this: https://github.com/fabric8io/kubernetes-client/blob/master/extensions/volumesnapshot/model/pom.xml#L105
  3. Generating Java Client(certmanager-client): Writing a simple Client Extension on top of the above-generated model which would inheric Fabric8 Kubernetes Client's base client:
    https://github.com/fabric8io/kubernetes-client/blob/master/extensions/volumesnapshot/client/src/main/java/io/fabric8/volumesnapshot/client/DefaultVolumeSnapshotClient.java
    https://github.com/fabric8io/kubernetes-client/blob/master/extensions/volumesnapshot/client/src/main/java/io/fabric8/volumesnapshot/client/VolumeSnapshotClient.java

Would you like to contribute a PR in order to fix this? I think it would be awesome if we could get a contribution to this issue. You can check out these PRs to get an idea of how things are connected:

ChaosMesh (Under Review) : #2556
CSI VolumeSnapsho(Merged): #2356

@arghya88
Copy link
Contributor

arghya88 commented Nov 16, 2020

/assign

cc @rohanKanojia

@rohanKanojia
Copy link
Member

We don't have any bot for assigning issues 😆 .

Thanks a lot for taking care of this issue.

@arghya88 arghya88 removed their assignment Feb 5, 2021
@matthyx
Copy link
Contributor

matthyx commented Mar 5, 2021

@rohanKanojia @arghya88 are you both still interested into supporting these CRDs? Do you need my contribution?

@rohanKanojia
Copy link
Member

I think we should definitely add support for this. ping @arghya88 Are you still working on this?

@rohanKanojia
Copy link
Member

rohanKanojia commented Mar 16, 2021

@matthyx : Hi, Do you want to work on this issue? If you're busy, I can try picking this up in the next sprint.

@matthyx
Copy link
Contributor

matthyx commented Mar 16, 2021

@rohanKanojia I have started to put the golang files into a branch... and see how they work. So nothing too advanced atm, but I can try to make it work for you :)

@rohanKanojia
Copy link
Member

@matthyx : Awesome, Thanks a lot!. Feel free to ping me on Gitter[0] in case you face problems with anything.

[0] https://gitter.im/fabric8io/kubernetes-client

rohanKanojia pushed a commit to matthyx/kubernetes-client that referenced this issue Mar 18, 2021
rohanKanojia pushed a commit to matthyx/kubernetes-client that referenced this issue Mar 18, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue Apr 20, 2021
rohanKanojia pushed a commit to rohanKanojia/kubernetes-client that referenced this issue Apr 21, 2021
manusa pushed a commit to matthyx/kubernetes-client that referenced this issue May 20, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue May 25, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue May 25, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue May 25, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue Jun 7, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue Jun 7, 2021
matthyx added a commit to matthyx/kubernetes-client that referenced this issue Jun 7, 2021
@manusa manusa closed this as completed in f64554c Jun 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants