Repo map
Every PLANA Pulse repository, what it does, what it's written in. Hosted at git.planapulse.com/plana-pulse/.
Infrastructure & shared
| Repo | Role | Tech |
|---|---|---|
infra | Terraform + Ansible + K8s manifests; the GitOps source of truth | OpenTofu, Ansible, K8s YAML |
ci-templates | Shared CI/CD workflow templates | Forgejo Actions YAML |
security | SAST, Semgrep, GitLeaks, Trivy config | Semgrep, GitLeaks |
monitoring | Prometheus + Grafana + Alertmanager config | Prometheus Operator |
dev-environment | Docker Compose for local dev | Docker Compose |
docs | Architecture, ADR, internal runbooks (NOT this docs site) | Markdown |
dev-portal (= docs-portal) | This documentation site at docs.planapulse.com | VitePress 1.6.3, Vue 3.5 |
Odoo / PLANA Business Cloud
| Repo | Role | Tech |
|---|---|---|
odoo-modules | Odoo mono-repo, branch-per-version (17.0, 18.0, 19.0); contains system-extensions, core, integrations, OCA submodules | Python, Odoo |
OCA-fork/* | Private forks of OCA repos we patch (per-version -planapulse branches) | Python, Odoo |
Platform services
| Repo | Role | Tech |
|---|---|---|
pulse-auth | JWT + API-key auth service | Python 3.12, FastAPI, asyncpg |
pulse-events | CloudEvents bus over Redis Streams | Node.js ESM, Fastify v5, Ramda |
pulse-portal | BOS frontend SPA (my.planapulse.ai/{slug}) | Vue 3 + Vite, JS ESM |
pulse-account | Customer account portal (my.planapulse.ai) | Vue 3 + Nuxt 3, JS ESM |
pulse-account-api | Backend for pulse-account + BOS | Node.js ESM, Fastify v5 |
pulse-banking | PSD2 connector for 10 BG banks | Node.js, Fastify |
pulse-billing | Stripe-backed subscriptions & invoicing | Python, FastAPI, Stripe |
pulse-notifications | Email / SMS / in-app push | Python, FastAPI |
pulse-admin | Internal staff panel (admin.planapulse.ai) | Vue 3 + Nuxt 3 |
pulse-onboarding | Registration → first-tenant flow | Python |
pulse-website | Marketing site (planapulse.ai) — static | Vue 3 + vite-ssg |
pulse-website-api | Backend for the marketing site (contact, newsletter) | Node.js ESM |
pulse-data | Neural Business Network (pgvector + sentence-transformers) | Python, FastAPI, PostgreSQL+pgvector |
pulse-sdk | Shared Python library across PLANA services | Python |
pulse-analytics | Internal BI views (not for customers) | PostgreSQL views |
pulse-compliance | GDPR, 7-year audit log retention | Python |
pulse-automations | Workflow engine + n8n | Python, Temporal, n8n |
integrations | External system connectors (catch-all) | Python |
ai-agents | The 4 BOS agents + tool registry | Python 3.12, FastAPI, Anthropic SDK |
Deprecated / removed
| Repo | Status |
|---|---|
saas-orchestrator | REMOVED 2026-05-13 — replaced by Crossplane CRs |
pulse-gateway | REMOVED 2026-04-17 — NGINX Gateway Fabric replaced by Envoy Gateway |
Tools (self-hosted)
These are not application code but operational repos:
| Repo | Tool |
|---|---|
authentik | Authentik Helm values |
design | Penpot config + design tokens |
matrix | Synapse + Element Web manifests |
openphysica | External client project on shared infra |
Count
Roughly 32 active repos in plana-pulse org as of 2026-05-29. Plus the historical / archived repos and the OCA-fork subset.
Where to read more
- Naming conventions — repo and image naming
- Architecture → Tech stack — what each repo's tech maps to
- Services — per-service deep dive
- Operations → CI/CD — how each repo deploys