Storage Variant Implementation Guide
When implementing a feature that touches the storage layer:
- Start with SQL (
app/src/.../storage/impl/sql/) — this is the canonical implementation - Adapt for KafkaSQL (
app/src/.../storage/impl/kafkasql/) — uses a Kafka journal pattern; state changes are serialized as Kafka messages and replayed - Consider GitOps (
app/src/.../storage/impl/gitops/) — file-based, git-backed - Consider KubernetesOps (
app/src/.../storage/impl/kubernetesops/) — ConfigMap-based - Update RegistryStorage interface if adding new operations
- Update decorators (
storage/decorator/) if the feature needs cross-cutting behavior - DTOs must be serializable — KafkaSQL journals serialize them
- Test with at least SQL and KafkaSQL integration test profiles
Source: Apicurio/apicurio-registry — distributed by TomeVault.