build/proto_docs: add proto documentation generator

This adds an HTML documentation generator for our Protobuf files.
It consists of a new Bazel rule `proto_docs` which wraps protoc-gen-doc.
protoc-gen-doc itself and go-proto-validator which it includes need
some light patching because of dumbness in the Go Proto ecosystem that
doesn't exist in our Bazel build.

This just hooks up everything, it does not yet do anything custom like
annotating our own authorization metadata or similar.

Change-Id: If6fd7c777210fea700e49242b5339cfafe7c030d
Reviewed-on: https://review.monogon.dev/c/monogon/+/452
Reviewed-by: Leopold Schabel <leo@nexantic.com>
diff --git a/WORKSPACE b/WORKSPACE
index 8e83327..b27e651 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -53,6 +53,19 @@
 load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
 load("@bazel_gazelle//:deps.bzl", "go_repository")
 
+# Here to override the dep in rules_go with one with our patch
+http_archive(
+    name = "com_github_mwitkow_go_proto_validators",
+    patch_args = ["-p1"],
+    patches = ["//third_party/go/patches:go-proto-validators-default-alias.patch"],
+    sha256 = "d8697f05a2f0eaeb65261b480e1e6035301892d9fc07ed945622f41b12a68142",
+    strip_prefix = "go-proto-validators-0.3.2",
+    urls = [
+        "https://mirror.bazel.build/github.com/mwitkow/go-proto-validators/archive/v0.3.2.zip",
+        "https://github.com/mwitkow/go-proto-validators/archive/v0.3.2.zip",
+    ],
+)
+
 go_rules_dependencies()
 
 go_register_toolchains(