)]}'
{"/PATCHSET_LEVEL":[{"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":"a71244e5cbf51ba9e607b60643e05a7c78aa8095","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1274a9c5_ab5f03c9","updated":"2023-03-30 12:53:18.000000000","message":"Please look at #63, I\u0027ve not reviewed everything","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"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":"8cafa1f66c7540f15b751eb18382e4d0b9a53318","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"91555170_507dacc2","updated":"2023-04-05 13:51:13.000000000","message":"Nice refactor, LGTM","commit_id":"526c07207f84cdb7361002f08a195900f0d7c56c"}],"metropolis/node/core/roleserve/worker_clusternet.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":"a71244e5cbf51ba9e607b60643e05a7c78aa8095","unresolved":true,"context_lines":[{"line_number":31,"context_line":"\t}"},{"line_number":32,"context_line":"\tsupervisor.Logger(ctx).Infof(\"Got cluster membership, starting...\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"\tconn, err :\u003d cm.DialCurator()"},{"line_number":35,"context_line":"\tif err !\u003d nil {"},{"line_number":36,"context_line":"\t\treturn err"},{"line_number":37,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"b2c7eb42_3dc24437","line":34,"range":{"start_line":34,"start_character":14,"end_line":34,"end_character":28},"updated":"2023-03-30 12:53:18.000000000","message":"This pattern is becoming a bit problematic, DialCurator opens a \"real\" connection every time it\u0027s called, in the worst case we\u0027re now up to 6 real connections per node. There really shouldn\u0027t be more than 1. Same problem with the watches, which are quite expensive in a big cluster.","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"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":"bcfcd72fe1dfb5a6cc481a699375fd7c3c132a70","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\t}"},{"line_number":32,"context_line":"\tsupervisor.Logger(ctx).Infof(\"Got cluster membership, starting...\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"\tconn, err :\u003d cm.DialCurator()"},{"line_number":35,"context_line":"\tif err !\u003d nil {"},{"line_number":36,"context_line":"\t\treturn err"},{"line_number":37,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"bf239f0b_999d5f6a","line":34,"range":{"start_line":34,"start_character":14,"end_line":34,"end_character":28},"in_reply_to":"608f1add_219f7b77","updated":"2023-03-30 14:17:49.000000000","message":"Deferred into #193","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a32d41962fd1e6ffa2a52c6565ea56cf0b57ece9","unresolved":true,"context_lines":[{"line_number":31,"context_line":"\t}"},{"line_number":32,"context_line":"\tsupervisor.Logger(ctx).Infof(\"Got cluster membership, starting...\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"\tconn, err :\u003d cm.DialCurator()"},{"line_number":35,"context_line":"\tif err !\u003d nil {"},{"line_number":36,"context_line":"\t\treturn err"},{"line_number":37,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"608f1add_219f7b77","line":34,"range":{"start_line":34,"start_character":14,"end_line":34,"end_character":28},"in_reply_to":"b2c7eb42_3dc24437","updated":"2023-03-30 14:00:36.000000000","message":"I agree, but there\u0027s nothing I can do about this in this CR. Could you please file an issue about this so we remember to fix it?","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"}],"metropolis/node/kubernetes/clusternet/clusternet.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":"a71244e5cbf51ba9e607b60643e05a7c78aa8095","unresolved":true,"context_lines":[{"line_number":56,"context_line":"\tlogger logtree.LeveledLogger"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"// ensureNode creates/updates the corresponding WireGuard peer entry for the"},{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"}],"source_content_type":"text/x-go","patch_set":5,"id":"9b2367ed_38444ebd","line":60,"range":{"start_line":59,"start_character":3,"end_line":60,"end_character":19},"updated":"2023-03-30 12:53:18.000000000","message":"Needs to be updated","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e538751c55a91b64258cb12bacfd03d55067a3a8","unresolved":false,"context_lines":[{"line_number":56,"context_line":"\tlogger logtree.LeveledLogger"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"// ensureNode creates/updates the corresponding WireGuard peer entry for the"},{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"}],"source_content_type":"text/x-go","patch_set":5,"id":"a7b80e14_473a5962","line":60,"range":{"start_line":59,"start_character":3,"end_line":60,"end_character":19},"in_reply_to":"9b2367ed_38444ebd","updated":"2023-03-30 14:57:01.000000000","message":"Done","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"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":"a71244e5cbf51ba9e607b60643e05a7c78aa8095","unresolved":true,"context_lines":[{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"},{"line_number":64,"context_line":"\t\treturn nil"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"75b6082c_834f8cd8","line":63,"range":{"start_line":63,"start_character":5,"end_line":63,"end_character":36},"updated":"2023-03-30 12:53:18.000000000","message":"IMO this doesn\u0027t make much sense. Can\u0027t we run this on a controller node for all nodes? Keeping an informer on the entire node pool only to look at our own node is very wasteful. What this informer previously did for us is now already done by the curator watch in clusternet.\n\nAnother solution would be to cut K8s out of this and pull the data straight from the local node (ie. core/network for the IP and containerd/CNI for the prefix).","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a32d41962fd1e6ffa2a52c6565ea56cf0b57ece9","unresolved":true,"context_lines":[{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"},{"line_number":64,"context_line":"\t\treturn nil"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"b146ea1e_1a2b1aba","line":63,"range":{"start_line":63,"start_character":5,"end_line":63,"end_character":36},"in_reply_to":"75b6082c_834f8cd8","updated":"2023-03-30 14:00:36.000000000","message":"For the first solution: We currently don\u0027t have the infrastructure for leader electing a single KubernetesController node to do that kind of work only on one node. Unless there\u0027s some Kubernetes leader election mechanism we could leverage here?\n\nFor the second solution: how do we retrieve the address from containerd? We don\u0027t have any API channel open to it yet, right?","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d2a354caedb14ee73b7a1acb1792db56e2b4c315","unresolved":false,"context_lines":[{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"},{"line_number":64,"context_line":"\t\treturn nil"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"2685cec6_9b447ce4","line":63,"range":{"start_line":63,"start_character":5,"end_line":63,"end_character":36},"in_reply_to":"7accc6a9_bd5f1b4b","updated":"2023-04-04 11:19:32.000000000","message":"I\u0027ve moved the node watching to a dedicated informer with a filter.","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"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":"2da420d5fd681352142da63f3ae8cb0a1c320e3f","unresolved":true,"context_lines":[{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"},{"line_number":64,"context_line":"\t\treturn nil"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"7accc6a9_bd5f1b4b","line":63,"range":{"start_line":63,"start_character":5,"end_line":63,"end_character":36},"in_reply_to":"b0632747_5375bbb7","updated":"2023-03-30 16:11:30.000000000","message":"We\u0027re not actually watching nodes anywhere else yet. There\u0027s WithTweakListOptions which can do it, but that would need to be set on the entire informer factory. If it\u0027s too much work we can leave it.","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"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":"bcfcd72fe1dfb5a6cc481a699375fd7c3c132a70","unresolved":true,"context_lines":[{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"},{"line_number":64,"context_line":"\t\treturn nil"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"be2aac06_683a0be1","line":63,"range":{"start_line":63,"start_character":5,"end_line":63,"end_character":36},"in_reply_to":"b146ea1e_1a2b1aba","updated":"2023-03-30 14:17:49.000000000","message":"K8s has k8s.io/client-go/tools/leaderelection, see https://github.com/mayankshah1607/k8s-leader-election/blob/master/main.go for an example. But I\u0027m not sure we want to get into this.\n\nThe address can be retrieved from core/network. The prefix is more iffy, I just checked and it only gets passed from kubelet -\u003e containerd which does some templating which CNI then picks up on. Clawing out of there is not hard, but definitely ugly. Also not sure how we get update notifications, then again I don\u0027t think the existing containerd/CNI setup will actually apply updates anyways.\n\nAnother solution which is at least less wasteful would be an individual K8s watch on the node resource.","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"99fd30991f9d7574f1db42f9d2ca5587a8d8d676","unresolved":true,"context_lines":[{"line_number":60,"context_line":"// given node objet"},{"line_number":61,"context_line":"func (s *Service) ensureNode(newNode *corev1.Node) error {"},{"line_number":62,"context_line":"\tif newNode.Name !\u003d s.NodeName {"},{"line_number":63,"context_line":"\t\t// We only care about our own node"},{"line_number":64,"context_line":"\t\treturn nil"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"b0632747_5375bbb7","line":63,"range":{"start_line":63,"start_character":5,"end_line":63,"end_character":36},"in_reply_to":"be2aac06_683a0be1","updated":"2023-03-30 14:56:16.000000000","message":"\u003e Another solution which is at least less wasteful would be an individual K8s watch on the node resource.\n\nIs that something we can do on the SharedInformer(Factory), or is there a different API for this? Isn\u0027t the performance issue moot with the big SharedInformerFactory anyway, i.e. doesn\u0027t it watch all resources always everywhere anyway?","commit_id":"c167c6fe941027a282477e6d97f13bb5325e9a56"}]}
