mirror of
https://github.com/offen/docker-volume-backup.git
synced 2024-11-10 00:30:29 +01:00
279844ccfb
* Added abstract helper interface and implemented it for all storage backends * Moved storage client initializations also to helper classes * Fixed ssh init issue * Moved script parameter to helper struct to simplify script init. * Created sub modules. Enhanced abstract implementation. * Fixed config issue * Fixed declaration issues. Added config to interface. * Added StorageProviders to unify all backends. * Cleanup, optimizations, comments. * Applied discussed changes. See description. Moved modules to internal packages. Replaced StoragePool with slice. Moved conditional for init of storage backends back to script. * Fix docker build issue * Fixed accidentally removed local copy condition. * Delete .gitignore * Renaming/changes according to review Renamed Init functions and interface. Replaced config object with specific config values. Init func returns interface instead of struct. Removed custom import names where possible. * Fixed auto-complete error. * Combined copy instructions into one layer. * Added logging func for storages. * Introduced logging func for errors too. * Missed an error message * Moved config back to main. Optimized prune stats handling. * Move stats back to main package * Code doc stuff * Apply changes from #136 * Replace name field with function. * Changed receiver names from stg to b. * Renamed LogFuncDef to Log * Removed redundant package name. * Renamed storagePool to storages. * Simplified creation of new storage backend. * Added initialization for storage stats map. * Invert .dockerignore patterns. * Fix package typo
44 lines
860 B
Go
44 lines
860 B
Go
// Copyright 2022 - Offen Authors <hioffen@posteo.de>
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"time"
|
|
)
|
|
|
|
// ContainersStats stats about the docker containers
|
|
type ContainersStats struct {
|
|
All uint
|
|
ToStop uint
|
|
Stopped uint
|
|
StopErrors uint
|
|
}
|
|
|
|
// BackupFileStats stats about the created backup file
|
|
type BackupFileStats struct {
|
|
Name string
|
|
FullPath string
|
|
Size uint64
|
|
}
|
|
|
|
// StorageStats stats about the status of an archival directory
|
|
type StorageStats struct {
|
|
Total uint
|
|
Pruned uint
|
|
PruneErrors uint
|
|
}
|
|
|
|
// Stats global stats regarding script execution
|
|
type Stats struct {
|
|
StartTime time.Time
|
|
EndTime time.Time
|
|
TookTime time.Duration
|
|
LockedTime time.Duration
|
|
LogOutput *bytes.Buffer
|
|
Containers ContainersStats
|
|
BackupFile BackupFileStats
|
|
Storages map[string]StorageStats
|
|
}
|