1 个不稳定版本

0.1.0 2024年5月17日

#170科学 类别

自定义许可

1MB
16K SLoC

Flyteidl

这是 Flyte 的核心仓库之一。它包含使用 protobuf 消息的 Flyte 语言规范、gRPC 和 Swagger REST 的后端 API 规范。仓库包含多种语言生成的客户端和协议消息结构。除了生成的代码,该仓库还包含 Flyte 后端 API 的 Go 客户端(在 FlyteAdmin 下组织的服务)。

Slack

为 Flyteidl 贡献

Flyteidl 工具集

  1. 运行 make download_tooling 以安装生成器依赖项。
   make download_tooling
  1. 确保本地已安装 Docker。
  2. 运行 make generate 以生成 FlyteAdmin 服务的所有代码、模拟客户端和文档。
    make generate
  1. 要为文档生成添加新依赖项,修改 doc-requirements.in 并运行
   make doc-requirements.txt

文档结构

docs 文件夹下,protos 的索引.rst 文件平行排列。所有的 proto 定义都在 protos/flyteidl,其相应的文档在 protos/docs

docs
├── admin
│   ├── admin.rst
│   └── index.rst
├── core
│   ├── core.rst
│   └── index.rst
├── datacatalog
│   ├── datacatalog.rst
│   └── index.rst
├── event
│   ├── event.rst
│   └── index.rst
├── plugins
│   ├── index.rst
│   └── plugins.rst
├── service
│   ├── index.rst
│   └── service.rst

每个在 protos 中的模块在 docs 中都有一个同名的模块。例如:protos/flyteidl/coredocs 文件夹下有一个名为 protos/docs/core 的模块,该模块包含相应的索引和文档文件。

生成文档

  • 如果需要引入新的模块,请参考 generate_protos.sh 文件中核心文件的结构,该文件有助于从其 proto 文件生成核心文档。
     core_proto_files=`ls protos/flyteidl/core/*.proto |xargs`
     # Remove any currently generated file
     ls -d protos/docs/core/* | grep -v index.rst | xargs rm
     protoc --doc_out=protos/docs/core --doc_opt=restructuredtext,core.rst -I=protos `echo $core_proto_files`
  • make generate 生成修改后的 rst 文件。

  • make html 从使用修改后的 rst 文件的 docs 文件夹生成 Sphinx 文档。

依赖关系

~4-6MB
~100K SLoC