2.5 KiB
2.5 KiB
Stonks Oracle — Project Context
Overview
Stonks Oracle is a Kubernetes-native AI market intelligence and paper-trading platform.
Python monorepo with services under services/, infrastructure under infra/, lakehouse schemas under lakehouse/, frontend React dashboard under frontend/, and dashboards under dashboards/.
Local Dev Environment
- NixOS dev environment, Python 3.12
- Virtual environment at
.venv/— always use it for Python commands - Node.js 24 for frontend (
frontend/directory) - Docker available locally for image builds
Infrastructure
- Kubernetes cluster: 4x NixOS nodes (gremlin-1 through gremlin-4), reachable via
kubectl,virtctl,ssh root@gremlin-{1,2,3,4} - NixOS configs stored at
/etc/nixoson gremlin-1, git-pushed to other hosts - Ingress: Traefik, domain
*.celestium.life - Cert-Manager:
ca-issuer(local CA) for internal services,celestium-le-production(Let's Encrypt) for public-facing - Container registry:
ghcr.io/celesrenata/stonks-oracle
CI/CD
- GitHub Actions workflow at
.github/workflows/build.yml - Push to
maintriggers: lint → test → build all service images + dashboard image → push to GHCR - Images tagged as
ghcr.io/celesrenata/stonks-oracle/<service>:<sha>and:latest - Dashboard image built from
frontend/Dockerfile(multi-stage: node → nginx) - Python service images built from
docker/DockerfilewithSERVICE_CMDbuild arg - Let CI handle image builds and pushes — only build locally for testing or when CI is unavailable
Existing Cluster Services (do NOT redeploy these)
- PostgreSQL:
postgresql-rw.postgresql-service.svc.cluster.local:5432 - Redis:
redis-master.redis-service.svc.cluster.local:6379 - MinIO:
minio.minio-service.svc.cluster.local:80(API), console atminio-crawler-console.minio-service.svc.cluster.local:9090 - Ollama:
ollama.ollama-service.svc.cluster.local:11434(cluster-internal), also athttp://10.1.1.12:2701(external), GPU: 4070 Ti Super 16GB
Key Conventions
- All services use
services/shared/config.pyfor configuration via env vars - Redis queues defined in
services/shared/redis_keys.py - Pydantic schemas in
services/shared/schemas.py - K8s manifests in
infra/k8s/, Helm chart ininfra/helm/stonks-oracle/, all instonks-oraclenamespace - Lakehouse DDL in
lakehouse/schemas/ - Crawler patterns inspired by Noctipede (
~/sources/splinterstice/noctipede): BeautifulSoup + requests with retry adapters, content hashing, boilerplate stripping, quality scoring