Currently, there is no way to limit/control the number of checkpoints of a repo. It would be useful to have a retain_checkpoints field on Repository (similar to retain_repo_versions) that automatically unmarks old checkpoint publications once the count exceeds the configured limit. This keeps the publications and repo versions intact but removes them from the checkpoint listings. This cleanup should run after a new checkpoint publication is created and/or when the field value is changed on the repo.