diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index 29eeb56f..1f1db361 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -1852,13 +1852,17 @@ def build_overview(): ) ) panels.append( - bargauge_panel( + timeseries_panel( 22, "Nodes Closest to Full Astraios Disks", - f"topk(12, {astraios_usage_expr()})", + astraios_usage_expr(), {"h": 16, "w": 12, "x": 12, "y": 71}, unit="percent", - thresholds=PERCENT_THRESHOLDS, + legend="{{node}}", + legend_calcs=["last"], + legend_display="table", + legend_placement="right", + time_from="1w", links=link_to("atlas-storage"), ) ) diff --git a/services/comms/element-call-deployment.yaml b/services/comms/element-call-deployment.yaml index 149dcd10..cd9611e7 100644 --- a/services/comms/element-call-deployment.yaml +++ b/services/comms/element-call-deployment.yaml @@ -17,6 +17,7 @@ spec: spec: nodeSelector: hardware: rpi5 + node-role.kubernetes.io/worker: "true" containers: - name: element-call image: ghcr.io/element-hq/element-call@sha256:e6897c7818331714eae19d83ef8ea94a8b41115f0d8d3f62c2fed2d02c65c9bc diff --git a/services/comms/helmrelease.yaml b/services/comms/helmrelease.yaml index eeac49e8..2d721fd4 100644 --- a/services/comms/helmrelease.yaml +++ b/services/comms/helmrelease.yaml @@ -119,6 +119,7 @@ spec: > /synapse/config/conf.d/runtime-secrets.yaml nodeSelector: hardware: rpi5 + node-role.kubernetes.io/worker: "true" affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: @@ -417,6 +418,7 @@ spec: nodeSelector: hardware: rpi5 + node-role.kubernetes.io/worker: "true" affinity: nodeAffinity: diff --git a/services/mailu/helmrelease.yaml b/services/mailu/helmrelease.yaml index 2a7e6f5f..0249c589 100644 --- a/services/mailu/helmrelease.yaml +++ b/services/mailu/helmrelease.yaml @@ -176,6 +176,7 @@ spec: logLevel: DEBUG nodeSelector: hardware: rpi5 + node-role.kubernetes.io/worker: "true" resources: requests: cpu: 200m diff --git a/services/maintenance/vault-sync-deployment.yaml b/services/maintenance/vault-sync-deployment.yaml index edc04561..a64cb98b 100644 --- a/services/maintenance/vault-sync-deployment.yaml +++ b/services/maintenance/vault-sync-deployment.yaml @@ -14,6 +14,8 @@ spec: labels: app: maintenance-vault-sync spec: + nodeSelector: + node-role.kubernetes.io/worker: "true" serviceAccountName: maintenance-vault-sync containers: - name: sync diff --git a/services/monitoring/dashboards/atlas-overview.json b/services/monitoring/dashboards/atlas-overview.json index df56673b..edf2dd85 100644 --- a/services/monitoring/dashboards/atlas-overview.json +++ b/services/monitoring/dashboards/atlas-overview.json @@ -3175,7 +3175,7 @@ }, { "id": 22, - "type": "bargauge", + "type": "timeseries", "title": "Nodes Closest to Full Astraios Disks", "datasource": { "type": "prometheus", @@ -3189,68 +3189,36 @@ }, "targets": [ { - "expr": "sort_desc(topk(12, avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename!=\"\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))))", + "expr": "avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename!=\"\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))", "refId": "A", "legendFormat": "{{node}}" } ], "fieldConfig": { "defaults": { - "unit": "percent", - "min": 0, - "max": 100, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 50 - }, - { - "color": "orange", - "value": 75 - }, - { - "color": "red", - "value": 91.5 - } - ] - } + "unit": "percent" }, "overrides": [] }, "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { + "legend": { + "displayMode": "table", + "placement": "right", "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "last" + ] + }, + "tooltip": { + "mode": "multi" } }, + "timeFrom": "1w", "links": [ { "title": "Open atlas-storage dashboard", "url": "/d/atlas-storage", "targetBlank": true } - ], - "transformations": [ - { - "id": "sortBy", - "options": { - "fields": [ - "Value" - ], - "order": "desc" - } - } ] } ], diff --git a/services/monitoring/grafana-dashboard-overview.yaml b/services/monitoring/grafana-dashboard-overview.yaml index 01a77fcd..3a3659a5 100644 --- a/services/monitoring/grafana-dashboard-overview.yaml +++ b/services/monitoring/grafana-dashboard-overview.yaml @@ -3184,7 +3184,7 @@ data: }, { "id": 22, - "type": "bargauge", + "type": "timeseries", "title": "Nodes Closest to Full Astraios Disks", "datasource": { "type": "prometheus", @@ -3198,68 +3198,36 @@ data: }, "targets": [ { - "expr": "sort_desc(topk(12, avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename!=\"\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))))", + "expr": "avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename!=\"\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))", "refId": "A", "legendFormat": "{{node}}" } ], "fieldConfig": { "defaults": { - "unit": "percent", - "min": 0, - "max": 100, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 50 - }, - { - "color": "orange", - "value": 75 - }, - { - "color": "red", - "value": 91.5 - } - ] - } + "unit": "percent" }, "overrides": [] }, "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { + "legend": { + "displayMode": "table", + "placement": "right", "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "last" + ] + }, + "tooltip": { + "mode": "multi" } }, + "timeFrom": "1w", "links": [ { "title": "Open atlas-storage dashboard", "url": "/d/atlas-storage", "targetBlank": true } - ], - "transformations": [ - { - "id": "sortBy", - "options": { - "fields": [ - "Value" - ], - "order": "desc" - } - } ] } ], diff --git a/services/nextcloud/collabora.yaml b/services/nextcloud/collabora.yaml index 8a878215..13c9c0dc 100644 --- a/services/nextcloud/collabora.yaml +++ b/services/nextcloud/collabora.yaml @@ -18,6 +18,7 @@ spec: spec: nodeSelector: hardware: rpi5 + node-role.kubernetes.io/worker: "true" containers: - name: collabora image: collabora/code@sha256:3c58d0e9bae75e4647467d0c7d91cb66f261d3e814709aed590b5c334a04db26 diff --git a/services/sui-metrics/overlays/atlas/patch-node-selector.yaml b/services/sui-metrics/overlays/atlas/patch-node-selector.yaml index d4f33608..c1862cbb 100644 --- a/services/sui-metrics/overlays/atlas/patch-node-selector.yaml +++ b/services/sui-metrics/overlays/atlas/patch-node-selector.yaml @@ -9,3 +9,4 @@ spec: spec: nodeSelector: hardware: rpi5 + node-role.kubernetes.io/worker: "true"