)]}'
{"metropolis/cli/metroctl/set.go":[{"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":"234aed1f32fa55bd106ccfd8abba96c031a9f402","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"var unsetCmd \u003d \u0026cobra.Command{"},{"line_number":19,"context_line":"\tShort: \"Updates node configuration.\","},{"line_number":20,"context_line":"\tUse:   \"unset\","},{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"var setRoleCmd \u003d \u0026cobra.Command{"}],"source_content_type":"text/x-go","patch_set":2,"id":"4c2fae4c_e7d8f665","line":20,"range":{"start_line":20,"start_character":9,"end_line":20,"end_character":14},"updated":"2022-08-17 09:45:12.000000000","message":"How about \u0027add\u0027 and \u0027remove\u0027 instead? The behaviour is a bit clearer then, and reminds me of IOS vlan tag management :).\n\neg. `metroctl node add role KubernetesWorker metropolis-....`\n\nOr the other way around?\n\neg. `metroctl node add role metropolis-.... KubernetesWorker`","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7559727fa39e1dab9de36b4cdb3dee867fa0e990","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"var unsetCmd \u003d \u0026cobra.Command{"},{"line_number":19,"context_line":"\tShort: \"Updates node configuration.\","},{"line_number":20,"context_line":"\tUse:   \"unset\","},{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"var setRoleCmd \u003d \u0026cobra.Command{"}],"source_content_type":"text/x-go","patch_set":2,"id":"a49946b5_67a2b1a3","line":20,"range":{"start_line":20,"start_character":9,"end_line":20,"end_character":14},"in_reply_to":"4c2fae4c_e7d8f665","updated":"2022-08-24 12:44:57.000000000","message":"I shall grant your wish.","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"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":"234aed1f32fa55bd106ccfd8abba96c031a9f402","unresolved":true,"context_lines":[{"line_number":23,"context_line":"var setRoleCmd \u003d \u0026cobra.Command{"},{"line_number":24,"context_line":"\tShort:   \"Updates node roles.\","},{"line_number":25,"context_line":"\tUse:     \"role \u003cKubernetesWorker|ConsensusMember\u003e [NodeID, ...]\","},{"line_number":26,"context_line":"\tExample: \"metroctl set role KubernetesWorker metropolis-25fa5f5e9349381d4a5e9e59de0215e3\","},{"line_number":27,"context_line":"\tArgs:    cobra.ArbitraryArgs,"},{"line_number":28,"context_line":"\tRun:     doSet,"},{"line_number":29,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":2,"id":"cb9dfa5c_81945c39","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":24},"updated":"2022-08-17 09:45:12.000000000","message":"`...metroctl node set...`","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7559727fa39e1dab9de36b4cdb3dee867fa0e990","unresolved":false,"context_lines":[{"line_number":23,"context_line":"var setRoleCmd \u003d \u0026cobra.Command{"},{"line_number":24,"context_line":"\tShort:   \"Updates node roles.\","},{"line_number":25,"context_line":"\tUse:     \"role \u003cKubernetesWorker|ConsensusMember\u003e [NodeID, ...]\","},{"line_number":26,"context_line":"\tExample: \"metroctl set role KubernetesWorker metropolis-25fa5f5e9349381d4a5e9e59de0215e3\","},{"line_number":27,"context_line":"\tArgs:    cobra.ArbitraryArgs,"},{"line_number":28,"context_line":"\tRun:     doSet,"},{"line_number":29,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":2,"id":"ebe04da5_a9daf221","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":24},"in_reply_to":"cb9dfa5c_81945c39","updated":"2022-08-24 12:44:57.000000000","message":"Done","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"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":"234aed1f32fa55bd106ccfd8abba96c031a9f402","unresolved":true,"context_lines":[{"line_number":62,"context_line":"\t\t\tId: node,"},{"line_number":63,"context_line":"\t\t}"},{"line_number":64,"context_line":"\t\tswitch role {"},{"line_number":65,"context_line":"\t\tcase \"KubernetesWorker\":"},{"line_number":66,"context_line":"\t\t\treq.KubernetesWorker \u003d opt(true)"},{"line_number":67,"context_line":"\t\tcase \"ConsensusMember\":"},{"line_number":68,"context_line":"\t\t\treq.ConsensusMember \u003d opt(true)"}],"source_content_type":"text/x-go","patch_set":2,"id":"281ae065_c607578d","line":65,"range":{"start_line":65,"start_character":7,"end_line":65,"end_character":25},"updated":"2022-08-17 09:45:12.000000000","message":"I\u0027d probably make this case-insensitive. Perhaps also add shorthand support? eg. kw, cm.","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7559727fa39e1dab9de36b4cdb3dee867fa0e990","unresolved":false,"context_lines":[{"line_number":62,"context_line":"\t\t\tId: node,"},{"line_number":63,"context_line":"\t\t}"},{"line_number":64,"context_line":"\t\tswitch role {"},{"line_number":65,"context_line":"\t\tcase \"KubernetesWorker\":"},{"line_number":66,"context_line":"\t\t\treq.KubernetesWorker \u003d opt(true)"},{"line_number":67,"context_line":"\t\tcase \"ConsensusMember\":"},{"line_number":68,"context_line":"\t\t\treq.ConsensusMember \u003d opt(true)"}],"source_content_type":"text/x-go","patch_set":2,"id":"09276a1a_51250d46","line":65,"range":{"start_line":65,"start_character":7,"end_line":65,"end_character":25},"in_reply_to":"281ae065_c607578d","updated":"2022-08-24 12:44:57.000000000","message":"Done","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"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":"234aed1f32fa55bd106ccfd8abba96c031a9f402","unresolved":true,"context_lines":[{"line_number":67,"context_line":"\t\tcase \"ConsensusMember\":"},{"line_number":68,"context_line":"\t\t\treq.ConsensusMember \u003d opt(true)"},{"line_number":69,"context_line":"\t\tdefault:"},{"line_number":70,"context_line":"\t\t\tlog.Fatalf(\"Unknown role: %s\", role)"},{"line_number":71,"context_line":"\t\t}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\t\t_, err :\u003d mgmt.UpdateNodeRoles(ctx, req)"}],"source_content_type":"text/x-go","patch_set":2,"id":"4460a9de_2d54239d","line":70,"range":{"start_line":70,"start_character":15,"end_line":70,"end_character":31},"updated":"2022-08-17 09:45:12.000000000","message":"\"... must be one of: ...\"","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7559727fa39e1dab9de36b4cdb3dee867fa0e990","unresolved":false,"context_lines":[{"line_number":67,"context_line":"\t\tcase \"ConsensusMember\":"},{"line_number":68,"context_line":"\t\t\treq.ConsensusMember \u003d opt(true)"},{"line_number":69,"context_line":"\t\tdefault:"},{"line_number":70,"context_line":"\t\t\tlog.Fatalf(\"Unknown role: %s\", role)"},{"line_number":71,"context_line":"\t\t}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\t\t_, err :\u003d mgmt.UpdateNodeRoles(ctx, req)"}],"source_content_type":"text/x-go","patch_set":2,"id":"29c94497_43a826e5","line":70,"range":{"start_line":70,"start_character":15,"end_line":70,"end_character":31},"in_reply_to":"4460a9de_2d54239d","updated":"2022-08-24 12:44:57.000000000","message":"Done","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"}],"metropolis/pkg/cmd/run.go":[{"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":"234aed1f32fa55bd106ccfd8abba96c031a9f402","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"// WaitTillCompletion creates a RunCommand predicate that will make it wait"},{"line_number":93,"context_line":"// for the process to exit on its own."},{"line_number":94,"context_line":"func WaitTillCompletion(logf func(string)) func(string) bool {"},{"line_number":95,"context_line":"\treturn func(line string) bool {"},{"line_number":96,"context_line":"\t\tif logf !\u003d nil {"},{"line_number":97,"context_line":"\t\t\tlogf(line)"}],"source_content_type":"text/x-go","patch_set":2,"id":"aa3ed786_9f8d2054","line":94,"range":{"start_line":94,"start_character":9,"end_line":94,"end_character":13},"updated":"2022-08-17 09:45:12.000000000","message":"...Until...\n\nOr maybe WaitDone?","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7559727fa39e1dab9de36b4cdb3dee867fa0e990","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"// WaitTillCompletion creates a RunCommand predicate that will make it wait"},{"line_number":93,"context_line":"// for the process to exit on its own."},{"line_number":94,"context_line":"func WaitTillCompletion(logf func(string)) func(string) bool {"},{"line_number":95,"context_line":"\treturn func(line string) bool {"},{"line_number":96,"context_line":"\t\tif logf !\u003d nil {"},{"line_number":97,"context_line":"\t\t\tlogf(line)"}],"source_content_type":"text/x-go","patch_set":2,"id":"d6cf5366_5a3443e8","line":94,"range":{"start_line":94,"start_character":9,"end_line":94,"end_character":13},"in_reply_to":"aa3ed786_9f8d2054","updated":"2022-08-24 12:44:57.000000000","message":"Done. This was moved to another patch.","commit_id":"28e78b2ba15b166484382ac8035562e77535594b"}]}
