Giter Site home page Giter Site logo

lansaver's Introduction

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?
  • Toasts for user feedback - how to incorporate into server actions (esp with redirect)?
  • 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

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).

lansaver's People

Contributors

edspencer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.