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

File system: explicitly support extensions #1640

Open
ES-Alexander opened this issue Apr 22, 2023 · 2 comments
Open

File system: explicitly support extensions #1640

ES-Alexander opened this issue Apr 22, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@ES-Alexander
Copy link
Collaborator

ES-Alexander commented Apr 22, 2023

We should have a part of the file system dedicated to persistent data for extensions, such as configuration, logs, icons/logos, readme, and relevant user data.

Having a folder per extension would allow consistent binding rules, monitoring (to ensure data usage remains within user-specified limits), and clearing (e.g. when uninstalling, or as a refresh), and a fixed location (and filename structure?) for logs would make them easier to access and manage.

I recommend adding a shortcut (like the existing ones in the file browser), with extensions as the main folder, then docker-image-name for the individual extensions, which should include a logs folder for any logs, a readme file, an icon image file, a logos folder for company logos and the like (in case the user wants to include them in the upcoming logos section of the BlueOS interface), and anything else the extension wants to store.

Relevant to:

EDIT: We ended up deciding the directory structure of the binding should be /usr/blueos/extensions/<extension_name>/.

@ES-Alexander ES-Alexander added the enhancement New feature or request label Apr 22, 2023
@Williangalvani
Copy link
Member

That is a very good idea. We could also mount the storage folder automatically, which would make the json simpler for extensions using it for trivial things

@ES-Alexander
Copy link
Collaborator Author

... We could also mount the storage folder automatically, which would make the json simpler for extensions using it for trivial things

This does seem convenient, but we'll need to think about a reasonable binding location within the extension - e.g. binding to root seems problematic, in case there are things the developer doesn't actually want accessible from outside the extension.

My QuickStart Python extension currently binds to /app, but I'm not sure if there's some better / more generic idea that would be preferable instead.

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

No branches or pull requests

2 participants