{"action":"created","issue":{"url":"https://api.github.com/repos/moby/moby/issues/37612","repository_url":"https://api.github.com/repos/moby/moby","labels_url":"https://api.github.com/repos/moby/moby/issues/37612/labels{/name}","comments_url":"https://api.github.com/repos/moby/moby/issues/37612/comments","events_url":"https://api.github.com/repos/moby/moby/issues/37612/events","html_url":"https://github.com/moby/moby/pull/37612","id":348915126,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA3MTU1Njkz","number":37612,"title":"Expose license status in Info","user":{"login":"dhiltgen","id":4033016,"node_id":"MDQ6VXNlcjQwMzMwMTY=","avatar_url":"https://avatars2.githubusercontent.com/u/4033016?v=4","gravatar_id":"","url":"https://api.github.com/users/dhiltgen","html_url":"https://github.com/dhiltgen","followers_url":"https://api.github.com/users/dhiltgen/followers","following_url":"https://api.github.com/users/dhiltgen/following{/other_user}","gists_url":"https://api.github.com/users/dhiltgen/gists{/gist_id}","starred_url":"https://api.github.com/users/dhiltgen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhiltgen/subscriptions","organizations_url":"https://api.github.com/users/dhiltgen/orgs","repos_url":"https://api.github.com/users/dhiltgen/repos","events_url":"https://api.github.com/users/dhiltgen/events{/privacy}","received_events_url":"https://api.github.com/users/dhiltgen/received_events","type":"User","site_admin":false},"labels":[{"id":237472255,"node_id":"MDU6TGFiZWwyMzc0NzIyNTU=","url":"https://api.github.com/repos/moby/moby/labels/impact/api","name":"impact/api","color":"bfe5bf","default":false},{"id":237472270,"node_id":"MDU6TGFiZWwyMzc0NzIyNzA=","url":"https://api.github.com/repos/moby/moby/labels/impact/changelog","name":"impact/changelog","color":"bfe5bf","default":false},{"id":175375407,"node_id":"MDU6TGFiZWwxNzUzNzU0MDc=","url":"https://api.github.com/repos/moby/moby/labels/status/2-code-review","name":"status/2-code-review","color":"fad8c7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-08-08T22:29:30Z","updated_at":"2018-08-16T15:26:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/moby/moby/pulls/37612","html_url":"https://github.com/moby/moby/pull/37612","diff_url":"https://github.com/moby/moby/pull/37612.diff","patch_url":"https://github.com/moby/moby/pull/37612.patch"},"body":"**- What I did**\r\n\r\nThis wires up a new field in the `Info` payload that exposes the license.\r\nFor moby this is hardcoded to always report a community edition string.\r\nDownstream enterprise dockerd will have additional licensing logic wired\r\ninto this function to report details about the current license status.\r\n\r\n\r\n**- How I did it**\r\n\r\n**- How to verify it**\r\n\r\nSimple unit test included.  Until the Info structure shows up in the CLI, this can be seen via curl\r\n```\r\n% curl -s --unix-socket /var/run/docker.sock http:/info  | jq \".License\"\r\n\"Community Edition Engine\"\r\n```\r\n\r\n**- Description for the changelog**\r\n\r\nExposes license information in Info output\r\n\r\n**- A picture of a cute animal (not mandatory but encouraged)**\r\n\r\n![screen_2018-08-08-15-26-47](https://user-images.githubusercontent.com/4033016/43867785-86b706d0-9b1f-11e8-8a53-b29fa6945f55.png)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/moby/moby/issues/comments/413585054","html_url":"https://github.com/moby/moby/pull/37612#issuecomment-413585054","issue_url":"https://api.github.com/repos/moby/moby/issues/37612","id":413585054,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMzU4NTA1NA==","user":{"login":"dhiltgen","id":4033016,"node_id":"MDQ6VXNlcjQwMzMwMTY=","avatar_url":"https://avatars2.githubusercontent.com/u/4033016?v=4","gravatar_id":"","url":"https://api.github.com/users/dhiltgen","html_url":"https://github.com/dhiltgen","followers_url":"https://api.github.com/users/dhiltgen/followers","following_url":"https://api.github.com/users/dhiltgen/following{/other_user}","gists_url":"https://api.github.com/users/dhiltgen/gists{/gist_id}","starred_url":"https://api.github.com/users/dhiltgen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhiltgen/subscriptions","organizations_url":"https://api.github.com/users/dhiltgen/orgs","repos_url":"https://api.github.com/users/dhiltgen/repos","events_url":"https://api.github.com/users/dhiltgen/events{/privacy}","received_events_url":"https://api.github.com/users/dhiltgen/received_events","type":"User","site_admin":false},"created_at":"2018-08-16T15:26:03Z","updated_at":"2018-08-16T15:26:03Z","author_association":"CONTRIBUTOR","body":"> One concern I had was that the /info endpoint is known to not be really lightweight. There's a lot of information that's collected by this endpoint, and some of that information is not \"cheap\"; that's not an issue if this information is only requested occasionally, but thought I'd mention.\r\n\r\nI think the /info API is a good place to expose this information for this release.  This wont be used by clients to perform license validation, but rather as a means to expose the current license status to the user.\r\n\r\n> Final consideration; do we need this information exposed through the /nodes endpoint as well (for multi-node setups?).\r\n\r\nIn a clustered setting, a single license is applied to the entire cluster and the license entitles the user to a certain number of nodes.   At the moment I'm not aware of any requirements to support divergent licenses across a cluster."}}
{"actor":{"display_login":"dhiltgen"}}