75f3dd141c
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CI and Release / lint-frontend (push) Has been cancelled
CI and Release / dockerfile-scan (push) Has been cancelled
CI and Release / test-frontend (push) Has been cancelled
CI and Release / lint-verification-agent (push) Has been cancelled
CI and Release / test-verification-agent (push) Has been cancelled
CI and Release / e2e-verification-agent (push) Has been cancelled
CI and Release / test-backend (push) Has been cancelled
CI and Release / build-dev-image (push) Has been cancelled
CI and Release / push-dev-image (push) Has been cancelled
CI and Release / build-image (push) Has been cancelled
CI and Release / build-verification-image (push) Has been cancelled
CI and Release / determine-version (push) Has been cancelled
CI and Release / push-image (push) Has been cancelled
CI and Release / push-verification-image (12) (push) Has been cancelled
CI and Release / lint-backend (push) Has been cancelled
CI and Release / push-verification-image (17) (push) Has been cancelled
CI and Release / push-verification-image (18) (push) Has been cancelled
CI and Release / release (push) Has been cancelled
CI and Release / publish-helm-chart (push) Has been cancelled
CI and Release / push-verification-image (13) (push) Has been cancelled
CI and Release / push-verification-image (14) (push) Has been cancelled
CI and Release / push-verification-image (15) (push) Has been cancelled
CI and Release / push-verification-image (16) (push) Has been cancelled
29 lines
623 B
Go
29 lines
623 B
Go
package disk
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
|
|
"github.com/shirou/gopsutil/v4/disk"
|
|
|
|
"databasus-backend/internal/config"
|
|
)
|
|
|
|
type DiskService struct{}
|
|
|
|
func (s *DiskService) GetDiskUsage() (*DiskUsage, error) {
|
|
cfg := config.GetEnv()
|
|
path := filepath.Dir(cfg.DataFolder) // Gets /databasus-data from /databasus-data/backups
|
|
|
|
diskUsage, err := disk.Usage(path)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to get disk usage for path %s: %w", path, err)
|
|
}
|
|
|
|
return &DiskUsage{
|
|
TotalSpaceBytes: int64(diskUsage.Total),
|
|
UsedSpaceBytes: int64(diskUsage.Used),
|
|
FreeSpaceBytes: int64(diskUsage.Free),
|
|
}, nil
|
|
}
|