)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"91c37e65b4a353ff81c23b0ec2ac2bf01e655a0b","unresolved":true,"context_lines":[{"line_number":7,"context_line":"metropolis/node: Allow all ports as NodePorts except special ones"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As we dont have hostPort implemented we can only"},{"line_number":10,"context_line":" provide NodePorts to applications. To allow apps"},{"line_number":11,"context_line":" to use all ports we have to increase the range but"},{"line_number":12,"context_line":" have to prevent them from using reserved metropolis"},{"line_number":13,"context_line":" ones. This is currently prevented by patching the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fabadebb_a85ab157","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"updated":"2023-07-04 10:57:12.000000000","message":"Reflow this please with no indentation and proper line length.","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d19ab5642645c6cac73e40c573879c45d649372f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"metropolis/node: Allow all ports as NodePorts except special ones"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As we dont have hostPort implemented we can only"},{"line_number":10,"context_line":" provide NodePorts to applications. To allow apps"},{"line_number":11,"context_line":" to use all ports we have to increase the range but"},{"line_number":12,"context_line":" have to prevent them from using reserved metropolis"},{"line_number":13,"context_line":" ones. This is currently prevented by patching the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"b9ac1ee5_f3e8a5e1","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"in_reply_to":"fabadebb_a85ab157","updated":"2023-07-04 13:05:31.000000000","message":"Done","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"91bd348e911accc4fbbe300f119b8971ca8f08c2","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Tim Windelschmidt \u003ctim@monogon.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-07-04 16:33:35 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"metropolis/node: Allow all ports as NodePorts except special ones"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As we dont have hostPort implemented we can only  provide NodePorts to"},{"line_number":10,"context_line":"applications. To allow apps to use all ports we have to increase the range"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"753e23cc_79eda72b","line":7,"updated":"2023-07-04 17:35:32.000000000","message":"nit: *allow","commit_id":"272f2f0863d36cd68b6e601e42acf6eed7ca780d"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c5ff43bef3ebaf2164cd2d510f0aa09c1e086b1b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tim Windelschmidt \u003ctim@monogon.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-07-04 16:33:35 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"metropolis/node: Allow all ports as NodePorts except special ones"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As we dont have hostPort implemented we can only  provide NodePorts to"},{"line_number":10,"context_line":"applications. To allow apps to use all ports we have to increase the range"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"e8e8c187_a182e17b","line":7,"in_reply_to":"753e23cc_79eda72b","updated":"2023-07-04 18:33:58.000000000","message":"Done","commit_id":"272f2f0863d36cd68b6e601e42acf6eed7ca780d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"29a6fab03d8654ff9b549077d6f0cca8eaeac0b4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d5bd070d_a513900d","updated":"2023-07-03 23:49:24.000000000","message":"It would also be possible to use an admission hook to prevent the use, but that\u0027s way too cursed.","commit_id":"1102ee8bffedcc3c7af33de0232f641b503a10ae"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c6dbf5f64b0b86dff0ea8ef8912a82efd56b0404","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ada83a98_cccf0deb","in_reply_to":"d5bd070d_a513900d","updated":"2023-07-04 13:32:16.000000000","message":"Ack","commit_id":"1102ee8bffedcc3c7af33de0232f641b503a10ae"}],"metropolis/node/core/roleserve/worker_kubernetes.go":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"91c37e65b4a353ff81c23b0ec2ac2bf01e655a0b","unresolved":true,"context_lines":[{"line_number":127,"context_line":"\t// Generate a list of all Ports."},{"line_number":128,"context_line":"\tvar nodePortRange common.PortList"},{"line_number":129,"context_line":"\tfor i :\u003d 1; i \u003c int(^uint16(0)); i++ {"},{"line_number":130,"context_line":"\t\tnodePortRange \u003d append(nodePortRange, common.Port(i))"},{"line_number":131,"context_line":"\t}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"\t// TODO(q3k): remove this once the controller also uses curator-emitted PKI."}],"source_content_type":"text/x-go","patch_set":5,"id":"476d564e_2a18a6ef","line":130,"range":{"start_line":130,"start_character":2,"end_line":130,"end_character":15},"updated":"2023-07-04 10:57:12.000000000","message":"None of this is used, right? The patch takes care of punching out the ports.","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c6dbf5f64b0b86dff0ea8ef8912a82efd56b0404","unresolved":true,"context_lines":[{"line_number":127,"context_line":"\t// Generate a list of all Ports."},{"line_number":128,"context_line":"\tvar nodePortRange common.PortList"},{"line_number":129,"context_line":"\tfor i :\u003d 1; i \u003c int(^uint16(0)); i++ {"},{"line_number":130,"context_line":"\t\tnodePortRange \u003d append(nodePortRange, common.Port(i))"},{"line_number":131,"context_line":"\t}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"\t// TODO(q3k): remove this once the controller also uses curator-emitted PKI."}],"source_content_type":"text/x-go","patch_set":5,"id":"e0e29593_4d3587a9","line":130,"range":{"start_line":130,"start_character":2,"end_line":130,"end_character":15},"in_reply_to":"12c3ab68_a6d2e7b4","updated":"2023-07-04 13:32:16.000000000","message":"Yeah, but a) this doesn\u0027t actually work if you try to use it fully as multiple ranges are not supported and b) this populates a 64K map just to generate a single string out of it. Hardcode it and place a comment next to it saying that there\u0027s a patch in K8s which reserves the ports in node.SystemPorts.","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d19ab5642645c6cac73e40c573879c45d649372f","unresolved":true,"context_lines":[{"line_number":127,"context_line":"\t// Generate a list of all Ports."},{"line_number":128,"context_line":"\tvar nodePortRange common.PortList"},{"line_number":129,"context_line":"\tfor i :\u003d 1; i \u003c int(^uint16(0)); i++ {"},{"line_number":130,"context_line":"\t\tnodePortRange \u003d append(nodePortRange, common.Port(i))"},{"line_number":131,"context_line":"\t}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"\t// TODO(q3k): remove this once the controller also uses curator-emitted PKI."}],"source_content_type":"text/x-go","patch_set":5,"id":"12c3ab68_a6d2e7b4","line":130,"range":{"start_line":130,"start_character":2,"end_line":130,"end_character":15},"in_reply_to":"476d564e_2a18a6ef","updated":"2023-07-04 13:05:31.000000000","message":"this just generates a list of all ports. I didnt want to replace it with a string after while having a proper way to generate it.","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"30020657f2eb46187acb96251e51a99057d361f8","unresolved":false,"context_lines":[{"line_number":127,"context_line":"\t// Generate a list of all Ports."},{"line_number":128,"context_line":"\tvar nodePortRange common.PortList"},{"line_number":129,"context_line":"\tfor i :\u003d 1; i \u003c int(^uint16(0)); i++ {"},{"line_number":130,"context_line":"\t\tnodePortRange \u003d append(nodePortRange, common.Port(i))"},{"line_number":131,"context_line":"\t}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"\t// TODO(q3k): remove this once the controller also uses curator-emitted PKI."}],"source_content_type":"text/x-go","patch_set":5,"id":"cecdb5dd_6fdc3a18","line":130,"range":{"start_line":130,"start_character":2,"end_line":130,"end_character":15},"in_reply_to":"e0e29593_4d3587a9","updated":"2023-07-04 14:26:35.000000000","message":"Done","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"}],"metropolis/node/ports.go":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"91c37e65b4a353ff81c23b0ec2ac2bf01e655a0b","unresolved":true,"context_lines":[{"line_number":63,"context_line":"\tDebuggerPort Port \u003d 2345"},{"line_number":64,"context_line":")"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"func SystemPorts() []Port {"},{"line_number":67,"context_line":"\treturn []Port{"},{"line_number":68,"context_line":"\t\tCuratorServicePort,"},{"line_number":69,"context_line":"\t\tConsensusPort,"}],"source_content_type":"text/x-go","patch_set":5,"id":"fbe36f79_6307a6ba","line":66,"range":{"start_line":66,"start_character":5,"end_line":66,"end_character":16},"updated":"2023-07-04 10:57:12.000000000","message":"Just make this a package variable, no need for a function","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d19ab5642645c6cac73e40c573879c45d649372f","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\tDebuggerPort Port \u003d 2345"},{"line_number":64,"context_line":")"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"func SystemPorts() []Port {"},{"line_number":67,"context_line":"\treturn []Port{"},{"line_number":68,"context_line":"\t\tCuratorServicePort,"},{"line_number":69,"context_line":"\t\tConsensusPort,"}],"source_content_type":"text/x-go","patch_set":5,"id":"a21836e5_4953d30e","line":66,"range":{"start_line":66,"start_character":5,"end_line":66,"end_character":16},"in_reply_to":"fbe36f79_6307a6ba","updated":"2023-07-04 13:05:31.000000000","message":"Done","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"}],"third_party/go/patches/k8s-reserve-metropolis-ports.patch":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"91c37e65b4a353ff81c23b0ec2ac2bf01e655a0b","unresolved":true,"context_lines":[{"line_number":5,"context_line":" // PortAllocator implements Interface and Snapshottable"},{"line_number":6,"context_line":" var _ Interface \u003d \u0026PortAllocator{}"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"+func metropolisReservedPorts() []int {"},{"line_number":9,"context_line":"+\tconst ("},{"line_number":10,"context_line":"+\t\t// CuratorServicePort is the TCP port on which the Curator listens for gRPC"},{"line_number":11,"context_line":"+\t\t// calls and services Management/AAA/Curator RPCs."}],"source_content_type":"text/x-diff","patch_set":5,"id":"fe184774_657c204c","line":8,"range":{"start_line":8,"start_character":6,"end_line":8,"end_character":29},"updated":"2023-07-04 10:57:12.000000000","message":"Use the Metropolis exported list. This works fine, you can depend on Metropolis code from here.","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"9aa5e9b129b88ed1d49de44715fae6b7fb65881c","unresolved":false,"context_lines":[{"line_number":5,"context_line":" // PortAllocator implements Interface and Snapshottable"},{"line_number":6,"context_line":" var _ Interface \u003d \u0026PortAllocator{}"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"+func metropolisReservedPorts() []int {"},{"line_number":9,"context_line":"+\tconst ("},{"line_number":10,"context_line":"+\t\t// CuratorServicePort is the TCP port on which the Curator listens for gRPC"},{"line_number":11,"context_line":"+\t\t// calls and services Management/AAA/Curator RPCs."}],"source_content_type":"text/x-diff","patch_set":5,"id":"96a4145c_8f9af2d8","line":8,"range":{"start_line":8,"start_character":6,"end_line":8,"end_character":29},"in_reply_to":"3e0ddea7_8dffb6b9","updated":"2023-07-04 13:06:22.000000000","message":"Done","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d19ab5642645c6cac73e40c573879c45d649372f","unresolved":true,"context_lines":[{"line_number":5,"context_line":" // PortAllocator implements Interface and Snapshottable"},{"line_number":6,"context_line":" var _ Interface \u003d \u0026PortAllocator{}"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"+func metropolisReservedPorts() []int {"},{"line_number":9,"context_line":"+\tconst ("},{"line_number":10,"context_line":"+\t\t// CuratorServicePort is the TCP port on which the Curator listens for gRPC"},{"line_number":11,"context_line":"+\t\t// calls and services Management/AAA/Curator RPCs."}],"source_content_type":"text/x-diff","patch_set":5,"id":"3e0ddea7_8dffb6b9","line":8,"range":{"start_line":8,"start_character":6,"end_line":8,"end_character":29},"in_reply_to":"fe184774_657c204c","updated":"2023-07-04 13:05:31.000000000","message":"I couldn\u0027t find a way to get Bazel to build that code with Metropolis references 😞","commit_id":"a531f990839a3ca4e47c13c594e1e0df085bb44a"}]}
