|
7 | 7 | # |
8 | 8 | # Widget types: |
9 | 9 | # bar: {type: bar, x, y, w, label, pct: <value-name>, text: "<format>"} |
10 | | -# metric: {type: metric, x, y, label, text: "<format>", color: <spec>, bw: <region width>} |
| 10 | +# metric: {type: metric, x, y, label, text: "<format>", color: <spec>} |
| 11 | +# radial: {type: radial, x, y, r, width, pct: <value-name>, text, size, label, track: true} |
| 12 | +# arc gauge from 12 o'clock; omit `track` to trace background ring art |
| 13 | +# text: {type: text, x, y, size, weight, family, anchor, text: "<format>", color: <spec>} |
| 14 | +# |
| 15 | +# Page types: |
| 16 | +# (default) widget page as below |
| 17 | +# type: netmap embeds the netmap app as a page; keys here override |
| 18 | +# display.yaml's `netmap:` section (title, up_query, ...) |
11 | 19 | # |
12 | 20 | # Page options: |
13 | 21 | # background: res/themes/<name>/background.png draw widgets over theme art |
@@ -71,10 +79,30 @@ pages: |
71 | 79 | - {type: metric, x: 16, y: 170, label: CPU, text: "{cpu:.0f}%", color: "auto:cpu"} |
72 | 80 | - {type: metric, x: 176, y: 170, label: MEM, text: "{mem:.0f}%", color: "auto:mem"} |
73 | 81 |
|
74 | | - # Example: widgets over existing theme art (try it, then tune positions): |
75 | | - # - title: CYBERDECK |
76 | | - # background: res/themes/Cyberdeck/background.png |
77 | | - # header: false |
78 | | - # footer: false |
79 | | - # widgets: |
80 | | - # - {type: metric, x: 40, y: 80, label: CPU, text: "{cpu_pct:.0f}%", color: accent} |
| 82 | + # The netmap app embedded as a page (settings inherit from display.yaml `netmap:`) |
| 83 | + - type: netmap |
| 84 | + |
| 85 | + # Live values over the stock Cyberdeck theme art: radials trace the ring art, |
| 86 | + # text widgets sit in its value boxes. GPU ring shows disk until the GPU lands. |
| 87 | + - title: CYBERDECK |
| 88 | + background: res/themes/Cyberdeck/background.png |
| 89 | + header: false |
| 90 | + footer: false |
| 91 | + queries: |
| 92 | + hosts_up: sum(up{job=~".*node.*"}) |
| 93 | + hosts_total: count(node_uname_info) |
| 94 | + pods_run: sum(kube_pod_status_phase{phase="Running"}) |
| 95 | + derived: |
| 96 | + temp_pct: "(temp or 0)/90*100" |
| 97 | + load_pct: "(load1 or 0)/8*100" |
| 98 | + widgets: |
| 99 | + - {type: radial, x: 96, y: 79, r: 37, width: 9, pct: cpu_pct, text: "{cpu_pct:.0f}%"} |
| 100 | + - {type: radial, x: 107, y: 206, r: 35, width: 9, pct: ram_pct, text: "{ram_pct:.0f}%"} |
| 101 | + - {type: radial, x: 164, y: 136, r: 27, width: 7, pct: temp_pct, text: "{temp:.0f}°", size: 16} |
| 102 | + - {type: radial, x: 232, y: 69, r: 31, width: 8, pct: load_pct, text: "{load1:.1f}", size: 16} |
| 103 | + - {type: radial, x: 388, y: 165, r: 50, width: 10, pct: disk_pct, text: "{disk_pct:.0f}%"} |
| 104 | + - {type: text, x: 375, y: 47, size: 12, text: "{ram_used_g:.1f} / {ram_total_g:.0f} G"} |
| 105 | + - {type: text, x: 72, y: 137, size: 14, text: "{uptime}"} |
| 106 | + - {type: text, x: 266, y: 160, size: 14, text: "{time_hm}"} |
| 107 | + - {type: text, x: 252, y: 250, size: 22, weight: Bold, text: "{pods_run:.0f} pods"} |
| 108 | + - {type: text, x: 398, y: 292, size: 12, text: "{hosts_up:.0f}/{hosts_total:.0f} up", color: "ok_if:hosts_up>=hosts_total"} |
0 commit comments