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

[Feature request] externalised storage.json for vane plugins #160

Open
karthanistyr opened this issue Aug 15, 2022 · 0 comments
Open

[Feature request] externalised storage.json for vane plugins #160

karthanistyr opened this issue Aug 15, 2022 · 0 comments

Comments

@karthanistyr
Copy link
Contributor

Hi, for your kind consideration.

following #36, much of Vane's storage goes into level.dat which is a good thing. However there are some remnants that remain in each puglin's respective storage.json file inside the plugins folder.

My use case is the following:
I deploy my server with configuration management tools and run everything inside containers (specifically Docker in this instance). Since there is data inside the plugins folder we want to persist between restarts, I must have the plugins folder be inside a persistent container. However, when this is the case, Docker will only update the folder with the image's contents once, when the volume is created. If I later update the image with updated vane plugins, they won't be picked up as the container restarts -- because the volume exists, and therefore supersedes the image's contents, and fixing this requires quite a bit of manual work.

I would like the following:

  • plugins folder with the plugin binaries and only their respective config e.g. as follows:
plugins
├── vane-admin
│   └── config.yml
├── vane-admin-1.9.6.jar
├── vane-bedtime
│   └── config.yml
├── vane-bedtime-1.9.6.jar
├── vane-core
│   └── config.yml
├── vane-core-1.9.6.jar
├── vane-enchantments
│   └── config.yml
├── vane-enchantments-1.9.6.jar
├── vane-permissions
│   └── config.yml
├── vane-permissions-1.9.6.jar
├── vane-portals
│   └── config.yml
├── vane-portals-1.9.6.jar
├── vane-regions
│   └── config.yml
├── vane-regions-1.9.6.jar
├── vane-trifles
│   └── config.yml
└── vane-trifles-1.9.6.jar
  • A way to point (from config.yml?) the plugin to its storage.json, e.g.
storage_file_path: "/some/path/storage.json"

This enables me to update vane's plugins and config from the configuration management side, but not persist them on disk so that the image always loads the version from its own storage, and separately persist the relevant information for each plugin.
Ideally in #36, I had the impression that you were considering putting the storage.json files somewhere outside the plugins folder but your explanation states that they are still located inside the plugins folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant