RDS/Aurora logical refresh component

Synced from GitHub PR #262: https://github.com/postgres-ai/database-lab-engine/pull/262


This new component is helpful for large DBs and full refresh in logical mode, where long dump to perform logical sync is problematic – it holds xmin horizon, affecting DB health (bloat accumulation). For RDS and Aurora only at this moment.

Note

Introduces a standalone rds-refresh tool that clones RDS/Aurora from snapshots, updates DBLab source, triggers full refresh, and cleans up—plus Docker/CLI, configs, and docs.

  • New component: rds-refresh
    • CLI tool to orchestrate DBLab full refresh via temporary RDS/Aurora clones from snapshots (main.go, refresher.go).
    • DBLab API client to update source config and trigger/monitor refresh (dblab.go).
    • AWS RDS client for snapshot discovery, clone create/wait/delete for RDS and Aurora (rds.go).
    • Config loader with env expansion, validation, and defaults; example configs (config.go, config.example.yaml).
    • Packaging and tooling: Dockerfile, Makefile, module files (go.mod, go.sum).
    • Documentation with usage, scheduling, IAM, and networking (README.md).
  • Engine
    • Add example config: engine/configs/rds-refresh.example.yaml.
    • Update engine/go.mod/go.sum with AWS SDK (v2) indirect dependencies.

Written by Cursor Bugbot for commit 01043952. Configure here.

Edited by Nikolay Samokhvalov

Merge request reports

Loading