{"action":"created","issue":{"url":"https://api.github.com/repos/hashicorp/vault/issues/3337","repository_url":"https://api.github.com/repos/hashicorp/vault","labels_url":"https://api.github.com/repos/hashicorp/vault/issues/3337/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/vault/issues/3337/comments","events_url":"https://api.github.com/repos/hashicorp/vault/issues/3337/events","html_url":"https://github.com/hashicorp/vault/pull/3337","id":257820370,"number":3337,"title":"Create periodic function for PKI backend that invokes tidy","user":{"login":"dacohen","id":4705646,"avatar_url":"https://avatars0.githubusercontent.com/u/4705646?v=4","gravatar_id":"","url":"https://api.github.com/users/dacohen","html_url":"https://github.com/dacohen","followers_url":"https://api.github.com/users/dacohen/followers","following_url":"https://api.github.com/users/dacohen/following{/other_user}","gists_url":"https://api.github.com/users/dacohen/gists{/gist_id}","starred_url":"https://api.github.com/users/dacohen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dacohen/subscriptions","organizations_url":"https://api.github.com/users/dacohen/orgs","repos_url":"https://api.github.com/users/dacohen/repos","events_url":"https://api.github.com/users/dacohen/events{/privacy}","received_events_url":"https://api.github.com/users/dacohen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/hashicorp/vault/milestones/25","html_url":"https://github.com/hashicorp/vault/milestone/25","labels_url":"https://api.github.com/repos/hashicorp/vault/milestones/25/labels","id":2790524,"number":25,"title":"0.8.4","description":"","creator":{"login":"jefferai","id":28627,"avatar_url":"https://avatars0.githubusercontent.com/u/28627?v=4","gravatar_id":"","url":"https://api.github.com/users/jefferai","html_url":"https://github.com/jefferai","followers_url":"https://api.github.com/users/jefferai/followers","following_url":"https://api.github.com/users/jefferai/following{/other_user}","gists_url":"https://api.github.com/users/jefferai/gists{/gist_id}","starred_url":"https://api.github.com/users/jefferai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jefferai/subscriptions","organizations_url":"https://api.github.com/users/jefferai/orgs","repos_url":"https://api.github.com/users/jefferai/repos","events_url":"https://api.github.com/users/jefferai/events{/privacy}","received_events_url":"https://api.github.com/users/jefferai/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":22,"state":"open","created_at":"2017-09-25T18:40:50Z","updated_at":"2017-10-20T17:32:22Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2017-09-14T18:51:39Z","updated_at":"2017-10-20T17:35:44Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/hashicorp/vault/pulls/3337","html_url":"https://github.com/hashicorp/vault/pull/3337","diff_url":"https://github.com/hashicorp/vault/pull/3337.diff","patch_url":"https://github.com/hashicorp/vault/pull/3337.patch"},"body":"Per @jefferai's comment in #3328 (which this PR supersedes), the best approach to clean up old certificates and CRLs in the PKI backend is with a periodic function, triggered by the rollback manager.\r\n\r\nThis PR implements that suggestion, creating a periodic function that automatically invokes the tidy endpoint, cleaning up all certificates and CRL entries that are more than 72 hours old. In addition, the tidy function ensure only one tidy operation can run at a time, and an attempt to start a second one will throw an error."},"comment":{"url":"https://api.github.com/repos/hashicorp/vault/issues/comments/338273431","html_url":"https://github.com/hashicorp/vault/pull/3337#issuecomment-338273431","issue_url":"https://api.github.com/repos/hashicorp/vault/issues/3337","id":338273431,"user":{"login":"jefferai","id":28627,"avatar_url":"https://avatars0.githubusercontent.com/u/28627?v=4","gravatar_id":"","url":"https://api.github.com/users/jefferai","html_url":"https://github.com/jefferai","followers_url":"https://api.github.com/users/jefferai/followers","following_url":"https://api.github.com/users/jefferai/following{/other_user}","gists_url":"https://api.github.com/users/jefferai/gists{/gist_id}","starred_url":"https://api.github.com/users/jefferai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jefferai/subscriptions","organizations_url":"https://api.github.com/users/jefferai/orgs","repos_url":"https://api.github.com/users/jefferai/repos","events_url":"https://api.github.com/users/jefferai/events{/privacy}","received_events_url":"https://api.github.com/users/jefferai/received_events","type":"User","site_admin":false},"created_at":"2017-10-20T17:35:44Z","updated_at":"2017-10-20T17:35:44Z","author_association":"OWNER","body":"I'm nervous about this being invoked once a minute. Even if it can't run more than one operation at a time, this could end up repeatedly running through thousands or hundreds of thousands of storage keys.\r\n\r\nI think this needs some additional configuration, like with safety buffer, that controls the amount of time that should elapse before the previous run before it is automatically run again, with it defaulting to somewhere between 24 and 72 hours."}}
{"actor":{"display_login":"jefferai"}}