Closed tcompa closed 3 days ago
New UserSettings columns: slurm_user
, slurm_accounts
, cache_dir
UserSettingsUpdateStrict is the same as current UserUpdateStrict, while UserSettingsUpdate may modify all columns.
For the moment, we do not modify the User API/schemas.
Branching from https://github.com/fractal-analytics-platform/fractal-server/issues/1769#issuecomment-2357734952 with a more specific plan.
Database
user_settings
with a set of nullable string columns:ssh_host
,ssh_username
,ssh_private_key_path
,ssh_tasks_dir
,ssh_jobs_dir
- ref #1768slurm_user
,cache_dir
,slurm_accounts
- ref #1786user_oauth
anduser_settings
, through a FK columns on the user side. We will later make this required - ref #1781user_oauth.settings
)Two-steps rollout (and
update-db-data
script)The two-steps rollout is described in #1786. Running
update-db-data
for v2.6.0 should lead to a state which is fully usable, and where all relevant information has already been moved to user_settings.slurm_user
,slurm_accounts
,cache_dir
)API
User API
Settings API
SettingsRead
response schema, with aSettingReadStrict
version which is visible to users/auth/users/{user_id}/settings/
and/auth/current-user/settings/
(paths TBD), which returns the user's settings./auth/users/{user_id}/settings/
(path TBD) and for/auth/current-user/settings/
, with different request-body schemas. For the moment, the current-userSettingsUpdateStrict
schema will be empty, while the superuser-onlySettingsUpdate
under/users
includes all columns./auth/users/{user_id}/settings
endpoint accepts empty strings in the SLURM accounts array:slurm_accounts: [""]
Task-collection and job-execution API
slurm_accounts: list[str]
to the required and validated settings, both for sudo and ssh slurm backendsPerform validation in standard task-collection endpointEDIT: not neededuser.slurm_user
withuser.settings.slurm_user
Task-collection and job-execution subpackages