Skip to main content

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

Relationship with Target Systems

Although they serve different purposes, the Audit Store is built directly from a Target System.

This means it reuses the same underlying connection and driver (e.g., the same MongoDB client or Couchbase cluster) to store its metadata. However, it uses a separate internal handle to ensure that audit data remains logically isolated from your business data.

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:

Registering the community audit store

Register the audit store with the Flamingock builder:

// Generic example - audit store configuration
public class App {
public static void main(String[] args) {

// TargetSystem
var targetSystem = new MongoDBSyncTargetSystem("mongodb-ts", mongoClient, "dbName");

// Create your audit store connection
var auditStore = MongoDBSyncAuditStore.from(targetSystem);

// Register with Flamingock
Flamingock.builder()
.setAuditStore(auditStore) // Set the audit store
.addTargetSystems(targetSystem)
.build()
.run();
}
}