{"action":"created","issue":{"url":"https://api.github.com/repos/typesafehub/config/issues/427","repository_url":"https://api.github.com/repos/typesafehub/config","labels_url":"https://api.github.com/repos/typesafehub/config/issues/427/labels{/name}","comments_url":"https://api.github.com/repos/typesafehub/config/issues/427/comments","events_url":"https://api.github.com/repos/typesafehub/config/issues/427/events","html_url":"https://github.com/typesafehub/config/pull/427","id":179094370,"number":427,"title":"Allow environment vars to be resolved to list","user":{"login":"psliwa","id":438063,"avatar_url":"https://avatars.githubusercontent.com/u/438063?v=3","gravatar_id":"","url":"https://api.github.com/users/psliwa","html_url":"https://github.com/psliwa","followers_url":"https://api.github.com/users/psliwa/followers","following_url":"https://api.github.com/users/psliwa/following{/other_user}","gists_url":"https://api.github.com/users/psliwa/gists{/gist_id}","starred_url":"https://api.github.com/users/psliwa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psliwa/subscriptions","organizations_url":"https://api.github.com/users/psliwa/orgs","repos_url":"https://api.github.com/users/psliwa/repos","events_url":"https://api.github.com/users/psliwa/events{/privacy}","received_events_url":"https://api.github.com/users/psliwa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-25T16:20:49Z","updated_at":"2016-09-27T14:35:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/typesafehub/config/pulls/427","html_url":"https://github.com/typesafehub/config/pull/427","diff_url":"https://github.com/typesafehub/config/pull/427.diff","patch_url":"https://github.com/typesafehub/config/pull/427.patch"},"body":"It has been requested few times so far: https://github.com/typesafehub/config/issues/320, https://github.com/typesafehub/config/pull/168. Is there any contraindication why env vars cannot be treated the same way as system properties (in case of syntax)?"},"comment":{"url":"https://api.github.com/repos/typesafehub/config/issues/comments/249883796","html_url":"https://github.com/typesafehub/config/pull/427#issuecomment-249883796","issue_url":"https://api.github.com/repos/typesafehub/config/issues/427","id":249883796,"user":{"login":"havocp","id":218689,"avatar_url":"https://avatars.githubusercontent.com/u/218689?v=3","gravatar_id":"","url":"https://api.github.com/users/havocp","html_url":"https://github.com/havocp","followers_url":"https://api.github.com/users/havocp/followers","following_url":"https://api.github.com/users/havocp/following{/other_user}","gists_url":"https://api.github.com/users/havocp/gists{/gist_id}","starred_url":"https://api.github.com/users/havocp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/havocp/subscriptions","organizations_url":"https://api.github.com/users/havocp/orgs","repos_url":"https://api.github.com/users/havocp/repos","events_url":"https://api.github.com/users/havocp/events{/privacy}","received_events_url":"https://api.github.com/users/havocp/received_events","type":"User","site_admin":false},"created_at":"2016-09-27T14:35:54Z","updated_at":"2016-09-27T14:35:54Z","body":"Thanks!\r\n\r\nI would really like the \"fork in test\" fix, regardless of the env var thing, if you are interested in making that its own PR?\r\n\r\nRe: the env vars, it seems like there are two issues with this.\r\n\r\nOne is that it isn't quite backward compatible, though we could probably fudge it, mostly because I doubt anyone is using dots in env vars due to the second issue -\r\n\r\nSecond issue is that bash and other tools really don't support this. http://unix.stackexchange.com/questions/93532/exporting-a-variable-with-dot-in-it\r\n\r\n```\r\n$ export foo.0=bar\r\nbash: export: `foo.0=bar': not a valid identifier\r\n$ echo ${foo.0}\r\nbash: ${foo.0}: bad substitution\r\n$ echo \"$foo.0\"\r\n.0\r\n```\r\n\r\nIt looks like libc is maybe ok with it (if you can arrange to call setenv() programmatically), but if bash chokes a bunch of other ops tools like Docker, Ansible, stuff like that probably choke too. (Those are just speculative examples, I haven't gone and tried them.)\r\n\r\n\r\nAnyway, it doesn't seem like a great solution for that reason. I don't know if any of the other issues have discussion of more ideas; I wonder if a special env var that could contain HOCON directly, like `CONFIG_SNIPPET=\"foo.bar: [1,2,3]\"` might be a possibility (this would get parsed then merged in somewhere in the stack, maybe just above all the other env vars?). We could even do separate special env vars for places in the stack, like `CONFIG_DEFAULTS=` and `CONFIG_OVERRIDES=` maybe? That's just one idea. These env vars would then NOT be included in the config the way other env vars are, they'd be filtered out of the regular env var config object.\r\n"}}
{"actor":{"display_login":"havocp"}}