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
27 lines
810 B
YAML
27 lines
810 B
YAML
age_recipients:
|
|
- age1278m9q7dp3chsh2dcy82qk27v047zywyvtxwnj4cvt0z65jw6a7q5dqhfj # sneak's long term age key
|
|
- age1ezrjmfpwsc95svdg0y54mums3zevgzu0x0ecq2f7tp8a05gl0sjq9q9wjg # insecure integration test key
|
|
source_dirs:
|
|
- /tmp/vaultik-test-source
|
|
exclude:
|
|
- '*.log'
|
|
- '*.tmp'
|
|
- '.git'
|
|
- 'node_modules'
|
|
s3:
|
|
endpoint: http://ber1app1.local:3900/
|
|
bucket: vaultik-integration-test
|
|
prefix: test-host/
|
|
access_key_id: GKbc8e6d35fdf50847f155aca5
|
|
secret_access_key: 217046bee47c050301e3cc13e3cba1a8a943cf5f37f8c7979c349c5254441d18
|
|
region: us-east-1
|
|
use_ssl: false
|
|
part_size: 5242880 # 5MB
|
|
backup_interval: 1h
|
|
full_scan_interval: 24h
|
|
min_time_between_run: 15m
|
|
index_path: /tmp/vaultik-integration-test.sqlite
|
|
chunk_size: 10MB
|
|
blob_size_limit: 10GB
|
|
compression_level: 3
|
|
hostname: test-host |