This commit represents a significant architectural overhaul of vaultik: Database Schema Changes: - Switch files table to use UUID primary keys instead of path-based keys - Add UUID primary keys to blobs table for immediate chunk association - Update all foreign key relationships to use UUIDs - Add comprehensive schema documentation in DATAMODEL.md - Add SQLite busy timeout handling for concurrent operations Streaming and Performance Improvements: - Implement true streaming blob packing without intermediate storage - Add streaming chunk processing to reduce memory usage - Improve progress reporting with real-time metrics - Add upload metrics tracking in new uploads table CLI Refactoring: - Restructure CLI to use subcommands: snapshot create/list/purge/verify - Add store info command for S3 configuration display - Add custom duration parser supporting days/weeks/months/years - Remove old backup.go in favor of enhanced snapshot.go - Add --cron flag for silent operation Configuration Changes: - Remove unused index_prefix configuration option - Add support for snapshot pruning retention policies - Improve configuration validation and error messages Testing Improvements: - Add comprehensive repository tests with edge cases - Add cascade delete debugging tests - Fix concurrent operation tests to use SQLite busy timeout - Remove tolerance for SQLITE_BUSY errors in tests Documentation: - Add MIT LICENSE file - Update README with new command structure - Add comprehensive DATAMODEL.md explaining database schema - Update DESIGN.md with UUID-based architecture Other Changes: - Add test-config.yml for testing - Update Makefile with better test output formatting - Fix various race conditions in concurrent operations - Improve error handling throughout
28 lines
708 B
YAML
28 lines
708 B
YAML
age_recipients:
|
|
- age1278m9q7dp3chsh2dcy82qk27v047zywyvtxwnj4cvt0z65jw6a7q5dqhfj # sneak's long term age key
|
|
- age1otherpubkey... # add additional recipients as needed
|
|
source_dirs:
|
|
- /tmp/vaultik-test-source
|
|
- /var/test/data
|
|
exclude:
|
|
- '*.log'
|
|
- '*.tmp'
|
|
- '.git'
|
|
- 'node_modules'
|
|
s3:
|
|
endpoint: https://s3.example.com
|
|
bucket: vaultik-test-bucket
|
|
prefix: test-host/
|
|
access_key_id: test-access-key
|
|
secret_access_key: test-secret-key
|
|
region: us-east-1
|
|
use_ssl: true
|
|
part_size: 5242880 # 5MB
|
|
backup_interval: 1h
|
|
full_scan_interval: 24h
|
|
min_time_between_run: 15m
|
|
index_path: /tmp/vaultik-test.sqlite
|
|
chunk_size: 10MB
|
|
blob_size_limit: 10GB
|
|
compression_level: 3
|
|
hostname: test-host |