mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
ops(multiplayer): wire Prometheus service discovery
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: cosmic-clash-control-plane
|
||||
namespace: cosmic-clash
|
||||
labels:
|
||||
app.kubernetes.io/name: cosmic-clash
|
||||
app.kubernetes.io/component: observability
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: control-plane
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- cosmic-clash
|
||||
endpoints:
|
||||
- port: http
|
||||
path: /metrics
|
||||
interval: 15s
|
||||
scrapeTimeout: 5s
|
||||
@@ -4,10 +4,13 @@ The control plane exposes `/metrics` with bounded operation and status labels.
|
||||
The API latency metric is a cumulative histogram, so Prometheus can evaluate
|
||||
the documented 250 ms p95 SLO with `histogram_quantile`. The optional
|
||||
`deploy/observability/prometheus-rules.yaml` resource provides the API p95 and
|
||||
5xx alerts for clusters running the Prometheus Operator.
|
||||
5xx alerts for clusters running the Prometheus Operator. The matching optional
|
||||
`deploy/observability/prometheus-service-monitor.yaml` discovers the internal
|
||||
control-plane Service on its named `http` port and scrapes only `/metrics`.
|
||||
|
||||
Install the rule only after confirming that the `PrometheusRule` CRD and the
|
||||
`cosmic-clash` namespace exist. The example `runbook_url` values are
|
||||
`ServiceMonitor` CRD and the `cosmic-clash` namespace exist. The example
|
||||
`runbook_url` values are
|
||||
placeholders and must be replaced with the operator's incident documentation
|
||||
before production use.
|
||||
|
||||
|
||||
+1
-1
@@ -1453,7 +1453,7 @@ Observability redaction now adds content-aware protection on top of denylisted f
|
||||
|
||||
### Current local completion index (2026-09-01)
|
||||
|
||||
The following Phase 8 slices have local implementation and verification evidence in this document: 8.29 dynamic allocated launch flags and endpoint handling; 8.30 allocator claim/reconciliation; 8.31 signed assignment/roster validation; 8.35 initial-connect no-show and casual bot policy; 8.36 controlled drain and shutdown acknowledgment; 8.39–8.43 client state, assignment, profile, recovery, and idempotent action retry; 8.44 structured observability and content-aware redaction; 8.45 bounded API metrics export and optional Prometheus alert rules; 8.46 normal/race/vet/fuzz coverage; and 8.47–8.48 offline testkit coverage. Their remaining acceptance text is infrastructure or production dependent where explicitly noted below the corresponding row.
|
||||
The following Phase 8 slices have local implementation and verification evidence in this document: 8.29 dynamic allocated launch flags and endpoint handling; 8.30 allocator claim/reconciliation; 8.31 signed assignment/roster validation; 8.35 initial-connect no-show and casual bot policy; 8.36 controlled drain and shutdown acknowledgment; 8.39–8.43 client state, assignment, profile, recovery, and idempotent action retry; 8.44 structured observability and content-aware redaction; 8.45 bounded API metrics export plus optional Prometheus scrape/alert rules; 8.46 normal/race/vet/fuzz coverage; and 8.47–8.48 offline testkit coverage. Their remaining acceptance text is infrastructure or production dependent where explicitly noted below the corresponding row.
|
||||
|
||||
The following are not locally certifiable from this workspace and remain open prerequisites rather than silently “done”: Valve/GodotSteam credentials and hosted SDR (7.1–7.8), live PostgreSQL/Redis execution where Docker is unavailable, live Agones/kind lifecycle (8.30–8.38, 8.49), public-network chaos/load/cost/release gates (8.50–8.53), and real-hardware graphics profiling (0.15b onward). `TODO.md`’s AI-training and presentation tasks remain separate from multiplayer and are not marked by this index.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user