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

Support uncompressed bundle #522

Closed
PengZheng opened this issue Apr 14, 2023 · 1 comment · Fixed by #582
Closed

Support uncompressed bundle #522

PengZheng opened this issue Apr 14, 2023 · 1 comment · Fixed by #582
Assignees
Labels
component/framework Categorizes an issue or PR relevant to the framework. kind/feature Categorizes issue or PR as related to a new feature.

Comments

@PengZheng
Copy link
Contributor

PengZheng commented Apr 14, 2023

Now that #476 splits the cache and storage, the most straightforward way of supporting efficient sharing of bundles between multiple Celix instances is to add support for uncompressed bundle. This way, each framework instance has its own bundle cache like before, but for shared bundles, we extract them to someplace outside of bundle cache (maybe make them read-only), and then make symbolic links within the bundle cache to uncompressed shared bundles.

For containered/sandboxed APPs, we can mount folder containing uncompressed bundles read-only into the container/sandbox, and include the mount point into the bundle path, so that the framework within the container/sandbox can find them.

Originally posted by @PengZheng in #509 (comment)

@PengZheng PengZheng added kind/feature Categorizes issue or PR as related to a new feature. component/framework Categorizes an issue or PR relevant to the framework. labels Apr 14, 2023
@PengZheng PengZheng self-assigned this Apr 14, 2023
@pnoltes
Copy link
Contributor

pnoltes commented Apr 14, 2023

Yes, this has become more straightforward.

What about adding support in the install_celix_bundle cmake function to install bundles zip uncompressed (as dir) instead of zip. Maybe with an option INSTALL_AS_DIR.

This can also be used to prep a bundles directory structure as mount entry, but I think this can also function to supported bundles installed as dir in `/use/share//bundles/a_bundle_dir

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/framework Categorizes an issue or PR relevant to the framework. kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
2 participants