)]}'
{"metropolis/node/BUILD.bazel":[{"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":"6850eb2ab992f6c090f386676c354abb472d1942","unresolved":true,"context_lines":[{"line_number":138,"context_line":"# Create a tar.gz of the image, suitable for importing to GCP as a custom image."},{"line_number":139,"context_line":"# (see https://cloud.google.com/compute/docs/import/import-existing-image#create_image_file)"},{"line_number":140,"context_line":"#"},{"line_number":141,"context_line":"# We can\u0027t use Bazel\u0027s \"pkg_tar\" rule because it insists on adding a \"./\" prefix to the"},{"line_number":142,"context_line":"# file name inside the archive, which is not compatible with GCP\u0027s importer."},{"line_number":143,"context_line":"genrule("},{"line_number":144,"context_line":"    name \u003d \"image_targz\","}],"source_content_type":"text/x-python","patch_set":2,"id":"6e09467c_1b053da4","line":141,"range":{"start_line":141,"start_character":15,"end_line":141,"end_character":32},"updated":"2021-12-07 11:27:18.000000000","message":"Are you sure pkg_files with the `rename` option doesn\u0027t do the job?","commit_id":"457e5094f298697093873146a646cc0b55295b5d"},{"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":"eaaab408048115163ccecbe78b70ee651485c4e7","unresolved":false,"context_lines":[{"line_number":138,"context_line":"# Create a tar.gz of the image, suitable for importing to GCP as a custom image."},{"line_number":139,"context_line":"# (see https://cloud.google.com/compute/docs/import/import-existing-image#create_image_file)"},{"line_number":140,"context_line":"#"},{"line_number":141,"context_line":"# We can\u0027t use Bazel\u0027s \"pkg_tar\" rule because it insists on adding a \"./\" prefix to the"},{"line_number":142,"context_line":"# file name inside the archive, which is not compatible with GCP\u0027s importer."},{"line_number":143,"context_line":"genrule("},{"line_number":144,"context_line":"    name \u003d \"image_targz\","}],"source_content_type":"text/x-python","patch_set":2,"id":"055cb69a_977cfb2b","line":141,"range":{"start_line":141,"start_character":15,"end_line":141,"end_character":32},"in_reply_to":"6e09467c_1b053da4","updated":"2021-12-08 19:19:09.000000000","message":"Good point - I tried that:\n\n  pkg_files(\n      name \u003d \"image_pkg\",\n      srcs \u003d [\n          \":image\",\n      ],\n      renames \u003d {\":image\": \"image.raw.meow\"},\n  )\n\n...but it\u0027s still the same:\n\n  ./image.raw.meow\n\nThis appears to be a known bug, so I think we\u0027ll be stuck with the genrule (or a custom rule): https://github.com/bazelbuild/rules_pkg/issues/50\n\nIt also took ~60s to build the tar.gz, which is odd - perhaps our image is particularly pathological?","commit_id":"457e5094f298697093873146a646cc0b55295b5d"},{"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":"809817c528121d76bd2415df5bd0a5b68b5a565c","unresolved":true,"context_lines":[{"line_number":141,"context_line":"# We can\u0027t use Bazel\u0027s \"pkg_tar\" rule because it insists on adding a \"./\" prefix to the"},{"line_number":142,"context_line":"# file name inside the archive, which is not compatible with GCP\u0027s importer."},{"line_number":143,"context_line":"genrule("},{"line_number":144,"context_line":"    name \u003d \"image_targz\","},{"line_number":145,"context_line":"    srcs \u003d ["},{"line_number":146,"context_line":"        \":image\","},{"line_number":147,"context_line":"    ],"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba44d8c2_e4a2b6f6","line":144,"range":{"start_line":144,"start_character":12,"end_line":144,"end_character":23},"updated":"2021-12-07 13:37:00.000000000","message":"If this is GCP-specific, then this should be image_gcp, IMO.\n\nOtherwise LGTM, not a fan of genrules but it\u0027s good enough.","commit_id":"457e5094f298697093873146a646cc0b55295b5d"},{"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":"21950972c226e8c49a9ef3ebe5cae5cec2e1e58f","unresolved":false,"context_lines":[{"line_number":141,"context_line":"# We can\u0027t use Bazel\u0027s \"pkg_tar\" rule because it insists on adding a \"./\" prefix to the"},{"line_number":142,"context_line":"# file name inside the archive, which is not compatible with GCP\u0027s importer."},{"line_number":143,"context_line":"genrule("},{"line_number":144,"context_line":"    name \u003d \"image_targz\","},{"line_number":145,"context_line":"    srcs \u003d ["},{"line_number":146,"context_line":"        \":image\","},{"line_number":147,"context_line":"    ],"}],"source_content_type":"text/x-python","patch_set":2,"id":"58b10fc8_f612ea98","line":144,"range":{"start_line":144,"start_character":12,"end_line":144,"end_character":23},"in_reply_to":"739a5f2f_43119030","updated":"2021-12-08 19:01:28.000000000","message":"Very good points, I am convinced","commit_id":"457e5094f298697093873146a646cc0b55295b5d"},{"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":"198507b6787bf6fb9a6729190d45fd1f50f75b3b","unresolved":true,"context_lines":[{"line_number":141,"context_line":"# We can\u0027t use Bazel\u0027s \"pkg_tar\" rule because it insists on adding a \"./\" prefix to the"},{"line_number":142,"context_line":"# file name inside the archive, which is not compatible with GCP\u0027s importer."},{"line_number":143,"context_line":"genrule("},{"line_number":144,"context_line":"    name \u003d \"image_targz\","},{"line_number":145,"context_line":"    srcs \u003d ["},{"line_number":146,"context_line":"        \":image\","},{"line_number":147,"context_line":"    ],"}],"source_content_type":"text/x-python","patch_set":2,"id":"e525fd4c_9ccc8cc2","line":144,"range":{"start_line":144,"start_character":12,"end_line":144,"end_character":23},"in_reply_to":"ba44d8c2_e4a2b6f6","updated":"2021-12-07 13:38:24.000000000","message":"I was wondering about that - it does have specific assumptions about GCP, but it\u0027s also just a .tar.gz that happens to work on GCP. A non-GCP specific one wouldn\u0027t necessarily be different.\n\nWdyt?","commit_id":"457e5094f298697093873146a646cc0b55295b5d"},{"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":"e65d38532c8e15a3b58bb7527adac42b6dd8af0c","unresolved":true,"context_lines":[{"line_number":141,"context_line":"# We can\u0027t use Bazel\u0027s \"pkg_tar\" rule because it insists on adding a \"./\" prefix to the"},{"line_number":142,"context_line":"# file name inside the archive, which is not compatible with GCP\u0027s importer."},{"line_number":143,"context_line":"genrule("},{"line_number":144,"context_line":"    name \u003d \"image_targz\","},{"line_number":145,"context_line":"    srcs \u003d ["},{"line_number":146,"context_line":"        \":image\","},{"line_number":147,"context_line":"    ],"}],"source_content_type":"text/x-python","patch_set":2,"id":"739a5f2f_43119030","line":144,"range":{"start_line":144,"start_character":12,"end_line":144,"end_character":23},"in_reply_to":"e525fd4c_9ccc8cc2","updated":"2021-12-07 14:24:23.000000000","message":"Yeah, but the fact that it\u0027s a .tar.gz isn\u0027t because it\u0027s a particularly useful way to redistribute the node image, it\u0027s because GCP requires that. It\u0027s also very unlikely we will be redistributing the node image file that this depends on as is, instead redistributing its components in a bundle that will be consumed by tooling like the installer chain (as that will contain signatures necessary to perform custody verification).\n\nWe are also not free to change the format within the .tar.gz in any way (and in fact we might have to follow any changes that GCP introduces or that we realize are further necessary), so we really shouldn\u0027t also treat this as a generic image that we should depend on for any purposes other than GCP compatibility.\n\nNow that I think about it, we should in fact consider if generating this image shouldn\u0027t be done by `metroctl` based on a bundle, as we almost definitely want to let users bake in some per-deployment stuff into the image (like cluster policy or other cluster parameters), even if node parameters come from GCP metadata. Then, this genrule could instead fork out to metroctl to generate a \u0027generic\u0027 GCP image with nothing baked in, so that we can publish this in CI for simplicity.","commit_id":"457e5094f298697093873146a646cc0b55295b5d"}]}
