Skip to content

Commit 3e4954e

Browse files
author
JD Bungart
committed
chore: cleanup repository structure
- Remove tasks folder and related gitignore entries - Add Windsurf IDE files to gitignore
1 parent 5e0c478 commit 3e4954e

14 files changed

+1074
-299
lines changed

.gitignore

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ __pycache__/
2929
# IDE specific files
3030
.vscode/
3131
.idea/
32-
*.swp
33-
*.swo
3432

3533
# Environment files
3634
.env
3735

38-
# Task related files (develpopment)
39-
tasks/*
40-
!tasks/*.gitkeep
36+
# Windsurf IDE files
37+
.windsurfrules
38+
.windsurf/
39+
*.swp
40+
*.swo

README.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ A powerful and flexible backup solution for MikroTik RouterOS devices. This tool
2020
- Compose-style visualization
2121
- Detailed logging
2222
- Tmpfs-based backup storage to reduce flash wear
23+
- 60-second command timeout to prevent hanging operations
2324

2425
- **Security Features**
2526
- SSH key-based authentication
@@ -110,11 +111,6 @@ ssh:
110111
auth_timeout: 10 # SSH auth timeout (optional, default: 5)
111112
#keepalive_interval: 60 # Keepalive interval (optional, default: 60)
112113
#keepalive_countmax: 3 # Max failed keepalives (optional, default: 3)
113-
114-
# Temporary Storage Settings
115-
use_tmpfs: true # Use tmpfs for temporary storage (default: true)
116-
tmpfs_fallback: true # Fall back to EEPROM if tmpfs fails (default: true)
117-
tmpfs_size: 50M # Size of tmpfs in MB (optional, auto-calculated if not set)
118114
```
119115

120116
### Target Configuration (targets.yaml)
@@ -152,9 +148,6 @@ targets:
152148
enable_plaintext_backup: true
153149
keep_binary_backup: true # Keep binary backup on router
154150
keep_plaintext_backup: true # Keep plaintext backup on router
155-
use_tmpfs: true
156-
tmpfs_fallback: true
157-
tmpfs_size: 25M # Override global tmpfs size
158151
```
159152
160153
#### Multiple Targets with Different Requirements

ROADMAP.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ This document outlines the planned features and improvements for future releases
44

55
## Planned Features
66

7-
### 1. Additional Notification Channels
7+
### 1. Notification System
8+
- [x] E-Mail (SMTP) support (initial release)
9+
- [ ] Channel Specific Alerting templates
810
- [ ] Generic webhook support
911
- [ ] Telegram integration
1012
- [ ] NTFY.sh for push notifications)
@@ -17,30 +19,33 @@ This document outlines the planned features and improvements for future releases
1719
- [ ] ... insert more notification channels ...
1820

1921
### 2. Backup Enhancements
20-
- [ ] Use a temporary ramdisk to store binary backup
21-
- Instead of saving to primary storage of target
22+
- [x] Use a temporary file system (tmpfs) to store binary backup (0.5.0)
23+
- Instead of saving to primary storage of target (flash for most appliances)
24+
- [ ] Integrate GIT support for plaintext backups
2225
- [ ] Support for certificate store backup
2326
- [ ] Automatic certificate renewal tracking
2427

2528
### 4. Monitoring and Reporting
29+
- [ ] Prometheus endpoint
2630
- [ ] Detailed backup statistics
2731
- [ ] Performance metrics collection
2832
- [ ] Status dashboard
29-
- [ ] Custom report generation
33+
- [ ] Custom report generation (PDF/E-Mail)
3034
- [ ] Backup success rate tracking
3135

3236
### 5. Integration Features
33-
- [ ] Make this a PyPI package
37+
- [ ] PyPI package
3438
- [ ] Docker Image
3539
- [ ] REST API for remote management
3640
- [ ] Integration with monitoring systems
37-
- [ ] Backup scheduling service
41+
- [ ] Backup scheduling service (async)
3842

3943
### 6. User Experience
4044
- [ ] Web-based management interface
4145

42-
### 7. Recovery Features
46+
### 7. Misc Features
4347
- [ ] Remote restore capabilities
48+
- [ ] Basic Remote command execution functionality
4449
- [ ] Recovery testing tools
4550

4651
Missing a feature? Open an issue or send a PR :)

config/global.yaml.sample

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,14 @@ ssh:
3838
#max_parallel_backups: 5 # Maximum concurrent backups (optional, default: 5)
3939

4040
# Temporary Storage Settings
41-
use_tmpfs: true # Use tmpfs for temporary storage (optional, default: true)
42-
#tmpfs_fallback: true # Fall back to EEPROM if tmpfs fails (optional, default: true)
43-
#tmpfs_size: 50M # Size of tmpfs in MB (optional, auto-calculated if not set)
41+
tmpfs:
42+
enabled: true # Use tmpfs for temporary storage (default: true)
43+
fallback_enabled: true # Fall back to root storage if tmpfs fails (default: true)
44+
size_auto: true # Calculate size based on available memory (default: true)
45+
size_mb: 50 # Fixed size in MB when size_auto is false (default: 50)
46+
min_size_mb: 1 # Minimum size in MB for auto calculation (default: 1)
47+
max_size_mb: 50 # Maximum size in MB for auto calculation (default: 50)
48+
mount_point: "rosbackup" # Mount point name for tmpfs (default: "rosbackup")
4449

4550
# Logging Settings
4651
#log_file_enabled: false # Enable logging to file (optional, default: false)

config/targets.yaml.sample

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ targets:
2626
#keep_plaintext_backup: false # Keep plaintext backup (optional, default: false)
2727

2828
# Temporary Storage Settings
29-
#use_tmpfs: true # Override global tmpfs usage (optional)
30-
#tmpfs_fallback: true # Override global tmpfs fallback (optional)
31-
#tmpfs_size: 50M # Override global tmpfs size (optional)
29+
tmpfs:
30+
enabled: true # Override global tmpfs enable/disable (optional)
31+
fallback_enabled: true # Override global fallback behavior (optional)
32+
size_mb: 25 # Override global fixed size in MB (optional)

0 commit comments

Comments
 (0)