Audit stores
The audit store is Flamingock's dedicated system for tracking execution history, preventing duplicate executions, and ensuring safe system evolution.
What is the audit store?
The audit store tracks:
- Execution history: Which Changes ran, when, and with what outcome
- Distributed locking: Prevents concurrent executions across multiple instances
- Issue tracking: Failed or uncertain executions requiring resolution
Unlike target systems (which your code modifies), the audit store is managed automatically by Flamingock and never modified by your Changes.
Conceptual overview: For architectural understanding, see Target systems vs audit store
Cloud audit store
The audit store is automatically provided and managed by Flamingock Cloud. No configuration needed - just focus on your changes while Flamingock handles the audit infrastructure.
Community audit store
Alternatively, you can configure your own audit store using one of the supported databases:
- MongoDB audit store
- DynamoDB audit store
- Couchbase audit store
- SQL audit store(coming next)
Registering the community audit store
- Flamingock Builder
- Spring Boot
Register the audit store with the Flamingock builder:
// Generic example - audit store configuration
public class App {
public static void main(String[] args) {
// Create your audit store connection
var auditStore = new MongoDBSyncAuditStore(mongoClient, mongoDatabase);
// Register with Flamingock
Flamingock.builder()
.setAuditStore(auditStore) // Set the audit store
.addTargetSystems(myTargetSystem)
.build()
.run();
}
}
For Spring Boot applications, register target systems as beans:
@Bean
public AuditStore auditStore(MongoClient mongoClient) {
return new MongoDBSyncAuditStore(mongoClient, "flamingock-audit");
}
// Flamingock Spring Boot auto-configuration will pick this up automatically
Spring Boot's auto-configuration will automatically register these target systems with Flamingock.
For more details, see Spring Boot Integration.