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

[plugin] Should be able to specify a custom folder for custom plugins #585

Closed
blackfich opened this Issue May 11, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@blackfich

blackfich commented May 11, 2017

It should be possible to define a custom folder for custom plugins.

Expected Behavior

It should be possible to define a custom folder for custom plugins (for instance /var/gravitee.io/custom-plugins). The idea is that it would simplify deployment of new versions of gravitee without the need to redeploy all custom plugins (when installing new version after deleting previous one) and avoid potential duplicates (is installing over an existing version). This could also allow to avoid having to deploy custom plugins on both the gateway and the management-api by use of a shared folder.

Current Behavior

Currently custom plugins have to be deployed in the {gravitee-home}/plugins folder. When deploying a new version of gravitee.io, all custom plugins need to be redeployed

Possible Solution

The plugin managers should scan both the standard {gravitee-home}/plugins folder and the custom one for plugins.
This custom folder should be configurable via the gravitee.yml file with a default value to {gravitee-home}/plugins to allow backward compatibility.

Context

We want to script deployment of gravitee with ansible scripts. We want to avoid having to redeploy all custom plugins in case of an upgrade on gravitee, since our custom plugins are less likely to evolve than the gateway itself.

Your Environment

  • Version used: 1.5.1
  • Browser Name and version: N/A
  • Operating System and version: Linux
@NicolasGeraud

This comment has been minimized.

Member

NicolasGeraud commented May 11, 2017

hi,

how do you package gravitee.io when you want to update it?

@blackfich

This comment has been minimized.

blackfich commented May 11, 2017

Hi,

this is a good question, and we actually wondering how we should/would do it

ideally we unzip the various graviteeio-xxx-nnn on applicable machines (for instance the management API and management UI are on a single machine not accessible from outside our internal network, wheareas the gateway itself is deployed on a machine accessible from the ouside). The way we've proceeded during our tests was to erase the existing version and deploy the new one. This can be automated easely. Our concern is that we would prefer not to have to redeploy the custom plugins (we plan to have about 6 or so) to avoid missing some. Also they will have a different lifecycle from the gateway itself, hence the need for a custom folder to store them. Of course we could script a copy from this dedicated folder into the gravitee one.

Right now we are considering how we will handle upgrade scripts and such that are to be ran before installling the new version

@NicolasGeraud

This comment has been minimized.

Member

NicolasGeraud commented May 11, 2017

Hi,
I think you should create your own gravitee distribution (and separate official plugins and your custom plugins).

Do you download our distribution with mongo repository, es reporter and all policies ?

@brasseld brasseld added this to the 1.6.0 milestone May 11, 2017

@brasseld brasseld changed the title from Should be able to specify a custom folder for custom plugins to [plugin] Should be able to specify a custom folder for custom plugins May 11, 2017

brasseld added a commit to gravitee-io/gravitee-plugin that referenced this issue May 12, 2017

NicolasGeraud added a commit to gravitee-io/gravitee-plugin that referenced this issue May 12, 2017

NicolasGeraud added a commit to gravitee-io/gravitee-gateway that referenced this issue May 12, 2017

NicolasGeraud added a commit to gravitee-io/gravitee-management-rest-api that referenced this issue May 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment