Add Show Widget for library actions with Overview charts from last run output.

This commit is contained in:
2026-07-20 20:48:06 +02:00
parent e047499fed
commit d188ca41b8
20 changed files with 1918 additions and 128 deletions
+36
View File
@@ -15,6 +15,16 @@ func TestResolveItemLibraryAndLocal(t *testing.T) {
Body: "uptime",
Env: []settings.ActionEnvVar{},
},
{
ID: settings.BuiltinActionDiskUsageID,
Name: "Disk usage",
Kind: settings.ActionKindShell,
Body: "df -h {{env.MOUNT}}",
Env: []settings.ActionEnvVar{
{Name: "MOUNT", Value: "/"},
{Name: "EXTRA", Value: "lib"},
},
},
}
resolved, err := ResolveItem(settings.NodeActionItem{
@@ -29,6 +39,32 @@ func TestResolveItemLibraryAndLocal(t *testing.T) {
t.Fatalf("resolved = %#v", resolved)
}
merged, err := ResolveItem(settings.NodeActionItem{
ID: "i-disk",
Source: settings.ActionItemSourceLibrary,
LibraryActionID: settings.BuiltinActionDiskUsageID,
Env: []settings.ActionEnvVar{
{Name: "MOUNT", Value: "/data"},
{Name: "ITEM_ONLY", Value: "yes"},
},
}, library)
if err != nil {
t.Fatalf("ResolveItem merge: %v", err)
}
envByName := map[string]string{}
for _, envVar := range merged.Env {
envByName[envVar.Name] = envVar.Value
}
if envByName["MOUNT"] != "/data" {
t.Fatalf("MOUNT override = %#v", merged.Env)
}
if envByName["EXTRA"] != "lib" {
t.Fatalf("library EXTRA lost: %#v", merged.Env)
}
if envByName["ITEM_ONLY"] != "yes" {
t.Fatalf("item env missing: %#v", merged.Env)
}
local, err := ResolveItem(settings.NodeActionItem{
ID: "i2",
Source: settings.ActionItemSourceLocal,