{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/helm/issues/2181","repository_url":"https://api.github.com/repos/kubernetes/helm","labels_url":"https://api.github.com/repos/kubernetes/helm/issues/2181/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/helm/issues/2181/comments","events_url":"https://api.github.com/repos/kubernetes/helm/issues/2181/events","html_url":"https://github.com/kubernetes/helm/issues/2181","id":216856284,"number":2181,"title":"Output from \"helm init --dry-run --debug\" can't be fed back into \"kubectl create -f\"","user":{"login":"seh","id":175841,"avatar_url":"https://avatars2.githubusercontent.com/u/175841?v=3","gravatar_id":"","url":"https://api.github.com/users/seh","html_url":"https://github.com/seh","followers_url":"https://api.github.com/users/seh/followers","following_url":"https://api.github.com/users/seh/following{/other_user}","gists_url":"https://api.github.com/users/seh/gists{/gist_id}","starred_url":"https://api.github.com/users/seh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seh/subscriptions","organizations_url":"https://api.github.com/users/seh/orgs","repos_url":"https://api.github.com/users/seh/repos","events_url":"https://api.github.com/users/seh/events{/privacy}","received_events_url":"https://api.github.com/users/seh/received_events","type":"User","site_admin":false},"labels":[{"id":335802899,"url":"https://api.github.com/repos/kubernetes/helm/labels/proposal","name":"proposal","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2017-03-24T17:34:54Z","updated_at":"2017-04-01T18:16:44Z","closed_at":null,"body":"One can run the command _helm init --dry-run --debug_ to print YAML-format manifests for Tiller's _Deployment_, _Service_, and, optionally, its companion _Secret_. The idea is to capture these manifests, possibly edit them (such a streaming them through _sed_), and feed them back into the _kubectl create -f_ command. The current output from _helm init_ has two problems:\r\n1. The manifests are separated by a blank line rather than a [YAML starting document boundary marker](http://yaml.org/spec/current.html#document%20boundary%20marker/).  \r\n    _kubectl create_ winds up only creating the _last_ manifest in the stream.\r\n1. The _Service_ spec contains the YAML mapping key \"ExternalName,\" rather than \"externalName\" (with the leading 'e' in lowercase).  \r\n  _kubectl create_ rejects that key with the following message:\r\n> error: error validating \"STDIN\": error validating data: found invalid field ExternalName for v1.ServiceSpec; if you choose to ignore these errors, turn validation off with --validate=false\r\n\r\nWe could add the document boundary markers [in `(*initCmd).Run`](https://github.com/kubernetes/helm/blob/master/cmd/helm/init.go#L152-L169). As for why we're winding up with the capitalized YAML key \"ExternalName,\" I don't see that field mentioned where [we create the `api.Service`](https://github.com/kubernetes/helm/blob/d7cb50bf91eb3973c4331769510691156885f4ff/cmd/helm/installer/install.go#L208-L229) or anywhere else in the Helm project, so perhaps this is a bug in the upstream Kubernetes YAML marshaling configuration.\r\n\r\nI first brought these problems up for discussion [in the \"helm\" channel of the \"Kubernetes\" Slack team](https://kubernetes.slack.com/archives/C0NH30761/p1490373040542748)."},"comment":{"url":"https://api.github.com/repos/kubernetes/helm/issues/comments/290937573","html_url":"https://github.com/kubernetes/helm/issues/2181#issuecomment-290937573","issue_url":"https://api.github.com/repos/kubernetes/helm/issues/2181","id":290937573,"user":{"login":"thomastaylor312","id":4294228,"avatar_url":"https://avatars1.githubusercontent.com/u/4294228?v=3","gravatar_id":"","url":"https://api.github.com/users/thomastaylor312","html_url":"https://github.com/thomastaylor312","followers_url":"https://api.github.com/users/thomastaylor312/followers","following_url":"https://api.github.com/users/thomastaylor312/following{/other_user}","gists_url":"https://api.github.com/users/thomastaylor312/gists{/gist_id}","starred_url":"https://api.github.com/users/thomastaylor312/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomastaylor312/subscriptions","organizations_url":"https://api.github.com/users/thomastaylor312/orgs","repos_url":"https://api.github.com/users/thomastaylor312/repos","events_url":"https://api.github.com/users/thomastaylor312/events{/privacy}","received_events_url":"https://api.github.com/users/thomastaylor312/received_events","type":"User","site_admin":false},"created_at":"2017-04-01T18:16:44Z","updated_at":"2017-04-01T18:16:44Z","body":"@seh I actually think there is an open issue for it. I would continue with it and then come to the public dev meeting on Thursday so we can discuss it with the whole team"}}
{"actor":{"display_login":"thomastaylor312"}}