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

Create extensible framework for Image configurables #597

Open
flongford opened this issue Mar 15, 2022 · 0 comments
Open

Create extensible framework for Image configurables #597

flongford opened this issue Mar 15, 2022 · 0 comments

Comments

@flongford
Copy link
Contributor

flongford commented Mar 15, 2022

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).

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

No branches or pull requests

1 participant