Перейти к содержанию

ADR-007: Cloud Sync with Multiple Backends

Status

Accepted

Context

Users need to sync their development environment configuration across machines. Different users prefer different cloud providers.

Decision

Implement a pluggable cloud sync system with 9 backends: 1. GitHub Gist (private) 2. GitLab Snippet 3. AWS S3 / MinIO 4. Google Cloud Storage 5. Azure Blob Storage 6. Dropbox 7. Google Drive 8. rsync over SSH 9. Syncthing (P2P)

Features: encryption, compression, conflict resolution, sync history.

Consequences

  • Positive: Users choose their preferred backend
  • Positive: Works offline (rsync, Syncthing)
  • Positive: Encrypted sync for sensitive configs
  • Negative: Must maintain 9 backend implementations
  • Negative: OAuth complexity for some backends
  • Module: src/lib/00s-cloud-sync.sh
  • CLI: --cloud-upload, --cloud-download, --cloud-status