wooden-wire-242
08/13/2025, 6:25 AMkratos sql cleanup
/home/ory # kratos cleanup sql --config /opt/kratos_fetched/config.yml
INFO[2025-08-13T06:02:37Z] No tracer configured - skipping tracing setup audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:02:37Z] Cleaning up records older than 2025-08-13 06:02:37.998794823 +0000 UTC m=+0.453473738 audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:02:37Z] Cleaning up expired sessions audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:03:38Z] Cleaning up expired continuity containers audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:04:38Z] Cleaning up expired login flows audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:05:46Z] Cleaning up expired recovery flows audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:06:46Z] Cleaning up expired registation flows audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:07:47Z] Cleaning up expired settings flows audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:08:47Z] Cleaning up expired verification flows audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:09:48Z] Cleaning up expired session token exchangers audience=application service_name=Ory Kratos service_version=v1.3.1
INFO[2025-08-13T06:10:48Z] Successfully cleaned up the latest batch of the SQL database! This should be re-run periodically, to be sure that all expired data is purged. audience=application service_name=Ory Kratos service_version=v1.3.1
After a successful run, we see no difference in the count of rows of the tables! Re-running takes approx. the same amount of time (we have about a years worth of data, login flows ~700,000 rows) but no changes in the table sizes 🤔
It almost feels like it's executing a dry run? Also get the same result if we populate the DB connection string via an env variable DSN
vs. using the --config
switch