-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Currently we support 2 subclasses of remoteappmanager.docker.configurables.Configurable that can be registered with an application image and allow for additional environmental variables to be passed into the container by the user in the frontend.
However, there is no framework in place to extend this for additional types of configurable without editing the remoteappmanager package's source code.
A (relatively) simple way may be to provide a setup tools entry point that developers can register additional Configurable subclasses with, and then refactor our existing code to import any registered objects in the runtime environment. To support this we will also need to expand the ImagePolicy to handle generic Configurable classes and also make the remoteappmanager CLI extensible, potentially via a --config option that points to a file path containing additional env parameters that should be passed into the application container.
Some work will also needed to be carried out in the frontend to provide a user input for each registered configurable. We can probably assume that all values can be represented by a simple text input. This value will then be converted to env variable by the Configurable.config_to_env class method anyway, so any required string parsing can be implemented there (see Resolution class).
Initially we can use this extensible framework to support registering "user" level configurables, with values set in the Simphony-Remote user frontend (i.e. resolution). However, we could potentially expand it to also include "admin" level configurables in the future, with values set in the admin portal (i.e. license key).