Skip to content

Commit 838bc32

Browse files
authored
Add SHIP Status Dashboard component-monitor deployment (#920)
* Add SHIP Status Dashboard component-monitor deployment Add build script, config, and systemd service for running a dedicated component-monitor instance on the ERT VM to report health status of ERT services to the SHIP Status Dashboard. The component-monitor probes the MCP server health endpoint and reports status to the dashboard API. A separate instance is needed because the app.ci cluster cannot reach the internal VM network. * Update build script to extract binary from container image Use the pre-built component-monitor image from quay.io/openshiftci instead of compiling from source. This removes the Go toolchain dependency on the VM. * Run component-monitor as a container via podman The pre-built container image from quay.io/openshiftci avoids the need to install Go or extract the binary. The systemd service uses podman run with the config and token mounted as volumes. * Run component-monitor container as root Remove User directive since cloud-user lacks rootless podman permissions. System-level podman services run as root by default.
1 parent ef4705c commit 838bc32

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
frequency: 30s
2+
components:
3+
- component_slug: "errata-reliability"
4+
sub_component_slug: "mcp-server"
5+
http_monitor:
6+
url: "http://10.0.76.71:8000/health"
7+
code: 200
8+
retry_after: 5s
9+
severity: "Down"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[Unit]
2+
Description=SHIP Status Dashboard Component Monitor
3+
After=network-online.target
4+
Wants=network-online.target
5+
6+
[Service]
7+
Type=simple
8+
9+
ExecStartPre=-/usr/bin/podman pull quay.io/openshiftci/component-monitor:latest
10+
ExecStart=/usr/bin/podman run --rm --name ship-status-component-monitor \
11+
-v /home/cloud-user/release-tests/deployment/component-monitor/config.yaml:/config.yaml:ro,Z \
12+
-v /etc/component-monitor/token.txt:/token.txt:ro,Z \
13+
quay.io/openshiftci/component-monitor:latest \
14+
./component-monitor \
15+
--config-path=/config.yaml \
16+
--dashboard-url=https://protected.ship-status.ci.openshift.org \
17+
--name=ert-component-monitor \
18+
--report-auth-token-file=/token.txt
19+
ExecStop=/usr/bin/podman stop ship-status-component-monitor
20+
21+
Restart=always
22+
RestartSec=10
23+
24+
StandardOutput=journal
25+
StandardError=journal
26+
SyslogIdentifier=ship-status-component-monitor
27+
28+
[Install]
29+
WantedBy=multi-user.target

0 commit comments

Comments
 (0)