Drop docs/grpc/docs.md (#7453)

This commit is contained in:
xzfc
2025-10-27 11:23:26 +00:00
committed by timvisee
parent 1d42b091b5
commit c90d138902
6 changed files with 5 additions and 5878 deletions

View File

@@ -308,13 +308,12 @@ Qdrant uses [tonic](https://github.com/hyperium/tonic) to serve gRPC traffic.
Our protocol buffers are defined in `lib/api/src/grpc/proto/*.proto`
1. define request and response types using protocol buffers (use [oneOf](https://developers.google.com/protocol-buffers/docs/proto3#oneof) for enums payloads)
1. define request and response types using protocol buffers (use [oneof](https://developers.google.com/protocol-buffers/docs/proto3#oneof) for enums payloads)
2. specify RPC methods inside the service definition using protocol buffers
3. `cargo build` will generate the struct definitions and a service trait
3. `cargo build` or `cargo build -p api` will generate the struct definitions and a service trait
4. implement the service trait in Rust
5. start server `cargo run --bin qdrant`
6. run integration test `./tests/basic_grpc_test.sh`
7. generate docs `./tools/generate_grpc_docs.sh`
Here is a good [tonic tutorial](https://github.com/hyperium/tonic/blob/master/examples/routeguide-tutorial.md#defining-the-service) for reference.

File diff suppressed because it is too large Load Diff

View File

@@ -16,18 +16,13 @@ cd "$(dirname "$0")/../"
# Keep current version of file to check
cp ./lib/api/src/grpc/{,.diff.}qdrant.rs
cp ./docs/grpc/{,.diff.}docs.md
# Regenerate gRPC files
touch ./lib/api/src/grpc/proto/.build-trigger.proto
cargo build --package api
# Regenerate gRPC docs
./tools/generate_grpc_docs.sh
# Ensure generated files are the same as files in this repository
if diff -Zwa ./lib/api/src/grpc/{,.diff.}qdrant.rs \
&& diff -Zwa ./docs/grpc/{,.diff.}docs.md
if diff -Zwa ./lib/api/src/grpc/{,.diff.}qdrant.rs
then
set +x
echo "No diff found."
@@ -39,4 +34,4 @@ else
fi
# Cleanup
rm -f ./lib/api/src/grpc/{.diff.qdrant.rs,proto/.build-trigger.proto} ./docs/grpc/.diff.docs.md
rm -f ./lib/api/src/grpc/{.diff.qdrant.rs,proto/.build-trigger.proto}

View File

@@ -1,19 +0,0 @@
FROM pseudomuto/protoc-gen-doc:latest
WORKDIR /protos
ADD lib/api/src/grpc/proto/ .
RUN rm collections_internal_service.proto \
points_internal_service.proto \
shard_snapshots_service.proto \
raft_service.proto
RUN grep -v 'collections_internal_service.proto' qdrant.proto \
| grep -v 'points_internal_service.proto' \
| grep -v 'shard_snapshots_service.proto' \
| grep -v 'raft_service.proto' \
> qdrant.proto.tmp \
&& mv qdrant.proto.tmp qdrant.proto
ENTRYPOINT ["protoc", "--doc_out=/out", "--doc_opt=markdown,docs.md", "qdrant.proto"]

View File

@@ -1,9 +0,0 @@
#! /bin/bash
set -euo pipefail
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
project_dir="$script_dir/.."
docker build -f "$script_dir/generate_grpc_docs.dockerfile" -t grpc-doc-gen "$project_dir"
docker run --rm -v "$project_dir/docs/grpc":/out grpc-doc-gen

View File

@@ -1,32 +0,0 @@
#!/usr/bin/env bash
set -e
# Ensure current path is project root
cd "$(dirname "$0")/../"
# Create a temporary directory and store its name in a variable.
TEMPD=$(mktemp -d -t qdrant_docs.XXXXXXXXXX)
trap 'rm -rf -- "$TEMPD"' EXIT
cp -r "$PWD"/lib/api/src/grpc/proto/* "$TEMPD"
# Do not generate docs for internal services
rm "$TEMPD/collections_internal_service.proto"
rm "$TEMPD/points_internal_service.proto"
rm "$TEMPD/shard_snapshots_service.proto"
rm "$TEMPD/raft_service.proto"
cat "$TEMPD/qdrant.proto" \
| grep -v 'collections_internal_service.proto' \
| grep -v 'points_internal_service.proto' \
| grep -v 'shard_snapshots_service.proto' \
| grep -v 'raft_service.proto'\
> "$TEMPD/qdrant.proto.tmp"
mv "$TEMPD/qdrant.proto.tmp" "$TEMPD/qdrant.proto"
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$PWD/docs/grpc":/out \
-v "$TEMPD":/protos \
pseudomuto/protoc-gen-doc --doc_opt=markdown,docs.md