{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/9810","repository_url":"https://api.github.com/repos/openshift/origin","labels_url":"https://api.github.com/repos/openshift/origin/issues/9810/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/9810/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/9810/events","html_url":"https://github.com/openshift/origin/pull/9810","id":165178037,"number":9810,"title":"implement basic DDOS protections in the HAProxy template router","user":{"login":"JacobTanenbaum","id":13948445,"avatar_url":"https://avatars.githubusercontent.com/u/13948445?v=3","gravatar_id":"","url":"https://api.github.com/users/JacobTanenbaum","html_url":"https://github.com/JacobTanenbaum","followers_url":"https://api.github.com/users/JacobTanenbaum/followers","following_url":"https://api.github.com/users/JacobTanenbaum/following{/other_user}","gists_url":"https://api.github.com/users/JacobTanenbaum/gists{/gist_id}","starred_url":"https://api.github.com/users/JacobTanenbaum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JacobTanenbaum/subscriptions","organizations_url":"https://api.github.com/users/JacobTanenbaum/orgs","repos_url":"https://api.github.com/users/JacobTanenbaum/repos","events_url":"https://api.github.com/users/JacobTanenbaum/events{/privacy}","received_events_url":"https://api.github.com/users/JacobTanenbaum/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-07-12T20:52:40Z","updated_at":"2016-07-25T13:57:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/9810","html_url":"https://github.com/openshift/origin/pull/9810","diff_url":"https://github.com/openshift/origin/pull/9810.diff","patch_url":"https://github.com/openshift/origin/pull/9810.patch"},"body":"Using annotations implement basic DDOS protections in the HAProxy router\r\n   - ability to limit the number of concurrent TCP connections\r\n   - limit the rate at which a client can request TCP connections\r\n   - limit the rate at which HTTP requests can be made\r\n\r\nThese are enabled on a per route bases because apps could have extremely\r\ndifferent traffic patterns\r\n\r\nsetting \"router.openshift.io/haproxy.DDOS\" enables the settings to be\r\nconfigured\r\n\r\nsetting \"router.openshift.io/haproxy.DDOS.concurrentTCP\" changes the\r\nnumber concurrent TCP connections that can be made by the same IP\r\naddress on this route.\r\n\r\nsetting \"router.openshift.io/haproxy.DDOS.rateTCP\" changes the number of\r\nTCP connections that can be opened by a client IP.\r\n\r\nsetting \"router.openshift.io/haproxy.DDOS.rateHTTP\" changes the number\r\nof HTTP requests that a client IP can make in a 3s period.\r\n\r\nSince traffic patterns can vary wildly I provided no default values for\r\nthese protections\r\n\r\nIf the DDOS conditions are violated the router closes the connection to\r\nthe client."},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/234960426","html_url":"https://github.com/openshift/origin/pull/9810#issuecomment-234960426","issue_url":"https://api.github.com/repos/openshift/origin/issues/9810","id":234960426,"user":{"login":"knobunc","id":10033853,"avatar_url":"https://avatars.githubusercontent.com/u/10033853?v=3","gravatar_id":"","url":"https://api.github.com/users/knobunc","html_url":"https://github.com/knobunc","followers_url":"https://api.github.com/users/knobunc/followers","following_url":"https://api.github.com/users/knobunc/following{/other_user}","gists_url":"https://api.github.com/users/knobunc/gists{/gist_id}","starred_url":"https://api.github.com/users/knobunc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knobunc/subscriptions","organizations_url":"https://api.github.com/users/knobunc/orgs","repos_url":"https://api.github.com/users/knobunc/repos","events_url":"https://api.github.com/users/knobunc/events{/privacy}","received_events_url":"https://api.github.com/users/knobunc/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T13:57:53Z","updated_at":"2016-07-25T13:57:53Z","body":"LGTM.  @rajatchopra if you like it, I think we are good to merge."}}
{"actor":{"display_login":"knobunc"}}