)]}'
{"magnum/conf/capi_driver.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"69791617a51c5bfa7cc4eb6c859062cef29b49cb","unresolved":true,"context_lines":[{"line_number":13,"context_line":"from oslo_config import cfg"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"capi_driver_group \u003d cfg.OptGroup("},{"line_number":16,"context_line":"    name\u003d\"capi_driver\", title\u003d\"Cluster API Driver configuration\""},{"line_number":17,"context_line":")"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"capi_driver_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"c76f7990_97edf52f","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":21},"updated":"2023-06-26 12:12:25.000000000","message":"why not just capi?","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"59e4d03b636fee34965b5be20384f1ec5f1fb516","unresolved":true,"context_lines":[{"line_number":13,"context_line":"from oslo_config import cfg"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"capi_driver_group \u003d cfg.OptGroup("},{"line_number":16,"context_line":"    name\u003d\"capi_driver\", title\u003d\"Cluster API Driver configuration\""},{"line_number":17,"context_line":")"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"capi_driver_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"d98b5784_8e932697","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":21},"in_reply_to":"c76f7990_97edf52f","updated":"2023-08-30 08:33:52.000000000","message":"I was just copying heat_driver really.","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"5fc4b8fc35c5cf902f3429b76a43ba4ff2e9f97d","unresolved":true,"context_lines":[{"line_number":13,"context_line":"from oslo_config import cfg"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"capi_driver_group \u003d cfg.OptGroup("},{"line_number":16,"context_line":"    name\u003d\"capi_driver\", title\u003d\"Cluster API Driver configuration\""},{"line_number":17,"context_line":")"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"capi_driver_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"1f9e72ec_37ce5aa6","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":21},"in_reply_to":"c76f7990_97edf52f","updated":"2023-08-30 12:02:41.000000000","message":"agree capi is nice","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"69791617a51c5bfa7cc4eb6c859062cef29b49cb","unresolved":true,"context_lines":[{"line_number":22,"context_line":"        default\u003d\"\","},{"line_number":23,"context_line":"        help\u003d("},{"line_number":24,"context_line":"            \"Path to a kubeconfig file for a management cluster,\""},{"line_number":25,"context_line":"            \"for use in the Cluster API driver. \""},{"line_number":26,"context_line":"            \"Defaults to the environment variable KUBECONFIG, \""},{"line_number":27,"context_line":"            \"or if not defined ~/.kube/config\""},{"line_number":28,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":6,"id":"2e1103d0_ac2bed09","line":25,"range":{"start_line":25,"start_character":47,"end_line":25,"end_character":48},"updated":"2023-06-26 12:12:25.000000000","message":"nit: whitespace","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"59e4d03b636fee34965b5be20384f1ec5f1fb516","unresolved":true,"context_lines":[{"line_number":22,"context_line":"        default\u003d\"\","},{"line_number":23,"context_line":"        help\u003d("},{"line_number":24,"context_line":"            \"Path to a kubeconfig file for a management cluster,\""},{"line_number":25,"context_line":"            \"for use in the Cluster API driver. \""},{"line_number":26,"context_line":"            \"Defaults to the environment variable KUBECONFIG, \""},{"line_number":27,"context_line":"            \"or if not defined ~/.kube/config\""},{"line_number":28,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":6,"id":"40e3bd84_d8dd54c6","line":25,"range":{"start_line":25,"start_character":47,"end_line":25,"end_character":48},"in_reply_to":"2e1103d0_ac2bed09","updated":"2023-08-30 08:33:52.000000000","message":"This is required to make a help string, I thought?","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"1ccb9ae142003e62f93363dcf154b0c67ef46a47","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        default\u003d\"\","},{"line_number":23,"context_line":"        help\u003d("},{"line_number":24,"context_line":"            \"Path to a kubeconfig file for a management cluster,\""},{"line_number":25,"context_line":"            \"for use in the Cluster API driver. \""},{"line_number":26,"context_line":"            \"Defaults to the environment variable KUBECONFIG, \""},{"line_number":27,"context_line":"            \"or if not defined ~/.kube/config\""},{"line_number":28,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":6,"id":"c17c7f1e_43f8e0fe","line":25,"range":{"start_line":25,"start_character":47,"end_line":25,"end_character":48},"in_reply_to":"40e3bd84_d8dd54c6","updated":"2023-08-31 08:56:40.000000000","message":"Ack","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"69791617a51c5bfa7cc4eb6c859062cef29b49cb","unresolved":true,"context_lines":[{"line_number":23,"context_line":"        help\u003d("},{"line_number":24,"context_line":"            \"Path to a kubeconfig file for a management cluster,\""},{"line_number":25,"context_line":"            \"for use in the Cluster API driver. \""},{"line_number":26,"context_line":"            \"Defaults to the environment variable KUBECONFIG, \""},{"line_number":27,"context_line":"            \"or if not defined ~/.kube/config\""},{"line_number":28,"context_line":"        ),"},{"line_number":29,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":6,"id":"ca4205cb_2f5d40b7","line":26,"range":{"start_line":26,"start_character":61,"end_line":26,"end_character":62},"updated":"2023-06-26 12:12:25.000000000","message":"nit: whitespace","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"59e4d03b636fee34965b5be20384f1ec5f1fb516","unresolved":true,"context_lines":[{"line_number":23,"context_line":"        help\u003d("},{"line_number":24,"context_line":"            \"Path to a kubeconfig file for a management cluster,\""},{"line_number":25,"context_line":"            \"for use in the Cluster API driver. \""},{"line_number":26,"context_line":"            \"Defaults to the environment variable KUBECONFIG, \""},{"line_number":27,"context_line":"            \"or if not defined ~/.kube/config\""},{"line_number":28,"context_line":"        ),"},{"line_number":29,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":6,"id":"f94714b9_b0f35a93","line":26,"range":{"start_line":26,"start_character":61,"end_line":26,"end_character":62},"in_reply_to":"ca4205cb_2f5d40b7","updated":"2023-08-30 08:33:52.000000000","message":"This is required to make a good sentence, I thought?","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"1ccb9ae142003e62f93363dcf154b0c67ef46a47","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        help\u003d("},{"line_number":24,"context_line":"            \"Path to a kubeconfig file for a management cluster,\""},{"line_number":25,"context_line":"            \"for use in the Cluster API driver. \""},{"line_number":26,"context_line":"            \"Defaults to the environment variable KUBECONFIG, \""},{"line_number":27,"context_line":"            \"or if not defined ~/.kube/config\""},{"line_number":28,"context_line":"        ),"},{"line_number":29,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":6,"id":"7dad8d5d_401c194f","line":26,"range":{"start_line":26,"start_character":61,"end_line":26,"end_character":62},"in_reply_to":"f94714b9_b0f35a93","updated":"2023-08-31 08:56:40.000000000","message":"Ack","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"}],"magnum/drivers/cluster_api/helm.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"34b52e646047976390e243c42da38caf83b0955e","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        self._default_timeout \u003d \"5m\""},{"line_number":60,"context_line":"        self._executable \u003d \"helm\""},{"line_number":61,"context_line":"        self._history_max_revisions \u003d 10"},{"line_number":62,"context_line":"        self._kubeconfig \u003d CONF.drivers.kubeconfig_file"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"}],"source_content_type":"text/x-python","patch_set":4,"id":"4145f1ef_6c1aa223","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":55},"updated":"2023-04-26 05:55:11.000000000","message":"Are we going to support only one CAPI mgmt cluster?","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"86451a00598c1ef3ffc30e4029f615fc16cf2c68","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        self._default_timeout \u003d \"5m\""},{"line_number":60,"context_line":"        self._executable \u003d \"helm\""},{"line_number":61,"context_line":"        self._history_max_revisions \u003d 10"},{"line_number":62,"context_line":"        self._kubeconfig \u003d CONF.drivers.kubeconfig_file"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"}],"source_content_type":"text/x-python","patch_set":4,"id":"69ebb496_d13d68ec","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":55},"in_reply_to":"4145f1ef_6c1aa223","updated":"2023-05-11 17:10:00.000000000","message":"Yes, very much so, only one of them. Each openstack project maps to a namespace within the shared cluster.","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"5fc4b8fc35c5cf902f3429b76a43ba4ff2e9f97d","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        self._default_timeout \u003d \"5m\""},{"line_number":60,"context_line":"        self._executable \u003d \"helm\""},{"line_number":61,"context_line":"        self._history_max_revisions \u003d 10"},{"line_number":62,"context_line":"        self._kubeconfig \u003d CONF.drivers.kubeconfig_file"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"}],"source_content_type":"text/x-python","patch_set":4,"id":"c07a701f_f0c3b2c3","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":55},"in_reply_to":"69ebb496_d13d68ec","updated":"2023-08-30 12:02:41.000000000","message":"I think it\u0027s ok for now","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"34b52e646047976390e243c42da38caf83b0955e","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"},{"line_number":66,"context_line":"        if self._kubeconfig:"},{"line_number":67,"context_line":"            command.extend([\"--kubeconfig\", self._kubeconfig])"},{"line_number":68,"context_line":"        stdout, stderr \u003d utils.execute(*command, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(f\"Ran helm {command} got out:{stdout} err:{stderr}\")"},{"line_number":70,"context_line":"        return stdout"}],"source_content_type":"text/x-python","patch_set":4,"id":"c7c7dcc0_d83bbbe4","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":62},"updated":"2023-04-26 05:55:11.000000000","message":"I don\u0027t think using kubeconfig is a secure solution, especially that we\u0027re not validating if there is no malicious code embedded in this kubeconfig.\nSecond thing is that any potential security issue can lead to leaking those credentials (or worse).","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"69791617a51c5bfa7cc4eb6c859062cef29b49cb","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"},{"line_number":66,"context_line":"        if self._kubeconfig:"},{"line_number":67,"context_line":"            command.extend([\"--kubeconfig\", self._kubeconfig])"},{"line_number":68,"context_line":"        stdout, stderr \u003d utils.execute(*command, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(f\"Ran helm {command} got out:{stdout} err:{stderr}\")"},{"line_number":70,"context_line":"        return stdout"}],"source_content_type":"text/x-python","patch_set":4,"id":"c5e6c188_493530a2","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":62},"in_reply_to":"6e74739b_69dae055","updated":"2023-06-26 12:12:25.000000000","message":"Usually the rabbitmq password, the db password and others do not allow any administrative changes/commands on those subsystems - is this the case with CAPI management cluster?","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"59e4d03b636fee34965b5be20384f1ec5f1fb516","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"},{"line_number":66,"context_line":"        if self._kubeconfig:"},{"line_number":67,"context_line":"            command.extend([\"--kubeconfig\", self._kubeconfig])"},{"line_number":68,"context_line":"        stdout, stderr \u003d utils.execute(*command, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(f\"Ran helm {command} got out:{stdout} err:{stderr}\")"},{"line_number":70,"context_line":"        return stdout"}],"source_content_type":"text/x-python","patch_set":4,"id":"eef6ad35_e5a899b0","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":62},"in_reply_to":"c5e6c188_493530a2","updated":"2023-08-30 08:33:52.000000000","message":"I mean its not much worse than having access to keystone as admin, or access to nova as admin or having access to libvirt, or similar right? DB changes sure can make massive changes to the system, like marking all ports and instances as deleted.","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"5fc4b8fc35c5cf902f3429b76a43ba4ff2e9f97d","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"},{"line_number":66,"context_line":"        if self._kubeconfig:"},{"line_number":67,"context_line":"            command.extend([\"--kubeconfig\", self._kubeconfig])"},{"line_number":68,"context_line":"        stdout, stderr \u003d utils.execute(*command, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(f\"Ran helm {command} got out:{stdout} err:{stderr}\")"},{"line_number":70,"context_line":"        return stdout"}],"source_content_type":"text/x-python","patch_set":4,"id":"e9893213_f419e928","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":62},"in_reply_to":"c5e6c188_493530a2","updated":"2023-08-30 12:02:41.000000000","message":"I think it is similar risk profile as magnum db account. Deployment tool needs to chown / chmod it the same as magnum.conf.","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"86451a00598c1ef3ffc30e4029f615fc16cf2c68","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"},{"line_number":66,"context_line":"        if self._kubeconfig:"},{"line_number":67,"context_line":"            command.extend([\"--kubeconfig\", self._kubeconfig])"},{"line_number":68,"context_line":"        stdout, stderr \u003d utils.execute(*command, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(f\"Ran helm {command} got out:{stdout} err:{stderr}\")"},{"line_number":70,"context_line":"        return stdout"}],"source_content_type":"text/x-python","patch_set":4,"id":"6e74739b_69dae055","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":62},"in_reply_to":"c7c7dcc0_d83bbbe4","updated":"2023-05-11 17:10:00.000000000","message":"This is only controlled by the openstack deployer in OpenStack config, right next to the DB password, and rabbitmq password, etc.\n\nI don\u0027t fully understand the concern here, can you please describe the risk in more detail please?","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"1ccb9ae142003e62f93363dcf154b0c67ef46a47","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    def _run(self, command, **kwargs) -\u003e bytes:"},{"line_number":65,"context_line":"        command \u003d [self._executable] + command"},{"line_number":66,"context_line":"        if self._kubeconfig:"},{"line_number":67,"context_line":"            command.extend([\"--kubeconfig\", self._kubeconfig])"},{"line_number":68,"context_line":"        stdout, stderr \u003d utils.execute(*command, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(f\"Ran helm {command} got out:{stdout} err:{stderr}\")"},{"line_number":70,"context_line":"        return stdout"}],"source_content_type":"text/x-python","patch_set":4,"id":"4c369203_442c627c","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":62},"in_reply_to":"e9893213_f419e928","updated":"2023-08-31 08:56:40.000000000","message":"Ack","commit_id":"9f921f95b3666b742535bfd364a411b1478221e7"},{"author":{"_account_id":35921,"name":"Travis Holton","email":"travisholton+ubuntuone@catalystcloud.nz","username":"travisholton"},"change_message_id":"5c1d02101f3178ba0c092245be8c961043faba32","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"d7ccc9a4_6db28766","line":82,"updated":"2023-06-11 10:06:05.000000000","message":"Could this be made configurable, or possibly an option to use a file system location for the helm chart instead of a remote repo? Might be practical for airgapped systems.","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":35921,"name":"Travis Holton","email":"travisholton+ubuntuone@catalystcloud.nz","username":"travisholton"},"change_message_id":"8a767b477e98f7167b9b990a11b0d9d48089c043","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3ed488a8_bcb0280a","line":82,"in_reply_to":"01fb73c4_9e8a04be","updated":"2023-09-14 01:21:23.000000000","message":"Thanks John, that looks perfect!","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4c4ecc2deed3c2beca7489ab955a8adccf88e0fc","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"205c736f_59185400","line":82,"in_reply_to":"112084d2_1b6df329","updated":"2023-08-30 08:30:54.000000000","message":"I think I make this somewhat configurable in the next patch, I went for simple as possible, but open to ideas.\n\nTesting an OCI registry for the helm charts was on my TODO list. Is this worth adding at the end of the series (I guess you added something a bit like that already?)","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":35921,"name":"Travis Holton","email":"travisholton+ubuntuone@catalystcloud.nz","username":"travisholton"},"change_message_id":"af3ff5c259f1e726e757dd2254a4015b1a46b48b","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"b9a1915a_36ee4676","line":82,"in_reply_to":"205c736f_59185400","updated":"2023-08-30 10:41:14.000000000","message":"If you\u0027re referring to https://review.opendev.org/c/openstack/magnum/+/887545 that was just a temporary hack for working with our local OCI. I guess the \"--repo\" argument would need to be made optional if the chart doesn\u0027t start with \u0027oci://...\u0027\n\nI did have an earlier commit that added additional values but I\u0027ve since abandoned that as it wasn\u0027t really needed.","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":35921,"name":"Travis Holton","email":"travisholton+ubuntuone@catalystcloud.nz","username":"travisholton"},"change_message_id":"7bd95387a8ea0c19ae7300f0ad43489b045a89e8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"80cf956f_35679948","line":82,"in_reply_to":"3ed488a8_bcb0280a","updated":"2023-09-14 01:32:06.000000000","message":"Done","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"04ccc841eafe4fbb6edbd34fbddca8f72a588ddc","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"01fb73c4_9e8a04be","line":82,"in_reply_to":"b9a1915a_36ee4676","updated":"2023-09-13 09:09:41.000000000","message":"I have incorporated your idea into the downstream version I am working on now we haven\u0027t got this merged upstream yet (I still hope to get it merged next cycle if it is accepted, and we work out a better way to get that done):\nhttps://github.com/stackhpc/magnum-capi-helm/pull/2","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"},{"author":{"_account_id":35921,"name":"Travis Holton","email":"travisholton+ubuntuone@catalystcloud.nz","username":"travisholton"},"change_message_id":"b0999579025ea24cbddee4c6119519ff0cb83412","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        version: t.Optional[str],"},{"line_number":80,"context_line":"    ) -\u003e t.Iterable[t.Dict[str, t.Any]]:"},{"line_number":81,"context_line":"        \"\"\"Install or upgrade specified release using chart and values.\"\"\""},{"line_number":82,"context_line":"        command \u003d ["},{"line_number":83,"context_line":"            \"upgrade\","},{"line_number":84,"context_line":"            release_name,"},{"line_number":85,"context_line":"            chart_ref,"}],"source_content_type":"text/x-python","patch_set":6,"id":"112084d2_1b6df329","line":82,"in_reply_to":"d7ccc9a4_6db28766","updated":"2023-06-27 18:49:01.000000000","message":"Additional use case is using an OCI container registry to host helm charts. The OCI url is passed as the \u0027chart_ref\u0027. The --repo argument isn\u0027t necessary and actually causes the command to fail.","commit_id":"dd60e56fb015b806e9aa34eaf74fa5cced5c393a"}]}
