cloudfoundry/gorouter

Plugin for Gorouter

tal-training opened this issue · 9 comments

Hi,
I develop a plugin for goRouter and I would like to know if is it possible to implement the plugin as part of the GoRouter?

Thanks.

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/154311008

The labels on this github issue will be updated when the story is started.

Hi @talmanor2 What kind of plugin do you want to develop?

Gorouter does not have a plugin model, although Cloud Foundry routing has some extension mechanisms. Depending on your use case, you may be able to accomplish what you want with a route service. You can also modify gorouter source code and deploy it using a custom routing release or other packaging system.

Hi,
Unfortunately route service is not good enough because of the following reasons:

  1. It is supports only one route.
  2. Performance issues, you don't really want to route all your customers request using route service to some statistics servers/app.

About the option to modify gorouter source code, is my last resort.

@talmanor2 We are currently considering replacing Gorouter with a 3rd party proxy, such as Envoy. While this work will not be complete for some time, if you are able to share your use case, we could consider it for this future effort. (Also, we may be able to give you pointers on how to add it to Gorouter today).

CAFxX commented

@rosenhouse when considering future extensibility, please keep #187 (comment) in mind

@CAFxX good feedback to share with @shalako and @shubhaat. I don't have a good sense yet for the feasibility of your requested features given our ideas for Envoy & Istio integration. But this story is at the top of our backlog and we expect that Route Services will get something of a make-over with the Istio/Envoy approach.

@talmanor2 could you give us more details on your usecase

  • what do you hope to use your intermediary component or plugin for.
  • what scope do you want to use the plugin, for e.g. do you want it to be global or do you want it to apply to requests for routes in a space/org/domain?
  • who do you imagine having access to make these changes, is it operators or app developers or some other persona?

@talmanor2 Could you please provide answers to the above questions? Also, as others have mentioned, our efforts are currently focused on Istio/Envoy integration, so this will likely not be prioritized.

@talmanor2 Closing this issue for now, please feel welcome to reopen this issue if you have anything additional. We will keep this extensibility in mind with the Istio/Envoy approach we are moving towards.

Thank you :)