Skip to content

feat: provision package refactor and a new mode, "mulocal" (multi-user with independent sessions)

Anatoly Stansler requested to merge 53-multi-user into master

Description

The main change introduced in this MR: mulocal mode which allows having independent sessions. Now multiple users can change DB not interfering with each other – it feels like multiple "parralel" universes.

All changes introduced in the MR:

  • Provision
    • Separate to different files
    • Add modes: local, mulocal
    • Add runners which encapsulate systems calls
    • Add separate Postgres and ZFS specific functions for reusability
    • Inlined and simplified aws mode
    • Improved Postgres start and stop logic
  • Configs
    • Add mode param and mode specific configs
    • Rename provision.yaml config to provisioning.aws.sample.yaml (to not create git diff on config edits)
    • Updated samples configs
    • New Postgres and ZFS configuration params
  • Bot
    • Start session of state changing commands
    • Stop idle sessions
  • Util
    • Number of util functions

TODO for separate MRs:

  • Refactor aws mode using runners
  • Ports synchornization in mulocal mode
  • Check ports availability on init in mulocal mode

Please, mark this checkboxes, if

  • the MR description has been reviewed
  • this MR contains text changes and they have been reviewed OR there are no texts changes
  • this MR contains GUI/CLI changes and they have been reviewed OR there are no GUI/CLI changes
  • this MR contains API changes and they have been reviewed OR there are no API changes

Related issue

Closes #53.

Examples

[present examples for reviewers: new CLI output, screenshots, etc]

Edited by Nikolay Samokhvalov

Merge request reports