{"action":"created","issue":{"url":"https://api.github.com/repos/improbable-eng/thanos/issues/387","repository_url":"https://api.github.com/repos/improbable-eng/thanos","labels_url":"https://api.github.com/repos/improbable-eng/thanos/issues/387/labels{/name}","comments_url":"https://api.github.com/repos/improbable-eng/thanos/issues/387/comments","events_url":"https://api.github.com/repos/improbable-eng/thanos/issues/387/events","html_url":"https://github.com/improbable-eng/thanos/pull/387","id":335856092,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3NDQ5NDMz","number":387,"title":"Proposal - config component within Thanos","user":{"login":"domgreen","id":156558,"node_id":"MDQ6VXNlcjE1NjU1OA==","avatar_url":"https://avatars0.githubusercontent.com/u/156558?v=4","gravatar_id":"","url":"https://api.github.com/users/domgreen","html_url":"https://github.com/domgreen","followers_url":"https://api.github.com/users/domgreen/followers","following_url":"https://api.github.com/users/domgreen/following{/other_user}","gists_url":"https://api.github.com/users/domgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/domgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domgreen/subscriptions","organizations_url":"https://api.github.com/users/domgreen/orgs","repos_url":"https://api.github.com/users/domgreen/repos","events_url":"https://api.github.com/users/domgreen/events{/privacy}","received_events_url":"https://api.github.com/users/domgreen/received_events","type":"User","site_admin":false},"labels":[{"id":737763640,"node_id":"MDU6TGFiZWw3Mzc3NjM2NDA=","url":"https://api.github.com/repos/improbable-eng/thanos/labels/feature%20request%20/%20improvement","name":"feature request / improvement","color":"84b6eb","default":false},{"id":975988102,"node_id":"MDU6TGFiZWw5NzU5ODgxMDI=","url":"https://api.github.com/repos/improbable-eng/thanos/labels/proposal","name":"proposal","color":"b891f2","default":false}],"state":"open","locked":false,"assignee":{"login":"domgreen","id":156558,"node_id":"MDQ6VXNlcjE1NjU1OA==","avatar_url":"https://avatars0.githubusercontent.com/u/156558?v=4","gravatar_id":"","url":"https://api.github.com/users/domgreen","html_url":"https://github.com/domgreen","followers_url":"https://api.github.com/users/domgreen/followers","following_url":"https://api.github.com/users/domgreen/following{/other_user}","gists_url":"https://api.github.com/users/domgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/domgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domgreen/subscriptions","organizations_url":"https://api.github.com/users/domgreen/orgs","repos_url":"https://api.github.com/users/domgreen/repos","events_url":"https://api.github.com/users/domgreen/events{/privacy}","received_events_url":"https://api.github.com/users/domgreen/received_events","type":"User","site_admin":false},"assignees":[{"login":"domgreen","id":156558,"node_id":"MDQ6VXNlcjE1NjU1OA==","avatar_url":"https://avatars0.githubusercontent.com/u/156558?v=4","gravatar_id":"","url":"https://api.github.com/users/domgreen","html_url":"https://github.com/domgreen","followers_url":"https://api.github.com/users/domgreen/followers","following_url":"https://api.github.com/users/domgreen/following{/other_user}","gists_url":"https://api.github.com/users/domgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/domgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domgreen/subscriptions","organizations_url":"https://api.github.com/users/domgreen/orgs","repos_url":"https://api.github.com/users/domgreen/repos","events_url":"https://api.github.com/users/domgreen/events{/privacy}","received_events_url":"https://api.github.com/users/domgreen/received_events","type":"User","site_admin":false}],"milestone":null,"comments":9,"created_at":"2018-06-26T14:46:53Z","updated_at":"2018-07-02T18:45:43Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/improbable-eng/thanos/pulls/387","html_url":"https://github.com/improbable-eng/thanos/pull/387","diff_url":"https://github.com/improbable-eng/thanos/pull/387.diff","patch_url":"https://github.com/improbable-eng/thanos/pull/387.patch"},"body":"## Changes\r\n\r\nAdded a proposal document on how we can do configuration management within Thanos, this should allow an improved and more consistent experience when scaling.\r\n\r\ncc @krasi-georgiev @brancz"},"comment":{"url":"https://api.github.com/repos/improbable-eng/thanos/issues/comments/401897826","html_url":"https://github.com/improbable-eng/thanos/pull/387#issuecomment-401897826","issue_url":"https://api.github.com/repos/improbable-eng/thanos/issues/387","id":401897826,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMTg5NzgyNg==","user":{"login":"domgreen","id":156558,"node_id":"MDQ6VXNlcjE1NjU1OA==","avatar_url":"https://avatars0.githubusercontent.com/u/156558?v=4","gravatar_id":"","url":"https://api.github.com/users/domgreen","html_url":"https://github.com/domgreen","followers_url":"https://api.github.com/users/domgreen/followers","following_url":"https://api.github.com/users/domgreen/following{/other_user}","gists_url":"https://api.github.com/users/domgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/domgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domgreen/subscriptions","organizations_url":"https://api.github.com/users/domgreen/orgs","repos_url":"https://api.github.com/users/domgreen/repos","events_url":"https://api.github.com/users/domgreen/events{/privacy}","received_events_url":"https://api.github.com/users/domgreen/received_events","type":"User","site_admin":false},"created_at":"2018-07-02T18:45:43Z","updated_at":"2018-07-02T18:45:43Z","author_association":"CONTRIBUTOR","body":"As @Bplotka mentions the main reason we were going to add it as an optional component into Thanos was that a sidecar (either as part of Thanos or separately) would be being used to reload the targets on a scraper and then manage the scale down of a scraper as outlined above. So we would have to update Thanos regardless to ensure it knew to flush / snapshot the current WAL and upload when all targets had been removed and it is being drained.\r\n\r\nIt is also worth noting in the scale down scenario the \"drained\" scraper would still serve requests from `thanos query` whilst it has no targets and is waiting to be terminated (time would depend on the WAL shipping).\r\n\r\nThe integration with the Prometheus scraper will always be `file_sd_config` when adding / updating targets to an existing job. This is something that we do not propose to change.\r\n\r\n@krasi-georgiev - from other issue ... my main reservation with the DIBS approach is the pod annotations as although our scrapers (Prom/Thanos) are within k8s our targets do not have to be within a k8s cluster so would not all be within pods.\r\nYou are correct you could work bin packing out from each node individually but IMO having this centralised (at least per cluster) would all us to test, debug and maintain a system with less overhead.\r\n\r\n@Bplotka will update with considerations around scaling down and ensure that it is explicit that we  want minimal targets to move scrapers when scaling up."}}
{"actor":{"display_login":"domgreen"}}