Audits tables: remove data older than N months so the table doesn't grow forever

Description

As part of our logging system (https://gitlab.com/gitlab-org/gitlab-ee/issues/579), as data is recorded in the database, we need to make sure we remove data older than N months so the table doesn't grow forever.

Proposal

  • Have a cron that runs every day that deletes audit events older than X months.
  • By default, 3 years of data are kept.
  • This length should be configurable by administrators who have specific data retention requirements.