Public source validation / validate (push) Failing after 3m8s
41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/itworx/pulse/internal/agentsource"
|
|
"github.com/itworx/pulse/internal/agentstore"
|
|
"github.com/itworx/pulse/internal/datasource"
|
|
)
|
|
|
|
var requiredUnraidCapabilities = []agentstore.Capability{
|
|
agentstore.CapabilityHost,
|
|
agentstore.CapabilityProcesses,
|
|
agentstore.CapabilityContainers,
|
|
agentstore.CapabilityArray,
|
|
agentstore.CapabilityDisks,
|
|
agentstore.CapabilityPools,
|
|
agentstore.CapabilityShares,
|
|
}
|
|
|
|
var requiredStorageCapabilities = []agentstore.Capability{
|
|
agentstore.CapabilityArray,
|
|
agentstore.CapabilityDisks,
|
|
agentstore.CapabilityPools,
|
|
agentstore.CapabilityShares,
|
|
}
|
|
|
|
func readAgentSourceHealth(ctx context.Context, reader agentstore.Reader, now time.Time) (datasource.SourceHealth, datasource.SourceHealth, error) {
|
|
unraidHealth, err := agentsource.Health(ctx, reader, requiredUnraidCapabilities, agentsource.Windows{}, now)
|
|
if err != nil {
|
|
return datasource.SourceHealth{}, datasource.SourceHealth{}, fmt.Errorf("summarize Unraid capabilities: %w", err)
|
|
}
|
|
storageHealth, err := agentsource.Health(ctx, reader, requiredStorageCapabilities, agentsource.Windows{}, now)
|
|
if err != nil {
|
|
return datasource.SourceHealth{}, datasource.SourceHealth{}, fmt.Errorf("summarize storage capabilities: %w", err)
|
|
}
|
|
return unraidHealth, storageHealth, nil
|
|
}
|