WunderGraph Cosmo 开发者指南
1. 项目目录结构及介绍
WunderGraph Cosmo 是一个用于构建、维护和协作 GraphQL 联邦架构的开源解决方案。以下是项目的目录结构及其功能的简要介绍:
admission-server
: 入学服务器相关代码。adr
: 架构决策记录。aws-lambda-router
: AWS Lambda 路由器相关代码。cdn-server
: CDN 服务器相关代码。cli
: 命令行界面工具。composition-go
: 使用 Go 语言编写的组合逻辑。composition
: 组合逻辑相关代码。connect-go
: 使用 Go 语言编写的连接逻辑。connect
: 连接逻辑相关代码。controlplane
: 控制平面相关代码。data_migrations
: 数据迁移脚本。demo
: 示例代码和配置。docker
: Docker 相关文件。docs
: 文档资料。examples
: 示例项目。graphqlmetrics
: GraphQL 性能指标相关代码。helm
: Helm 图表相关文件。infrastructure
: 基础设施配置。keycloak
: Keycloak 身份验证服务相关代码。otelcollector
: OpenTelemetry 数据收集器相关代码。patches
: 补丁和修改。playground
: GraphQL 播放器界面。proto
: 协议定义文件。rfc
: 请求注释文件。router-tests
: 路由器测试代码。router
: 路由器核心代码。scripts
: 脚本文件。shared
: 共享代码和资源。studio
: Studio 相关代码。.dockerignore
: Docker 忽略文件。.gitignore
: Git 忽略文件。.npmrc
: npm 配置文件。.prettierignore
: Prettier 忽略文件。.prettierrc.json
: Prettier 配置文件。.release-please-manifest.json
: 发布配置文件。.tflint.hcl
: tflint 配置文件。.trivyignore
: Trivy 忽略文件。CONTRIBUTING.md
: 贡献指南。LICENSE
: 开源协议文件。Makefile
: Makefile 文件。README.md
: 项目说明文件。SECURITY.md
: 安全指南。buf.connect-go.go.gen.yaml
: buf 连接生成配置文件。buf.graphqlmetrics.go.gen.yaml
: buf 性能指标生成配置文件。buf.router.go.gen.yaml
: buf 路由器生成配置文件。buf.ts.gen.yaml
: buf TypeScript 生成配置文件。buf.yaml
: buf 配置文件。commitlint.config.js
: 提交信息校验配置文件。demo-admission-server.fly.toml
: 示例入学服务器配置文件。demo-router.fly.toml
: 示例路由器配置文件。docker-compose.cosmo.yml
: Docker Compose 配置文件。docker-compose.full.yml
: Docker Compose 完整配置文件。docker-compose.yml
: Docker Compose 基础配置文件。lerna.json
: Lerna 配置文件。package.json
: npm 包配置文件。pnpm-lock.yaml
: pnpm 锁定文件。pnpm-workspace.yaml
: pnpm 工作区配置文件。release-please-config.json
: 发布配置文件。tsconfig.base.json
: TypeScript 配置文件。vitest.workspace.ts
: Vitest 工作区配置文件。
2. 项目的启动文件介绍
项目的启动主要通过 docker-compose
文件来管理。以下是一些主要的启动文件:
-
docker-compose.cosmo.yml
: 这个文件包含了启动 Cosmo 平台所需的所有服务的配置。它定义了各个服务使用的镜像、环境变量、卷和其他相关配置。 -
docker-compose.full.yml
: 这个文件包含了完整的 Cosmo 平台配置,包括所有可选服务。 -
docker-compose.yml
: 这是一个基础的 Docker Compose 文件,可能只包含最核心的服务。
要启动项目,你可以在项目根目录下运行以下命令:
docker-compose -f docker-compose.cosmo.yml up
3. 项目的配置文件介绍
项目的配置主要通过一系列的 YAML 和 JSON 文件进行。以下是一些主要的配置文件:
-
demo-admission-server.fly.toml
: 这个文件是入学服务器的配置文件,它定义了服务器的行为和设置。 -
demo-router.fly.toml
: 这个文件是路由器的配置文件,它定义了路由器的行为和设置。 -
docker-compose.cosmo.yml
: 这个文件是 Docker Compose 的配置文件,它定义了项目中各个服务的启动和运行参数。 -
tsconfig.base.json
: 这个文件是 TypeScript 的配置文件,它定义了项目的 TypeScript 编译设置。
正确配置这些文件对于项目的正常运行至关重要。开发者应该仔细阅读和理解这些文件的每一部分,以确保项目能够按照预期工作。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考