Based on https://github.com/kubernetes-sigs/external-dns/issues/1403#issuecomment-581865853 and a discussion with @Raffo , we wanted to kick off a discussion about how to enable CRDs in general.
As @Raffo points out including CRDs in package source was maybe a mistake.
There were 2 ideas pointed out: try plugins or build tags:
Another idea would be:
I think the current strategy, "accept everything which is good enough from code point of view", seems to be the best for the users.
Maybe this is not the best for maintainers?!
I am not sure how to proceed.
i'm not sure what the path forward looks like for a provider like Gloo with this model. please advise
I am considering playing with https://github.com/hashicorp/go-plugin as well before proposing a solution.
After a quick investigation, I think that (1) is not viable and that (2) is nice, but also slightly more complicated than needed.
accept everything which is good enough from code point of view
I think this is what we have been going with till now and it's starting to become a mess, this is why I would love to have something that solves the problem, but I do realize it could cause problems to users adopting ExternalDNS.
I like option 3 and what I would imagine here would be to empower the users to create their own controller managers for their CRDs and use External-DNS imported as a library inside the controller manager.
For now we'll go on with #1558, which is partially done. I'm closing this one.
Most helpful comment
i'm not sure what the path forward looks like for a provider like Gloo with this model. please advise