-
Notifications
You must be signed in to change notification settings - Fork 27
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
✨ dynamic-sidecar
saves and restores user services preferences
#4779
✨ dynamic-sidecar
saves and restores user services preferences
#4779
Conversation
…ferences-user-services
…ferences-user-services
…ferences-user-services
Codecov Report
@@ Coverage Diff @@
## master #4779 +/- ##
========================================
- Coverage 86.5% 85.0% -1.5%
========================================
Files 1169 1072 -97
Lines 48609 46724 -1885
Branches 1060 881 -179
========================================
- Hits 42051 39742 -2309
- Misses 6324 6785 +461
+ Partials 234 197 -37
Flags with carried forward coverage won't be shown. Click here to find out more.
|
…ferences-user-services
…ferences-user-services
…ferences-user-services
…ferences-user-services
When using a service like jupyter-math, let's say you want the theme to be stored globally for all the future ones you open. You always want to be dark. This way you can save the setting in one of them and when adding a new one you don't have to set the theme back again.
Well actually user + product + key + major+ minor. An entry like: (1, "osparc", "simcore/services/math", "1.2"). So you will have on average 1 per user per service. And the service must request this feature. In reality there will be at most 1 or 2 entries per user since only one service, for now requires this. |
|
packages/models-library/src/models_library/service_settings_labels.py
Outdated
Show resolved
Hide resolved
services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/core/validation.py
Show resolved
Hide resolved
services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/modules/long_running_tasksutils.py
Outdated
Show resolved
Hide resolved
...mic-sidecar/src/simcore_service_dynamic_sidecar/modules/user_services_preferences/_errors.py
Outdated
Show resolved
Hide resolved
...ic-sidecar/src/simcore_service_dynamic_sidecar/modules/user_services_preferences/_manager.py
Show resolved
Hide resolved
...ic-sidecar/src/simcore_service_dynamic_sidecar/modules/user_services_preferences/_manager.py
Outdated
Show resolved
Hide resolved
…ferences-user-services
…ferences-user-services
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thx. Please check the notes before merging. Otherwise go ahead.
...ic-sidecar/src/simcore_service_dynamic_sidecar/modules/user_services_preferences/_manager.py
Outdated
Show resolved
Hide resolved
…ferences-user-services
…ferences-user-services
Code Climate has analyzed commit 2221532 and detected 0 issues on this pull request. View more on Code Climate. |
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
What do these changes do?
Allows user services to store data per user and per product globally. A folder, thaw when zipped is at most 128kb, is made available for storing data.
NOTE 1: this limit can be raised
BUT NEVER LOWERED
after this is merged. We can end up in validation errors and services not starting. Complain now about the size being too large!!NOTE 2: The data is stored in Postgres!
What happens if the version of my service is upgraded. Well consider the following scenarios:
1.2.3
->1.2.3
get the same1.2.3
->1.2.1
get the same (despite the older version, the service owner has to deal with this)1.2.3
->1.2.4
get the same1.2.3
->1.1.0
new one1.2.3
->1.3.0
new one1.2.3
->2.0.0
new oneTL;DR: we only store the preferences under
major.minior
,patch
is discarted!The feature is disabled by default and user services can ask for it by extending their specification.
In the user service's
runtime.yaml
add the following:NOTE versions starting from
itisfoundation/ci-service-integration-library:v1.0.3-dev-4
and up support this featureExtras:
Related issue/s
How to test
DevOps Checklist