{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4628","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4628/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4628/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4628/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/issues/4628","id":58281846,"number":4628,"title":"Loosen label and annotation validation and related tests","user":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/api/cluster","name":"api/cluster","color":"e1ed21"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/area/usability","name":"area/usability","color":"00cc00"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/priority/P2","name":"priority/P2","color":"fbca04"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/team/UX","name":"team/UX","color":"d2b48c"}],"state":"open","locked":false,"assignee":{"login":"gmarek","id":1703842,"avatar_url":"https://avatars.githubusercontent.com/u/1703842?v=3","gravatar_id":"","url":"https://api.github.com/users/gmarek","html_url":"https://github.com/gmarek","followers_url":"https://api.github.com/users/gmarek/followers","following_url":"https://api.github.com/users/gmarek/following{/other_user}","gists_url":"https://api.github.com/users/gmarek/gists{/gist_id}","starred_url":"https://api.github.com/users/gmarek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gmarek/subscriptions","organizations_url":"https://api.github.com/users/gmarek/orgs","repos_url":"https://api.github.com/users/gmarek/repos","events_url":"https://api.github.com/users/gmarek/events{/privacy}","received_events_url":"https://api.github.com/users/gmarek/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones/6","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/milestones/v1.0","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones/6/labels","id":969317,"number":6,"title":"v1.0","description":"Issues that need to be resolved for v1.0 of Kubernetes.","creator":{"login":"goltermann","id":9358478,"avatar_url":"https://avatars.githubusercontent.com/u/9358478?v=3","gravatar_id":"","url":"https://api.github.com/users/goltermann","html_url":"https://github.com/goltermann","followers_url":"https://api.github.com/users/goltermann/followers","following_url":"https://api.github.com/users/goltermann/following{/other_user}","gists_url":"https://api.github.com/users/goltermann/gists{/gist_id}","starred_url":"https://api.github.com/users/goltermann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/goltermann/subscriptions","organizations_url":"https://api.github.com/users/goltermann/orgs","repos_url":"https://api.github.com/users/goltermann/repos","events_url":"https://api.github.com/users/goltermann/events{/privacy}","received_events_url":"https://api.github.com/users/goltermann/received_events","type":"User","site_admin":false},"open_issues":78,"closed_issues":15,"state":"open","created_at":"2015-02-06T20:27:16Z","updated_at":"2015-02-26T23:00:30Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2015-02-19T22:38:58Z","updated_at":"2015-02-27T15:46:48Z","closed_at":null,"body":"From #4486 \r\n\r\nProposed:\r\n* label values: restrict to [A-Za-z0-9_-.]*\r\n\r\n* annotation values: no restriction\r\n\r\n* qualified names (label and annotation keys, resource names, volume plugins): loosen restrictions to ([A-Za-z0-9_-.]+/)?[A-Za-z0-9_-.]+ - this should be a strict superset of\r\nwhat we allow today.  We can say that convention is to use dns-compatible\r\ndomain + label, but still allow things like FOO/B_A.R.  This DOES NOT allow for foo.com/bat/bat - is that an important affordance to anyone?  We could allow that, but we need to be clear that \"bar/bat\" means (bar, bat) while \"foo.com/bar/bat\" means (foo.com, bar/bat).\r\n\r\n@smarterclayton does that give you enough freedom?\r\n@bgrant0607 does that give you enough consistency?\r\n@quinton-hoole-google does this make the qualified name type now viable for your use case in kube-proxy?"},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/76415270","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/issues/4628#issuecomment-76415270","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/4628","id":76415270,"user":{"login":"sdminonne","id":9527409,"avatar_url":"https://avatars.githubusercontent.com/u/9527409?v=3","gravatar_id":"","url":"https://api.github.com/users/sdminonne","html_url":"https://github.com/sdminonne","followers_url":"https://api.github.com/users/sdminonne/followers","following_url":"https://api.github.com/users/sdminonne/following{/other_user}","gists_url":"https://api.github.com/users/sdminonne/gists{/gist_id}","starred_url":"https://api.github.com/users/sdminonne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sdminonne/subscriptions","organizations_url":"https://api.github.com/users/sdminonne/orgs","repos_url":"https://api.github.com/users/sdminonne/repos","events_url":"https://api.github.com/users/sdminonne/events{/privacy}","received_events_url":"https://api.github.com/users/sdminonne/received_events","type":"User","site_admin":false},"created_at":"2015-02-27T15:46:48Z","updated_at":"2015-02-27T15:46:48Z","body":"@gmarek as far as I remember during the discussion someone (guessing @smarterclayton) raised the point about unicode and char to be esacped. But I cannot find anymore asked me to reserve backslash for future uses. That's why I modified the regexp and I specifically added an entry in unit test for this.\r\n\r\nThe starting discussion was here: https://github.com/GoogleCloudPlatform/kubernetes/issues/341\r\nThen https://github.com/GoogleCloudPlatform/kubernetes/pull/4486\r\n\r\n"}}