mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-21 02:33:32 +00:00
feat: add PBS datastores to unified Storage view (#869)
PBS datastores are now displayed in the Storage overview alongside PVE storage. Each PBS datastore is converted to a Storage entry with: - type: 'pbs' - content: 'backup' - shared: true - active: based on PBS instance status This provides a complete picture of all storage resources in one view while keeping detailed PBS info in the dedicated PBS section. Closes #869
This commit is contained in:
@@ -7182,6 +7182,37 @@ func (m *Monitor) pollPBSInstance(ctx context.Context, instanceName string, clie
|
||||
Int("datastores", len(pbsInst.Datastores)).
|
||||
Msg("PBS instance updated in state")
|
||||
|
||||
// Convert PBS datastores to Storage entries for unified storage view
|
||||
if len(pbsInst.Datastores) > 0 && instanceCfg.MonitorDatastores {
|
||||
var pbsStorages []models.Storage
|
||||
for _, ds := range pbsInst.Datastores {
|
||||
// Create a storage entry for this PBS datastore
|
||||
storageID := fmt.Sprintf("pbs-%s-%s", instanceName, ds.Name)
|
||||
pbsStorage := models.Storage{
|
||||
ID: storageID,
|
||||
Name: ds.Name,
|
||||
Node: instanceName, // Use PBS instance name as "node"
|
||||
Instance: "pbs-" + instanceName,
|
||||
Type: "pbs",
|
||||
Status: ds.Status,
|
||||
Total: ds.Total,
|
||||
Used: ds.Used,
|
||||
Free: ds.Free,
|
||||
Usage: ds.Usage,
|
||||
Content: "backup", // PBS datastores are for backups
|
||||
Shared: true, // PBS datastores are typically shared/network storage
|
||||
Enabled: true,
|
||||
Active: pbsInst.Status == "online",
|
||||
}
|
||||
pbsStorages = append(pbsStorages, pbsStorage)
|
||||
}
|
||||
m.state.UpdateStorageForInstance("pbs-"+instanceName, pbsStorages)
|
||||
log.Debug().
|
||||
Str("instance", instanceName).
|
||||
Int("storageEntries", len(pbsStorages)).
|
||||
Msg("Added PBS datastores to unified storage view")
|
||||
}
|
||||
|
||||
if m.alertManager != nil {
|
||||
m.alertManager.CheckPBS(pbsInst)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user