How pakanor/dbautomatization works
DbAutomatization is a Linux sysops CLI for discovering systemd and Docker databases, configuring them, and operating them through interactive menus. The principal flow scans/registers engines, then lets an operator manage service lifecycle, open a database CLI, create or restore backups, and schedule backups with retention. Template configuration and process execution underpin these domain stages. README documents major integrations; arrows are limited to relationships shown in excerpts, the source index, or README, so unsampled components may have no asserted call edge.
Main entry points: DatabaseAppService.cs Database operations · ProcessExecutor.cs Process execution · DatabaseWizardService.cs Registration wizard · BackupService.cs Backup execution
Components 21
CLI workflows
- CLI startup
DbAutomatization.Cli/Program.cs - Console menu
DbAutomatization.Cli/UI/ConsoleMenu.cs - Database operations
DbAutomatization.Cli/UI/DatabaseAppService.cs - Registration wizard
DbAutomatization.Cli/UI/DatabaseWizardService.cs
Configuration and backup
- Engine configuration
DbAutomatization.Core/Models/DatabaseConfig.cs - Engine templates
DbAutomatization.Core/Models/EngineTemplates.cs - Backup execution
DbAutomatization.Core/Services/BackupService.cs
Linux integrations
- Systemd discovery
DbAutomatization.Infrastructure/Linux/SystemdScanner.cs - Docker discovery
DbAutomatization.Infrastructure/Linux/DockerContainerDiscoveryService.cs - Configuration repository
DbAutomatization.Infrastructure/Linux/DatabaseConfigRepository.cs - Lifecycle and CLI
DbAutomatization.Infrastructure/Linux/SystemdServiceManager.cs - Restore execution
DbAutomatization.Infrastructure/Linux/RestoreService.cs - Backup retention
DbAutomatization.Infrastructure/Linux/BackupRetentionManager.cs - Backup scheduling
DbAutomatization.Infrastructure/Linux/BackupScheduler.cs - Config editor
DbAutomatization.Infrastructure/Linux/ExternalEditorService.cs - Process execution
DbAutomatization.Infrastructure/Linux/ProcessExecutor.cs
Other components
- Operator
- Linux host
- Docker engine
- Database engine
- Backup files
Connections 31
- Operator → CLI startup: launches
- CLI startup → Console menu: starts
DbAutomatization.Cli/Program.cs - Console menu → Database operations: dispatches
DbAutomatization.Cli/UI/ConsoleMenu.cs - Database operations → Systemd discovery: scans
DbAutomatization.Cli/UI/DatabaseAppService.cs - Database operations → Lifecycle and CLI: manages services
DbAutomatization.Cli/UI/DatabaseAppService.cs - Database operations → Backup execution: requests backup
DbAutomatization.Cli/UI/DatabaseAppService.cs - Database operations → Restore execution: requests restore
DbAutomatization.Cli/UI/DatabaseAppService.cs - Database operations → Backup scheduling: manages schedule
DbAutomatization.Cli/UI/DatabaseAppService.cs - Database operations → Registration wizard: opens wizard
DbAutomatization.Cli/UI/DatabaseAppService.cs - Registration wizard → Docker discovery: discovers containers
DbAutomatization.Cli/UI/DatabaseWizardService.cs - Registration wizard → Engine templates: builds config
DbAutomatization.Cli/UI/DatabaseWizardService.cs - Registration wizard → Configuration repository: registers config
DbAutomatization.Cli/UI/DatabaseWizardService.cs - Registration wizard → Engine configuration: creates
DbAutomatization.Cli/UI/DatabaseWizardService.cs - Systemd discovery → Linux host: detects units
- Docker discovery → Process execution: executes commands
DbAutomatization.Infrastructure/Linux/DockerContainerDiscoveryService.cs - Docker discovery → Docker engine: queries containers
- Lifecycle and CLI → Configuration repository: reads config
DbAutomatization.Infrastructure/Linux/SystemdServiceManager.cs - Lifecycle and CLI → Process execution: executes commands
DbAutomatization.Infrastructure/Linux/SystemdServiceManager.cs - Lifecycle and CLI → Database engine: controls or opens
- Lifecycle and CLI → Docker engine: controls containers
- Backup execution → Configuration repository: reads config
DbAutomatization.Core/Services/BackupService.cs - Backup execution → Process execution: runs dump
DbAutomatization.Core/Services/BackupService.cs - Backup execution → Backup retention: cleans old files
DbAutomatization.Core/Services/BackupService.cs - Backup execution → Backup files: writes backup
DbAutomatization.Core/Services/BackupService.cs - Restore execution → Configuration repository: reads config
DbAutomatization.Infrastructure/Linux/RestoreService.cs - Restore execution → Process execution: runs restore
DbAutomatization.Infrastructure/Linux/RestoreService.cs - Restore execution → Backup files: reads backup
DbAutomatization.Infrastructure/Linux/RestoreService.cs - Restore execution → Database engine: restores into
- Config editor → Process execution: launches editor
DbAutomatization.Infrastructure/Linux/ExternalEditorService.cs - Config editor → Configuration repository: reloads config
DbAutomatization.Infrastructure/Linux/ExternalEditorService.cs - Process execution → Linux host: runs processes