cortoproject / corto

A hierarchical object store for connecting realtime machine data with web applications, historians & more
https://www.corto.io
MIT License
87 stars 14 forks source link

How to integrate applications with package hierarchy? #626

Closed SanderMertens closed 6 years ago

SanderMertens commented 6 years ago

Currently, corto stores applications in {environment}/bin/cortobin/{corto version}/application name and packages in {environment}/lib/corto/{corto version}/package name. This causes a few issues:

Note that corto applications are run with corto run, as users will not likely directly invoke the application from its actual location, like:

$ ~/.corto/bin/cortobin/1.3/foo/bar/bar

as opposed to:

$ corto run foo/bar

This means that if packages/binaries are going to be relocated, this can be done in a way that is transparent for users.

A solution needs to be devised where:

It seems unlikely that corto will be able to support packages/applications with the same name going forward, so assuming this is the case, there are a few possible solutions:

1. Leave the current structure as is, but take bin path into consideration by corto_locate and the loader mount

pros:

cons:

2. Store both applications and packages in lib

pros:

cons:

3. Store applications and packages in /opt/corto

pros:

cons:

It's obvious which solution I'm leaning towards- but look forward to hearing more pros/cons/approaches.

SanderMertens commented 6 years ago

After discussion on Slack, it was proposed to store both packages and applications in lib, optionally with creating softlinks to bin for applications.