4.3 KiB
4.3 KiB
K3s Component To Repository Map
Purpose
This document is the canonical map of the current trade stack running
on k3s and the repository boundaries in
trade-next.
It answers one question:
- which live
trade-stagingcomponent belongs to which repository
Repository Set In
trade-next
trade-apitrade-frontendtrade-ingestortrade-bottrade-dlobtrade-gitopstrade-host-iactrade-docs
Ownership Rules
- Application code belongs to the application repository.
- Kubernetes manifests, image wiring, services, ingresses, configmaps,
jobs, and overlays belong to
trade-gitops. - Host bootstrap, storage layout,
k3sinstallation, SSH, WireGuard, and host operations belong totrade-host-iac. - Cross-repository architecture and operating policy belong to
trade-docs.
Live
trade-staging Component Map
trade-frontend
- Live component:
Deployment/trade-frontend - Code repository:
trade-next/trade-frontend - Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: frontend runtime policy, ingress wiring, auth wiring, and image selection belong to GitOps.
trade-api
- Live component:
Deployment/trade-api - Code repository:
trade-next/trade-api - Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: API wrapper, runtime env, and service exposure belong to GitOps.
trade-ingestor
- Live component:
Deployment/trade-ingestor - Code repository:
trade-next/trade-ingestor - Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: the current live system still mixes app image and deploy-injected runtime logic; this boundary must be cleaned up during migration.
trade-dlob
- Live components:
Deployment/dlob-publisher-hotDeployment/dlob-publisher-allDeployment/dlob-hot-redis-to-postgres-raw-writerDeployment/dlob-hot-postgres-to-postgres-derived-writerDeployment/dlob-all-redis-to-postgres-derived-writer- Future or optional component:
Deployment/dlob-server - Code repository:
trade-next/trade-dlob - Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: all DLOB publishers, stream processors, and writers belong to the same application family and should stay in one code repository.
dlob-redis
- Live component:
Deployment/dlob-redis - Code repository: none, external image
- Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: Redis topology, persistence mode, service wiring, and operational policy belong to GitOps and host IaC, not to an application repository.
hasura
- Live component:
Deployment/hasura - Code repository: none, external image
- Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: bootstrap scripts, metadata policy, secrets wiring, and service exposure belong to GitOps.
postgres
- Live component:
StatefulSet/postgres - Code repository: none, external image
- Deploy repository:
trade-next/trade-gitops - Host/IaC repository:
trade-next/trade-host-iac - Notes: schema bootstrap and Kubernetes object ownership belong to GitOps, while disk placement, quotas, storage class policy, and backup policy belong to host IaC.
trade-bot
- Live component: none observed as a separate deployment in the
current
trade-stagingstate - Code repository:
trade-next/trade-bot - Deploy repository:
trade-next/trade-gitopswhen introduced as live runtime - Host/IaC repository:
trade-next/trade-host-iac - Notes: this repository exists in the target design even if it is not yet represented by a dedicated live deployment.
Boundary Summary
- App repositories:
trade-api,trade-frontend,trade-ingestor,trade-bot,trade-dlob - Cluster source of truth:
trade-gitops - Host and infrastructure source of truth:
trade-host-iac - Documentation source of truth:
trade-docs
Current Drift Notes
- The current live cluster is not yet fully described by the local repos we audited.
- The historical
trade-deployand host-sidetrade-k8slayouts do not cleanly match the current livetrade-stagingshape. - During migration into
trade-next, this document should be updated whenever a component boundary changes.