WunderGraph Cosmo 开发者指南

WunderGraph Cosmo 开发者指南

cosmo The open-source solution to building, maintaining, and collaborating on GraphQL Federation at Scale. An alternative to Apollo Studio and GraphOS. cosmo 项目地址: https://gitcode.com/gh_mirrors/co/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 编译设置。

正确配置这些文件对于项目的正常运行至关重要。开发者应该仔细阅读和理解这些文件的每一部分,以确保项目能够按照预期工作。

cosmo The open-source solution to building, maintaining, and collaborating on GraphQL Federation at Scale. An alternative to Apollo Studio and GraphOS. cosmo 项目地址: https://gitcode.com/gh_mirrors/co/cosmo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岑魁融Justine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值