{"action":"created","issue":{"url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/issues/941","repository_url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s","labels_url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/issues/941/labels{/name}","comments_url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/issues/941/comments","events_url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/issues/941/events","html_url":"https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/941","id":361325965,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2MzIzODgx","number":941,"title":"passthrough values.yaml","user":{"login":"minrk","id":151929,"node_id":"MDQ6VXNlcjE1MTkyOQ==","avatar_url":"https://avatars1.githubusercontent.com/u/151929?v=4","gravatar_id":"","url":"https://api.github.com/users/minrk","html_url":"https://github.com/minrk","followers_url":"https://api.github.com/users/minrk/followers","following_url":"https://api.github.com/users/minrk/following{/other_user}","gists_url":"https://api.github.com/users/minrk/gists{/gist_id}","starred_url":"https://api.github.com/users/minrk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minrk/subscriptions","organizations_url":"https://api.github.com/users/minrk/orgs","repos_url":"https://api.github.com/users/minrk/repos","events_url":"https://api.github.com/users/minrk/events{/privacy}","received_events_url":"https://api.github.com/users/minrk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-09-18T14:14:46Z","updated_at":"2018-09-21T13:04:21Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/pulls/941","html_url":"https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/941","diff_url":"https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/941.diff","patch_url":"https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/941.patch"},"body":"opened for discussion of #341\n\npassthrough values as-is as a single configmap entry, rather than specifying a mapping of values -> configmap -> jupyterhub config\n\nsecret fields are omitted from the configmap and only secret fields are included in the secret\n\nboth secret and configmap have the same structure, the only difference is in the mutually-exclusive filtering of which fields are included.\n\nAs it stands, the only manual maintenance required of the configmap should be when new secrets are added, because they must be excluded explicitly from the configmap.\n\nThe fiddly bits here are that we need to specifically locate which fields are secret to exclude them from the configmap and include them in the secret. Fortunately, secret values change a lot less often than other values.\n\nAn alternative is to restructure values.yaml so that there is a top-level `secrets` key. This would be a lot more convenient for us, since the splitting logic would be clear and stable, but it would be less convenient for users, who would need to have:\n\n```yaml\nsecrets:\n  proxy:\n    secretToken: ...\nproxy:\n  otherConfig\n```\n\nIt would make much less of a difference for users who are maintaining a best-practices two-file `{config|secret}.yaml` deployment, since the top-level `secrets` key would only mean an increase of indentation by one level in the `secret.yaml` file.\n\nI haven't implemented the hub-side of the configuration, but the yaml->hub config transform now entirely belongs in the hub image's z2jh.py."},"comment":{"url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/issues/comments/423523818","html_url":"https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/941#issuecomment-423523818","issue_url":"https://api.github.com/repos/jupyterhub/zero-to-jupyterhub-k8s/issues/941","id":423523818,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMzUyMzgxOA==","user":{"login":"consideRatio","id":3837114,"node_id":"MDQ6VXNlcjM4MzcxMTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/3837114?v=4","gravatar_id":"","url":"https://api.github.com/users/consideRatio","html_url":"https://github.com/consideRatio","followers_url":"https://api.github.com/users/consideRatio/followers","following_url":"https://api.github.com/users/consideRatio/following{/other_user}","gists_url":"https://api.github.com/users/consideRatio/gists{/gist_id}","starred_url":"https://api.github.com/users/consideRatio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/consideRatio/subscriptions","organizations_url":"https://api.github.com/users/consideRatio/orgs","repos_url":"https://api.github.com/users/consideRatio/repos","events_url":"https://api.github.com/users/consideRatio/events{/privacy}","received_events_url":"https://api.github.com/users/consideRatio/received_events","type":"User","site_admin":false},"created_at":"2018-09-21T13:04:21Z","updated_at":"2018-09-21T13:04:21Z","author_association":"MEMBER","body":"Excellent work! This has been a complex additional step for all PRs and anyone wanting to grasp things. Now while it will still be an extra step, it does not require much manual intervention."}}
{"actor":{"display_login":"consideRatio"}}