Skip to content

shallweplay-backend

βœ… Healthy vunknown πŸ‘€ @3xzyle

Overview

Social gaming backend for casual multiplayer games and matchmaking

shallweplay-backend service

πŸ“¦ Source Repository


Key Features

  • Quick Match

  • Friends System

  • Game History

  • Achievements

  • Social Features


Architecture

Node.js backend with Socket.io for real-time communication

System Overview

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
flowchart TB
    subgraph EXTERNAL["🌐 External"]
        CLIENT[/"πŸ‘€ Clients"/]
        INGRESS["πŸšͺ Ingress"]
    end

    subgraph NS["valina-rpg Namespace"]
        direction TB
        subgraph SVC["πŸ“¦ shallweplay-backend"]
            DEPLOY["βš™οΈ Deployment<br/>2 replicas"]
            subgraph PODS["Pods"]
                POD0["Pod 1"]
                POD1["Pod 2"]
            end
        end
    end

    subgraph DATA["πŸ’Ύ Data Layer"]
        DB0["🐘 PostgreSQL (DATABASE_HOST)"]
        DB1["🐘 PostgreSQL (DATABASE_NAME)"]
        DB2["🐘 PostgreSQL (DATABASE_PORT)"]
        DB3["🐘 PostgreSQL (DATABASE_USER)"]
        DB4["⚑ Redis (REDIS_URL)"]
        DB5["🐘 PostgreSQL"]
    end

    CLIENT --> INGRESS --> DEPLOY
    DEPLOY --> DATA

Component Architecture

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
flowchart TB
    subgraph ARCH_CLIENT["πŸ§‘ Client Layer"]
        ARCH_USER[/"User Interaction"/]
    end

    subgraph ARCH_CORE["πŸ’Ž shallweplay-backend Core"]
        direction TB
        subgraph ARCH_FEATURES["✨ Features"]
            ARCH_F0["Quick Match"]
            ARCH_F1["Friends System"]
            ARCH_F2["Game History"]
            ARCH_F3["Achievements"]
            ARCH_F4["Social Features"]
        end

        subgraph ARCH_PROCESS["βš™οΈ Processing"]
            ARCH_HANDLER["Request Handler"]
            ARCH_LOGIC["Business Logic"]
        end
    end

    subgraph ARCH_DATA["πŸ’Ύ Data Layer"]
        ARCH_DB0["PostgreSQL (DATABASE_HOST)"]
        ARCH_DB1["PostgreSQL (DATABASE_NAME)"]
        ARCH_DB2["PostgreSQL (DATABASE_PORT)"]
        ARCH_DB3["PostgreSQL (DATABASE_USER)"]
        ARCH_DB4["Redis (REDIS_URL)"]
        ARCH_DB5["PostgreSQL"]
    end

    ARCH_USER --> ARCH_CORE
    ARCH_HANDLER --> ARCH_LOGIC
    ARCH_LOGIC --> ARCH_DATA

Container Details

Property Value
Image game-shallweplay-backend-rust:v2026.01.07
Replicas 2 / 2 ready
CPU Request 50m
CPU Limit 500m
Memory Request 64Mi
Memory Limit 256Mi

Flows and Processes

Process Flow

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
flowchart LR
    subgraph FLOW_IN["πŸ“₯ Input"]
        AI_INPUT["πŸ“₯ Input Data"]
        AI_CONTEXT["🧠 Context"]
        AI_MODEL["πŸ€– Model Config"]
    end

    subgraph FLOW_PROC["βš™οΈ Processing"]
        AI_EMBED["πŸ”’ Embed"]
        AI_INFER["🧠 shallweplay-backend Inference"]
        AI_RANK["πŸ“Š Rank/Score"]
        AI_FILTER["πŸ” Filter"]
    end

    subgraph FLOW_OUT["πŸ“€ Output"]
        AI_RESULT["✨ Result"]
        AI_CONFIDENCE["πŸ“Š Confidence"]
        AI_EXPLAIN["πŸ’‘ Explanation"]
    end

    AI_INPUT --> AI_EMBED
    AI_CONTEXT --> AI_EMBED
    AI_MODEL --> AI_INFER
    AI_EMBED --> AI_INFER --> AI_RANK --> AI_FILTER
    AI_FILTER --> AI_RESULT
    AI_INFER --> AI_CONFIDENCE
    AI_RANK --> AI_EXPLAIN

Request Lifecycle

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
sequenceDiagram
    autonumber
    participant C as πŸ‘€ Client
    participant I as πŸšͺ Ingress
    participant S as βš™οΈ shallweplay-backend
    participant D as πŸ’Ύ Database
    participant R as ⚑ Redis Cache

    C->>+I: HTTP Request
    I->>+S: Route to Service
    Note over S: Health Check βœ“
    S->>R: Check Cache
    alt Cache Hit
        R-->>S: Return Cached
    else Cache Miss
        S->>+D: Query Data
        D-->>-S: Return Result
        S->>R: Update Cache
    end
    S-->>-I: Response
    I-->>-C: HTTP Response

Custom Flows

  • Quick Match

  • Friend Invite

  • Game Start

  • Score Submission


Integration and APIs

Exposed Ports

Port Service
http:8080 shallweplay-backend

Health Check

/health:8080

Dependencies

Service Purpose
postgresql Dependency
redis Dependency

Data Stores

  • PostgreSQL (DATABASE_HOST)

  • PostgreSQL (DATABASE_NAME)

  • PostgreSQL (DATABASE_PORT)

  • PostgreSQL (DATABASE_USER)

  • Redis (REDIS_URL)

  • PostgreSQL


Security and Compliance

Security Context

Setting Value
Security Level Hardened
Run as Non-Root βœ… Yes
Read-Only Root FS βœ… Yes
Service Account game-sa

Dropped Capabilities

  • ALL

Security Best Practices

Hardened Security

This service follows security best practices:

  • βœ… Runs as non-root user
  • βœ… Read-only root filesystem
  • βœ… All capabilities dropped


Monitoring and Operations

Health Probes

Readiness Probe

Setting Value
Endpoint /health:8080
Initial Delay 5s
Period 10s
Timeout 1s

Liveness Probe

Setting Value
Endpoint /health:8080
Initial Delay 10s
Period 30s
Timeout 1s

No Prometheus metrics configured. Add prometheus.io/scrape: "true" annotation.

Operations Commands

# Check deployment status
kubectl get deployment shallweplay-backend -n valina-rpg

# View logs
kubectl logs -l app.kubernetes.io/name=shallweplay-backend -n valina-rpg -f

# Scale replicas
kubectl scale deployment/shallweplay-backend -n valina-rpg --replicas=3

# Restart deployment
kubectl rollout restart deployment/shallweplay-backend -n valina-rpg

πŸ”§ AI-Powered Diagnostics

πŸ”§ Diagnostics

βœ… No issues detected


πŸ“Š SLO Dashboard

SLOTargetCurrentError BudgetStatus
🟒 Availability 99.9% 99.95% 85% remaining βœ… Meeting
⚑ Latency P99 < 200ms 142ms 92% remaining βœ… Meeting
πŸ”΄ Error Rate < 0.1% 0.02% 98% remaining βœ… Meeting

πŸ“ˆ Live Metrics

CPU Usage
0%
▁▂▃▂▃▄▃▂▃▂
Memory
0MB
β–‚β–‚β–ƒβ–ƒβ–ƒβ–„β–„β–ƒβ–ƒβ–ƒ
Request Rate
0.0k/s
β–ƒβ–„β–…β–†β–…β–†β–‡β–†β–…β–†
Error Rate
0.00%
▁▁▁▂▁▁▁▁▁▁

πŸ”’ Security Scan

0
Critical
0
High
2
Medium
5
Low

Security Status: Passing

Last scanned: 2026-01-12 10:00 UTC Scanner: Trivy v0.50.0


πŸ‘₯ RBAC & Permissions

Resource Permissions Scope
ServiceAccount game-sa Namespace
ClusterRole view Cluster-wide (read)

Pod Security Standards

Policy Status
Privileged ❌ Denied
Run as Root ❌ Blocked
Host Network ❌ Blocked
Host PID ❌ Blocked

πŸ“– API Documentation

No OpenAPI Spec

Add API documentation via annotation: valina.ai/openapi-url: "https://..."


πŸ“œ Version History

vunknown - Current deployment (2026-01-14T06:44:10.979418825+00:00)

⚑ Latency Heatmap

P50
45ms
P90
98ms
P99
142ms
Max
285ms
SLO (200ms)
🟑 95.0%
Good

24-Hour Latency Heatmap

Hourly P99 🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒
🟒 <50% 🟑 50-75% 🟠 75-100% πŸ”΄ >SLO

πŸ”” Active Alerts

βœ… All Clear 0 active alerts

🌐 Traffic Flow

πŸ“₯ Inbound Traffic

nginx-ingress β†’ 1.2k rps | 45ms | 0.02% err
api-gateway β†’ 850.0 rps | 12ms | 0.00% err

πŸ“€ Outbound Traffic

No outbound traffic detected

πŸ’° Cost Attribution

Monthly Cost $5.85
Efficiency Score 72%

Resource Breakdown

CPU
Memory
Storage
Net
πŸ’» CPU: $3.00 🧠 Memory: $2.40 πŸ’Ύ Storage: $0.30 🌐 Network: $0.15

πŸ“š Runbooks

πŸ”₯ High CPU Usage

Steps to diagnose and mitigate high CPU consumption

cpuperformance
⚑ High Latency

Troubleshooting guide for latency spikes

latencynetworking
πŸ”„ Pod Restarts

Investigation steps for frequent pod restarts

restartsoom

πŸ“ž On-Call

πŸ“ž Platform Team Platform Team Escalation πŸ“… View Schedule
Primary
OE
On-Call Engineer
πŸ“§ Email πŸ’¬ @oncall
πŸ• Shift ends: 7h
Secondary
BE
Backup Engineer
πŸ“§ Email πŸ’¬ @oncall-backup

πŸ“… Change Timeline

πŸ“… Deployment History 1 changes πŸ“Š View in ArgoCD
πŸš€
Deployment 2026-01-14 06:44 UTC
Current deployment
πŸ‘€ CI/CD

🐀 Canary Status

🐀 No active canary deployment

πŸ”΄ Error Drill-down

βœ… No errors in the last 24 hours πŸ“‹ View Logs

⚑ Quick Actions



Configuration Reference

Labels

Label Value
app shallweplay-backend
tier backend

Environment Variables

Variable Value
AEGIS_URL http://aegis-approval.aegis.svc.cluster.local:8750
DATABASE_HOST game-postgres
DATABASE_NAME valina_game_db
DATABASE_PORT 5432
DATABASE_USER postgres
LLM_BRIDGE_URL http://valina-rust-backend.valina.svc.cluster.local:8080/api…
REDIS_URL redis://redis.valina.svc.cluster.local:6379/0
RUST_LOG info

Annotations

Annotation Value
valina.ai/architecture Node.js backend with Socket.io for real-time communication
valina.ai/databases PostgreSQL
valina.ai/dependencies postgresql,redis
valina.ai/dependents shallweplay-frontend
valina.ai/features Quick Match,Friends System,Game History,Achievements,Social …
valina.ai/flows Quick Match,Friend Invite,Game Start,Score Submission
valina.ai/openapi-url https://shallweplay.valina.ai/api/openapi.json
valina.ai/owner @3xzyle
valina.ai/purpose Social gaming backend for casual multiplayer games and match…
valina.ai/repository https://github.com/3xzyle/VALINA-AI


Auto-Generated Documentation

This documentation was auto-generated from Kubernetes deployment metadata.

Enhance this doc by adding annotations:

annotations:
  valina.ai/description: "Detailed service description"
  valina.ai/purpose: "Service purpose statement"
  valina.ai/features: "Feature 1, Feature 2, Feature 3"
  valina.ai/flows: "Auth Flow, Data Processing Flow"
  valina.ai/dependencies: "redis, postgres, auth-service"
  valina.ai/api-endpoints: "/api/v1/resource, /health"
  valina.ai/economics: "Ties to GRAT treasury via..."
  valina.ai/owner: "Platform Team"
  valina.ai/repository: "https://github.com/org/repo"
  valina.ai/changelog: "v1.2.0 Added feature X, v1.1.0 Initial release"
  valina.ai/roadmap: "SSO integration, Multi-region support"
  valina.ai/notices: "Requires v2.0 by Q2 2026"

Created: 2026-01-06T17:18:32Z | Generated: 2026-01-14T06:44:10.979418825+00:00