{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/installer/issues/680","repository_url":"https://api.github.com/repos/openshift/installer","labels_url":"https://api.github.com/repos/openshift/installer/issues/680/labels{/name}","comments_url":"https://api.github.com/repos/openshift/installer/issues/680/comments","events_url":"https://api.github.com/repos/openshift/installer/issues/680/events","html_url":"https://github.com/openshift/installer/issues/680","id":381243075,"node_id":"MDU6SXNzdWUzODEyNDMwNzU=","number":680,"title":"provide cluster-config in config.openshift.io","user":{"login":"deads2k","id":8225098,"node_id":"MDQ6VXNlcjgyMjUwOTg=","avatar_url":"https://avatars0.githubusercontent.com/u/8225098?v=4","gravatar_id":"","url":"https://api.github.com/users/deads2k","html_url":"https://github.com/deads2k","followers_url":"https://api.github.com/users/deads2k/followers","following_url":"https://api.github.com/users/deads2k/following{/other_user}","gists_url":"https://api.github.com/users/deads2k/gists{/gist_id}","starred_url":"https://api.github.com/users/deads2k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deads2k/subscriptions","organizations_url":"https://api.github.com/users/deads2k/orgs","repos_url":"https://api.github.com/users/deads2k/repos","events_url":"https://api.github.com/users/deads2k/events{/privacy}","received_events_url":"https://api.github.com/users/deads2k/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"abhinavdahiya","id":3481311,"node_id":"MDQ6VXNlcjM0ODEzMTE=","avatar_url":"https://avatars2.githubusercontent.com/u/3481311?v=4","gravatar_id":"","url":"https://api.github.com/users/abhinavdahiya","html_url":"https://github.com/abhinavdahiya","followers_url":"https://api.github.com/users/abhinavdahiya/followers","following_url":"https://api.github.com/users/abhinavdahiya/following{/other_user}","gists_url":"https://api.github.com/users/abhinavdahiya/gists{/gist_id}","starred_url":"https://api.github.com/users/abhinavdahiya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhinavdahiya/subscriptions","organizations_url":"https://api.github.com/users/abhinavdahiya/orgs","repos_url":"https://api.github.com/users/abhinavdahiya/repos","events_url":"https://api.github.com/users/abhinavdahiya/events{/privacy}","received_events_url":"https://api.github.com/users/abhinavdahiya/received_events","type":"User","site_admin":false},"assignees":[{"login":"crawford","id":368848,"node_id":"MDQ6VXNlcjM2ODg0OA==","avatar_url":"https://avatars3.githubusercontent.com/u/368848?v=4","gravatar_id":"","url":"https://api.github.com/users/crawford","html_url":"https://github.com/crawford","followers_url":"https://api.github.com/users/crawford/followers","following_url":"https://api.github.com/users/crawford/following{/other_user}","gists_url":"https://api.github.com/users/crawford/gists{/gist_id}","starred_url":"https://api.github.com/users/crawford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crawford/subscriptions","organizations_url":"https://api.github.com/users/crawford/orgs","repos_url":"https://api.github.com/users/crawford/repos","events_url":"https://api.github.com/users/crawford/events{/privacy}","received_events_url":"https://api.github.com/users/crawford/received_events","type":"User","site_admin":false},{"login":"abhinavdahiya","id":3481311,"node_id":"MDQ6VXNlcjM0ODEzMTE=","avatar_url":"https://avatars2.githubusercontent.com/u/3481311?v=4","gravatar_id":"","url":"https://api.github.com/users/abhinavdahiya","html_url":"https://github.com/abhinavdahiya","followers_url":"https://api.github.com/users/abhinavdahiya/followers","following_url":"https://api.github.com/users/abhinavdahiya/following{/other_user}","gists_url":"https://api.github.com/users/abhinavdahiya/gists{/gist_id}","starred_url":"https://api.github.com/users/abhinavdahiya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhinavdahiya/subscriptions","organizations_url":"https://api.github.com/users/abhinavdahiya/orgs","repos_url":"https://api.github.com/users/abhinavdahiya/repos","events_url":"https://api.github.com/users/abhinavdahiya/events{/privacy}","received_events_url":"https://api.github.com/users/abhinavdahiya/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2018-11-15T16:35:44Z","updated_at":"2018-11-28T18:50:16Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Much of the content in https://github.com/openshift/installer/blob/master/pkg/types/installconfig.go#L23 should be moved to specific config.openshift.io types.  \r\n\r\nFor example\r\n 1. `Platform` should move to https://github.com/openshift/api/blob/master/config/v1/types_infrastructure.go#L27 so we can see the cloud information and a secret ref\r\n2. `Networking` should move to https://github.com/openshift/api/blob/master/config/v1/types_network.go#L29\r\n\r\nThis doesn't necessarily mean that we have to remove the `oc get cm -nkube-system cluster-config-v1 -oyaml`, but operators should consume the the information from the source of truth.\r\n\r\nI see at least one option for achieving this, but I'm open to other suggestions as well.\r\n\r\n1. perhaps there could be to be a renderer that creates these installer driven types from config.openshift.io (as distinct from add-ons like images or oauth).  That, in combination with placing them in a CVO payload would allow both initial provisioning and future maintenance.\r\n\r\n/assign @crawford @abhinavdahiya \r\n@openshift/api-review for where bits move\r\n@jwforres @derekwaynecarr fyi \r\n@ironcladlou @squeed fyi since you both deal with the first two I saw.\r\n"},"comment":{"url":"https://api.github.com/repos/openshift/installer/issues/comments/442561185","html_url":"https://github.com/openshift/installer/issues/680#issuecomment-442561185","issue_url":"https://api.github.com/repos/openshift/installer/issues/680","id":442561185,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MjU2MTE4NQ==","user":{"login":"abhinavdahiya","id":3481311,"node_id":"MDQ6VXNlcjM0ODEzMTE=","avatar_url":"https://avatars2.githubusercontent.com/u/3481311?v=4","gravatar_id":"","url":"https://api.github.com/users/abhinavdahiya","html_url":"https://github.com/abhinavdahiya","followers_url":"https://api.github.com/users/abhinavdahiya/followers","following_url":"https://api.github.com/users/abhinavdahiya/following{/other_user}","gists_url":"https://api.github.com/users/abhinavdahiya/gists{/gist_id}","starred_url":"https://api.github.com/users/abhinavdahiya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhinavdahiya/subscriptions","organizations_url":"https://api.github.com/users/abhinavdahiya/orgs","repos_url":"https://api.github.com/users/abhinavdahiya/repos","events_url":"https://api.github.com/users/abhinavdahiya/events{/privacy}","received_events_url":"https://api.github.com/users/abhinavdahiya/received_events","type":"User","site_admin":false},"created_at":"2018-11-28T18:50:16Z","updated_at":"2018-11-28T18:50:16Z","author_association":"MEMBER","body":"> we should think about dropping the InstallConfig type completely.\r\n\r\nThe installer still needs a single object to drive its creation. why would we drop InstallConfig? \r\n\r\n`InstallConfig` type's purpose is to be the smallest configuration to create cluster.\r\nThe purpose of `config.openshift.io` is to be complete configuration."}}
{"actor":{"display_login":"abhinavdahiya"}}