{"action":"closed","issue":{"url":"https://api.github.com/repos/yandex/ClickHouse/issues/2892","repository_url":"https://api.github.com/repos/yandex/ClickHouse","labels_url":"https://api.github.com/repos/yandex/ClickHouse/issues/2892/labels{/name}","comments_url":"https://api.github.com/repos/yandex/ClickHouse/issues/2892/comments","events_url":"https://api.github.com/repos/yandex/ClickHouse/issues/2892/events","html_url":"https://github.com/yandex/ClickHouse/issues/2892","id":351895752,"node_id":"MDU6SXNzdWUzNTE4OTU3NTI=","number":2892,"title":"Ways to include per user configuration from external files","user":{"login":"pavel-odintsov","id":2744166,"node_id":"MDQ6VXNlcjI3NDQxNjY=","avatar_url":"https://avatars0.githubusercontent.com/u/2744166?v=4","gravatar_id":"","url":"https://api.github.com/users/pavel-odintsov","html_url":"https://github.com/pavel-odintsov","followers_url":"https://api.github.com/users/pavel-odintsov/followers","following_url":"https://api.github.com/users/pavel-odintsov/following{/other_user}","gists_url":"https://api.github.com/users/pavel-odintsov/gists{/gist_id}","starred_url":"https://api.github.com/users/pavel-odintsov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pavel-odintsov/subscriptions","organizations_url":"https://api.github.com/users/pavel-odintsov/orgs","repos_url":"https://api.github.com/users/pavel-odintsov/repos","events_url":"https://api.github.com/users/pavel-odintsov/events{/privacy}","received_events_url":"https://api.github.com/users/pavel-odintsov/received_events","type":"User","site_admin":false},"labels":[{"id":386401510,"node_id":"MDU6TGFiZWwzODY0MDE1MTA=","url":"https://api.github.com/repos/yandex/ClickHouse/labels/question","name":"question","color":"cc317c","default":true}],"state":"closed","locked":false,"assignee":{"login":"alexey-milovidov","id":18581488,"node_id":"MDQ6VXNlcjE4NTgxNDg4","avatar_url":"https://avatars3.githubusercontent.com/u/18581488?v=4","gravatar_id":"","url":"https://api.github.com/users/alexey-milovidov","html_url":"https://github.com/alexey-milovidov","followers_url":"https://api.github.com/users/alexey-milovidov/followers","following_url":"https://api.github.com/users/alexey-milovidov/following{/other_user}","gists_url":"https://api.github.com/users/alexey-milovidov/gists{/gist_id}","starred_url":"https://api.github.com/users/alexey-milovidov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexey-milovidov/subscriptions","organizations_url":"https://api.github.com/users/alexey-milovidov/orgs","repos_url":"https://api.github.com/users/alexey-milovidov/repos","events_url":"https://api.github.com/users/alexey-milovidov/events{/privacy}","received_events_url":"https://api.github.com/users/alexey-milovidov/received_events","type":"User","site_admin":false},"assignees":[{"login":"alexey-milovidov","id":18581488,"node_id":"MDQ6VXNlcjE4NTgxNDg4","avatar_url":"https://avatars3.githubusercontent.com/u/18581488?v=4","gravatar_id":"","url":"https://api.github.com/users/alexey-milovidov","html_url":"https://github.com/alexey-milovidov","followers_url":"https://api.github.com/users/alexey-milovidov/followers","following_url":"https://api.github.com/users/alexey-milovidov/following{/other_user}","gists_url":"https://api.github.com/users/alexey-milovidov/gists{/gist_id}","starred_url":"https://api.github.com/users/alexey-milovidov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexey-milovidov/subscriptions","organizations_url":"https://api.github.com/users/alexey-milovidov/orgs","repos_url":"https://api.github.com/users/alexey-milovidov/repos","events_url":"https://api.github.com/users/alexey-milovidov/events{/privacy}","received_events_url":"https://api.github.com/users/alexey-milovidov/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2018-08-19T11:34:32Z","updated_at":"2018-08-20T09:12:01Z","closed_at":"2018-08-20T09:12:01Z","author_association":"NONE","body":"Hello!\r\n\r\nI'm working on some ways to simplify user management for Clickhouse.\r\n\r\nGlobal user configuration file \"/etc/clickhouse-server/users.xml\" does not work for me very well. Because it requires complicated logic when we add/remove users.\r\n\r\nI have two options to maintain it properly:\r\n- Regenerate this user.xml file each time when we add new user external source (JSON/YAML). But it requires external code to generate it and increases complexity.\r\n- Read content of existing file, add new section, write changes. But it also involves pretty tricky XML processing and can break something.\r\n\r\nI'm interested in extracting this information to separate files:\r\n```\r\n<admin>\r\n  <password>new_password</password>\r\n  <networks incl=\"networks\" replace=\"replace\">\r\n    <ip>::/0</ip>\r\n  </networks>\r\n  <profile>default</profile>\r\n  <quota>default</quota>\r\n</admin>\r\n```\r\n\r\nIs there is any way to extract configuration for each use in separate file? \r\n\r\nThank you!"}}
{"actor":{"display_login":"pavel-odintsov"}}