ChessMoves AI

Admin๐Ÿ›ก ๐Ÿ“Š ๐Ÿ“‰ ๐Ÿ”—๐Ÿ“‹๐Ÿ’ท๐Ÿ”‘ ๐Ÿ‘ฅ ๐Ÿ“ก ๐Ÿง  ๐Ÿงฉ โ™Ÿ๏ธ๐Ÿงฉ ๐Ÿฆ ๐Ÿช ๐Ÿ“ˆ ๐Ÿค– ๐Ÿงฎ ๐Ÿงญ ๐Ÿ’ณ ๐Ÿ’ท ๐Ÿ“ฐ ๐Ÿ’ผ

๐Ÿ›ก Ops & Security โ€” priority board

The three things you should never have to go looking for โ€” a stale/failed backup, an unreviewed security queue, or a spike that looks like abuse or exfiltration. Fuller telemetry lives on the Metrics page.
Loadingโ€ฆ

๐Ÿ’พ Backups

Nightly PostgreSQL dump โ†’ local + offsite Storage Box. A backup older than the threshold, or a recorded failure, is the alarm.
Backup fileSizeWhen
โ€”

๐Ÿšฉ Security flags

Unreviewed queues that need a human. Non-zero "pending" is the signal.

๐Ÿ•ต Exfiltration & abuse signals

Derived from login events, admin actions and signups. Brute-force = failed-login spikes across many IPs; account takeover / sharing = one account signing in from many IPs; exfiltration = unusual admin-action or signup volume.
Top IPs by failed logins (24h)
IP addressFailed attempts
โ€”
Accounts logging in from โ‰ฅ3 IPs (24h)
UserDistinct IPs
โ€”

โš™ Infrastructure

๐Ÿ” Security posture

The panels above answer “is someone attacking us right now”. This answers “is the hardening actually in place” โ€” derived from the running config and the source on disk, never from a hand-kept checklist, because a typed checklist is how you end up asserting a limiter that was removed a year ago.

๐Ÿ“ˆ Horizontal-scaling readiness

One box runs everything, which is a single point of failure the moment an uptime figure is promised to anyone. The useful question is not “should we scale out” but “what breaks the second a second replica starts” — so this lists that, separating what is measured against the running system from what is reviewed by reading the code, because “this map is never replicated” is not something a process can prove about itself.

๐Ÿ’ฝ Space & storage

๐Ÿงน Reclaim space