0.4.1 • Published 10 months ago

lansaver v0.4.1

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

Features

Allows users to configure Devices on their network that they wish to back up configurations for - Firewalls, Managed Switches, Home Assistant instances, etc

To do

  • Settings?
  • Delete backup files when deleting the backup db entry (depends on where we saved the file...)
  • Destinations support

Supported Backup Sources

  • OPNSense
  • Home Assistant
  • TP Link Managed Switches
  • LANsaver itself

Supported Destinations

  • git repository

Models

Device

  • type: String (e.g. opnsense, tplink, homeassistant, etc)
  • hostname: String
  • username: String
  • password: String
  • credentials?: String

Backup

  • device_id: Integer
  • created_at: Datetime
  • status: String

Schedule

  • disabled: Boolean
  • cron: String
  • name: String

Destination

  • type: String (e.g. git, ftp, scp, email)
  • how to represent these credentials/details?

Job

  • created_at: Datetime
  • started_at: Datetime
  • finished_at: Datetime
  • status: Datetime
  • schedule_id: Integer

Back everything up on the same schedule? Probably, but should probably be able to choose which devices on each Schedule. Probably most people would just want one schedule and back everything up at the same time

A Schedule triggers zero or more backups. Once all have been performed, should do whatever user configures. Should track these as Jobs. Job status should be a state machine. So should Backup status - which is probably just queued, running, succeeded or error.

A Destination represents some place where the backups should be sent. Destinations include git, ftp, email, scp, and each needs some custom code that will implement the way it should receive data (e.g. git adapter should check out repo, add files, commit and push. scp is probably a simpler implementation, as it email).