Skip to content
Kafka Financial Event Platform
Retros
Initializing search
kafka-financial-event-platform
Home
Learning
Architecture
Decisions
Operations
Governance
Kafka Financial Event Platform
kafka-financial-event-platform
Home
Learning
Learning
Concepts
Concepts
Cattle, not pets: disposable environments
GitOps reconciliation and resource ownership
OpenTofu state
Secret zero
Retros
Retros
Phase 0 retrospective: foundation
Phase 1 retrospective: cluster
Architecture
Decisions
Decisions
0001. Record architecture decisions
0002. Define "one billion events" as cumulative throughput
0003. Layered, portable provisioning with environment profiles
0004. Use kind as the local substrate with a two-node dev profile
0005. Design Proxmox + Talos Linux as the second substrate
0006. Use OpenTofu for infrastructure as code
0007. Use Argo CD (app-of-apps) for GitOps
0008. Run Kafka with Strimzi in KRaft mode
0009. Write services in Go with franz-go
0010. Use ClickHouse (Altinity operator) as the analytical sink
0011. Use Valkey for deduplication and last-price cache
0012. Use Apicurio Registry for event schemas
0013. Use Kyverno for policy as code
0014. Expose services with Gateway API (Envoy Gateway) and cloud-provider-kind
0015. Use kube-prometheus-stack for metrics and dashboards
0016. Use Kafbat UI for Kafka inspection
0017. Test at four layers: application, infrastructure, load, chaos
0018. Use GitHub Actions for CI
0019. Treat financial regulations as reference frameworks for controls
0020. Enforce repository hygiene with pre-commit, gitleaks and Conventional Commits
0021. Model a MiFID II-style regulated equity market
0022. Build a deterministic price-time priority matching engine on Kafka
0023. Present the repository as a learning project and separate learning notes from operational docs
0024. Protect `main` with a ruleset and pin all third-party code by commit SHA
0025. Store IaC state in out-of-cluster SeaweedFS with locking, versioning and encryption
0026. Keep a single secret zero in the OS keychain; generate all other secrets
0027. Organise the repository by layer and select profiles explicitly
0028. Use Cilium as the CNI on every substrate, installed with bootstrap-and-adopt
0029. Pin Kubernetes through the kind provider, by image digest
0030. Generate Argo CD Applications with ApplicationSets; OpenTofu owns only the root
0031. Manage repository settings and branch protection as code
0032. Implement the Proxmox + Talos substrate behind the same output contract
Operations
Operations
Runbook: create, rebuild and remove a cluster
Runbook: recover Argo CD after a bad change
Runbook: back up and restore secret zero
Operations: maintenance and upgrades
High availability and disaster recovery
Benchmarks
Governance
Governance
Control matrix
Retros
¶
Phase 0 retrospective: foundation
Phase 1 retrospective: cluster
Back to top