Infrastructure
Overview of infrastructure components used by the Smartsapp platform. See the project root README.md for an overview of all documentation.
Config and deployment definitions live in infrastructure/, organised into three tiers:
| Tier |
Path |
Purpose |
| Cloud environment setup |
cloud_environment_setup/ |
Cloud provider IaC, K8s manifests, CDN, provisioning scripts. |
| Core system dependencies |
core_system_dependencies/ |
System primitives the app depends on + open-source service integrations. |
| Operational utilities |
operational_utilities/ |
Observability, backup, analytics, developer tools, cluster management. |
Cloud environment setup
| Folder |
Purpose |
| digitalocean/ |
DigitalOcean dev deployment. terraform/ for IaC (DOKS, VPC, Postgres, registry); k8s/ for K8s manifests. |
| cdn/ |
Edge and CDN. Cloudflare config for DNS, caching, and edge rules. |
| scripts/ |
Provisioning scripts (e.g. setup-kubectl.sh). |
Core system dependencies
System primitives (system_primitives/)
See infrastructure/core_system_dependencies/system_primitives/README.md for details.
| Folder |
Component |
Purpose |
| database |
Postgres |
Main application database. |
| cache |
Valkey |
In-memory cache (Redis-compatible) for sessions and hot data. |
| jobs |
Temporal |
Durable workflows, retries, and scheduling. |
| message_bus |
Kafka, Redpanda Console |
Event streaming and async messaging. |
| ai_harness |
pg_vector, Ollama |
Vector store and local LLM/embeddings for RAG. |
| object_storage |
Cloudflare R2 |
S3-compatible blob storage for files, uploads, and assets. |
Open-source service integrations (open_source_service_integrations/)
See infrastructure/core_system_dependencies/open_source_service_integrations/README.md for details.
| Folder |
Product |
Purpose |
| auth |
Keycloak |
SSO, user federation, OAuth/OIDC. |
| chat |
Rocket.Chat |
Team messaging and communication. |
| notifications |
Novu |
Notifications and messaging. |
| payment_switch |
Hyperswitch |
Payment routing and processing. |
| wallet |
Formance |
Wallet and ledger functionality. |
Operational utilities
Observability
| Folder |
Purpose |
| observability/ |
Metrics, logs, traces, and dashboards. Prometheus (metrics), Loki (logs), Tempo (traces), OpenTelemetry (instrumentation), Grafana (dashboards). |
| error_tracking/ |
Error and exception tracking. Sentry for application errors and performance. |
| analytics/ |
Product analytics. PostHog for events, funnels, and product usage. |
Data operations
| Folder |
Purpose |
| data_operations/stackgres.yml |
Postgres operator for Kubernetes. StackGres manages Postgres clusters on K8s. |
| data_operations/warehouse/ |
Analytics and ETL. Airbyte for data sync; Postgres as the data warehouse. |
| data_operations/metabase.yml |
BI and reporting. Metabase for dashboards and ad-hoc queries over app/warehouse data. |
| Folder |
Purpose |
| developer_tools/sonarqube.yml |
Static analysis and code quality. SonarQube for security, duplication, and quality gates. |
| developer_tools/documentation-portal/ |
Developer portal. Backstage for API docs, service catalog, and onboarding. |
Cluster & operations
| Folder |
Purpose |
| cluster_management/ |
Kubernetes cluster lifecycle and tooling. Rancher, Devtron, RKE2 for cluster management. Headlamp for cluster visualization. |
| backup/ |
Backup and disaster recovery. Velero for K8s backups; object-store backup policy. See infrastructure/operational_utilities/backup/disaster_recovery_guide.md. |
| project_management/ |
Planning and delivery. Plane for issues, sprints, and project tracking. |