Plan out system architecture #6
Labels
No labels
bug
duplicate
effort
high
effort
low
effort
medium
effort
minimal
enhancement
help wanted
invalid
pr
feedback
pr
reviewing
question
status
backlog
status
document
status
done
status
implement
status
pending
status
planning
status
reviewing
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tepichord/milner#6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Naina:
Updated on 2026-08-18 based on maintainer feedback.
Overview
Produce a written architecture plan document (
ARCHITECTURE.md) that evaluates worker node sizing strategies, simulation pod scaling approaches, and the overall pod topology for running evolved-npcs workloads on a 2-machine Talos Linux cluster (naina: 24 GB / 8 CPU, ida: 8 GB / 8 CPU). The document is the deliverable — no code changes are required in this phase.Technical Approach
Create
ARCHITECTURE.mdwith three main sectionsWorker Node Sizing — Hybrid approach (recommended by maintainer)
Simulation Pod Scaling — Strategy C (recommended by maintainer): KEDA with resource-based guardrails
Alternative: Strategy A (fixed pod count with self-limiting simulations)
Pod Topology
Resource budget calculation
Note: Per-pod resource requirements depend on the chosen runtime. Godot is significantly lighter (256 MB – 1 GB per instance) than Unreal (2-4 GB per instance).
Runtime considerations (Godot vs Unreal)
--headlessflag, no GPU neededRecommendation: design for Godot first, accommodate UE as optional.
RabbitMQ deployment
Use RabbitMQ Cluster Kubernetes Operator. Minimal resource allocation for ~100-message workload:
Requires cert-manager for Operator v2.20+.
Vault Secrets Operator integration
Deploy VSO via Helm, sync secrets to evolved-npcs namespace:
Implementation Details
Files to create:
ARCHITECTURE.md— the main deliverable, containing all evaluation sectionsDocumentation updates (noted per maintainer request):
README.md— add reference toARCHITECTURE.mdPLAN.md— add link to architecture plan in the relevant phaseDependencies:
Constraints:
.gitignorepatterns must be preserved for any new subdirectoriesOut-of-scope notes:
Acceptance Criteria
ARCHITECTURE.mdexists at the repo root with all three main sections (Worker Node Sizing, Simulation Pod Scaling, Pod Topology)Testing Plan
Related Issues/PRs
PLAN.md— Project vision and phased roadmap (context for the architecture)worker/vm-setup/create-worker-vm.sh— Current worker VM creation script (to be evolved)I will say, the RabbitMQ pod will need very few resources, we're talking about maybe 100 messages in a queue max and each message is a very small payload. I honestly doubt it would use more than even a megabyte of data.