treewide: migrate external rules to bzlmod

This is a huge one as it was very annoying to migrate them separately. This migrates rules_go, gazelle, rust_rust, protobuf to bzlmod

Change-Id: If39591d43ed4c2afa2979ee5915e9d1cfa1574a9
Reviewed-on: https://review.monogon.dev/c/monogon/+/3234
Tested-by: Jenkins CI
Reviewed-by: Leopold Schabel <leo@monogon.tech>
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/build/proto_docs/proto_docs.bzl b/build/proto_docs/proto_docs.bzl
index d929649..ecbcdc0 100644
--- a/build/proto_docs/proto_docs.bzl
+++ b/build/proto_docs/proto_docs.bzl
@@ -20,12 +20,12 @@
 
     for src in transitive_sources.to_list():
         # Due to the built-in import path for well-known types (see AddDefaultProtoPaths
-        # in @com_google_protobuf//src/google/protobuf/compiler:command_line_interface.cc)
+        # in @protobuf//src/google/protobuf/compiler:command_line_interface.cc)
         # in protoc the Bazel-generated well-known protos are considered to contain
         #  "duplicate" types.
         # Since generating documentation for well-known types is not that useful just
         # skip them.
-        if src.path.find("/bin/external/com_github_protocolbuffers_protobuf/_virtual_imports/") != -1:
+        if src.path.find("/external/protobuf~/") != -1:
             continue
         args.append(src.path)
 
@@ -51,7 +51,7 @@
             default = [],
         ),
         "_protoc": attr.label(
-            default = Label("@com_google_protobuf//:protoc"),
+            default = Label("@protobuf//:protoc"),
             cfg = "exec",
             executable = True,
             allow_files = True,