snowdrop / istio-java-api

A Java API to generate Istio descriptors, inspired by Fabric8's kubernetes-model.
Apache License 2.0
112 stars 33 forks source link

Add support for istio 1.0.0 and Envoy filters #28

Closed bgokden closed 5 years ago

bgokden commented 5 years ago

Istio 1.0 released today. There are not many changes, only Envoy Filters are added. I hope just adding the class and generating the builders should work.

https://istio.io/docs/reference/config/istio.networking.v1alpha3/#EnvoyFilter

bgokden commented 5 years ago

istio 1.0.1 released but I don't see much changes in the api.

metacosm commented 5 years ago

Releasing a new version of the API with support for 1.0.1 is on my plate for this week.

geoand commented 5 years ago

We also need to support Policy objects as are used here.

bgokden commented 5 years ago

I saw that there are many updates recently, did you try if the latest release work with 1.0.x? We are waiting for a release but I can test and deploy locally if somebody confirms that it works (mostly).

geoand commented 5 years ago

Hey @bgokden

@metacosm is ironing out some issues (and I'm trying to jump into the codebase as much as possible) so a first test release should hopefully be close

metacosm commented 5 years ago

Hi @bgokden, For the gory details, I'm re-writing the generation code that deals with interface fields defined in the go APIs. It proved quite challenging but I think I'm getting there. The idea is to remove a lot of manual work that is currently needed (and actually, also incorrect) in the current code so that we can move towards a more stable API with an eye on a 1.0 release soon-ish. Speaking of which, if you have any improvements you'd like to see in the API, now is the time to speak up before we stabilize it. Note also that the next release will provide 1.0.2 support but will probably break existing code (because some of the automatically generated code when dealing with interface fields (such as the error type for an abort in a fault for a virtual service) is currently wrong.

bgokden commented 5 years ago

Hi @metacosm Thank you for asking. Improvements are always good. We talked about it with my colleague. It is ok as long as it works.

metacosm commented 5 years ago

Initial support done with #36, please give it a try. There are more changes in the pipes to make code organization better (package names in particular) and avoid name collisions. There are still some Istio CRDs that are not supported (due to name collisions) so this still needs to be done.