Skip to content

feat: full refresh (#166)

Artyom Kartasov requested to merge 166-full-refresh into master

Description

  • reorganize FS configuration
    • create mountpoint configuration structs
  • refactor FS pool managers
    • create zfs and lvm filesystem managers
  • retrieval pool rotation
    • detect the next pool to update
    • pool switching
    • reload service configuration
  • running an actual retrieval chain
    • reproduce retrieval job execution
  • running a refresh scheduler
    • create a timetable
    • cancel nested snapshot schedulers
  • cloning with different fs pools
    • provide fs managed pools to the cloning service
    • adopt cloning operations
  • idle timeouts
    • detect clone idleness for all managed pools

Related issue

#166 (closed)

Examples

global:
  engine: postgres
  debug: true

poolManager:
  mountDir: /var/lib/dblab
  dataSubDir: data
  clonesMountSubDir: clones
  socketSubDir: sockets
  preSnapshotSuffix: "_pre"

provision:
  portPool:
    from: 6001
    to: 6005
  dockerImage: "postgresai/extended-postgres:12"

retrieval:
  refresh:
    timetable: "0 0 * * 1"

Checklist

  • 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, specifications reflect those changes and they have been reviewed OR there are no API changes

Closes #166 (closed)

Edited by Artyom Kartasov

Merge request reports