CRUD + DSL Query
Generic handlers for any schema. List with filtering, pagination, and sorting. No per-schema route boilerplate.
Schema is the contract. Apply a SchemaDefinition CRD to your Kubernetes cluster. Velocity provisions a Postgres table, REST API, validation, role-based access, search, audit, time-machine history, and observability — automatically, without per-schema code.
Velocity is a schema-driven backend platform built in Rust that lives inside Kubernetes. Write a single CRD that describes your data shape, access rules, and retention policy. The platform does the rest: generates the table DDL, enforces field-level RLS, provisions full-text search, records every change in an append-only audit log, keeps 90 days of history hot, archives to S3 Parquet beyond that, and exports metrics to Prometheus.
Three decisions unlock this:
NOBYPASSRLS from day one. Row-level security is not theater — it is a real backstop enforced by the database itself.CRUD + DSL Query
Generic handlers for any schema. List with filtering, pagination, and sorting. No per-schema route boilerplate.
Full-Text Search
Tier 1: trigram (fast, 90 days hot). Tier 2: Postgres FTS. Tier 3: Typesense (real-time, CDN-aware, typo-tolerant).
Time Machine
Every change recorded. Point-in-time query, diff, restore. 90 days hot in Postgres; warm tier in S3 Parquet up to 5 years.
Append-Only Audit
Hash-linked audit chain. Tamper detection via audit verify command. Immutable proof of who changed what when.
Role-Based Access
7 layers of access control: RBAC, ABAC (CEL), row filters, field filters, masking, Postgres RLS, and validating webhook.
Archive & Purge
Automatic tiering: hot → warm → cold → delete. S3 Parquet warm storage. Lifecycle-driven purges with optional approval gates.
Observability
Structured JSON logging. Prometheus metrics. OpenTelemetry traces. Grafana dashboards auto-generated per schema.
Operational Tooling
velocity CLI for schema management, audit verification, drift detection, and record operations. SLO sweeper for SLA compliance.
velocity status to velocity archive restore.Developer (kubectl apply / velocity CLI) ↓ValidatingWebhook (sanity checks) ↓kube-apiserver (CRDs: SchemaDefinition, AuthStrategy, ArchivePolicy, PurgeRequest, …) ↓velocity-operator (kube-rs; provisions Postgres DDL, HPA, Grafana dashboards, SLO rules) ↓velocity-api (Axum; informer-fed SchemaRegistry; generic CRUD + search + audit + time-machine) ↓Postgres (hot tier + history tables + RLS + audit chain) ↓ (Tier-3 search)Typesense (via CDC outbox) ↓ (time-machine 90+ days)S3 Parquet (warm tier; warm-reader queryable via DataFusion)All core features:
velocity_api role. Session context set per request. Actor ID in logs.Ready? Head to Getting Started.