cognis-digital/crossforge

GitHub: cognis-digital/crossforge

crossforge 是一个零依赖的 Python 组合渲染器,将高层 claim 声明式地展开为满足请求的具体 Kubernetes 资源。

Stars: 0 | Forks: 0

# crossforge **面向平台工程的组合渲染。** 为你的开发人员提供一个简单、高层的 API(即“claim”),并将其*渲染*为满足该请求的具体 Kubernetes 资源 —— 全程声明式,全程使用标准库 Python。 **Cognis Neural Suite** 的一部分。 ## 为什么需要 平台团队越来越多地向开发人员提供简单、自助的 API (“给我一个中等规模的 postgres”),而不是原始的 YAML。crossforge 将这种 模式实现为一个零依赖的渲染器:**definition** 用于声明 claim 的 参数,**composition** 将这些参数映射到资源模板,而 **claim** 就是请求本身。无需安装控制平面,可在 CI 和气隙环境中运行。 ## 三份文档 ``` # definition.yaml — 你暴露的 API spec: claimKind: Database parameters: engine: {enum: [postgres, mysql], required: true} size: {enum: [small, medium, large], default: small} # composition.yaml — 它如何成为现实 spec: transforms: sizeToCpu: {type: map, map: {small: 250m, medium: 500m, large: "2"}} resources: - base: {kind: StatefulSet, spec: {... cpu: ${size | sizeToCpu} ...}} # claim.yaml — 开发者的请求 kind: Database spec: {parameters: {engine: postgres, size: medium}} ``` ## 命令 ``` python -m crossforge render --definition def.yaml --composition comp.yaml --claim claim.yaml python -m crossforge params --definition def.yaml --claim claim.yaml python -m crossforge validate --definition def.yaml --composition comp.yaml python -m crossforge mcp # local MCP server (stdio JSON-RPC) ``` ## crossforge 的独特之处 - **保留类型的替换。** 整个字符串 `${storageGi}` 会保持为 int 类型; 内联的 `name-${x}` 会进行插值 —— 因此渲染出的 manifest 是有效的,而不是 被字符串化的。 - **转换词汇表。** `map`、`default` 和 `format` 涵盖了常见的 参数到资源的映射,无需编写代码。 - **组合检查。** `validate` 会在你发布之前,捕获引用了 未声明参数或未知 transform 的占位符。 - **原生支持 MCP**(`render` / `validate`)以及一个可选的本地集群 AI 钩子 (默认关闭),可根据描述生成 definition + composition 草稿。 ## 测试 ``` python -m pytest -q # or: python -m unittest discover -s tests ``` ## 互操作性 `crossforge` 可与包含 300 多个工具的 Cognis 套件组合使用 —— JSON 输入/输出以及共享的 兼容 OpenAI 的 `/v1` 主干网络。请参阅 **[INTEROP.md](INTEROP.md)** 了解 套件图谱、组合模式和参考技术栈。 ## 集成 通过 [`cognis-connect`](https://github.com/cognis-digital/cognis-connect) 将 `crossforge` 的发现结果转发到 STIX/MISP/Sigma/Splunk/Elastic/Slack/webhooks。请参阅 **[INTEGRATIONS.md](INTEGRATIONS.md)**。 ## 许可证 Cognis Open Collaboration License (COCL) 1.0 —— 请参阅 [`LICENSE`](LICENSE)。 © 2026 Cognis Digital LLC. 原创的 Cognis 作品;不包含任何第三方代码、名称或 品牌标识。 ## 领域 **主要领域:** AI & ML · **JTF MERIDIAN 部门:** ATHENA-PRIME · SAGE **主题:** `cognis` `ai` `llm` `machine-learning` `kubernetes` **Cognis Neural Suite** 的一部分 —— 包含 300 多个开源工具,分布在 JTF MERIDIAN 指挥结构下的 12 个领域中。请参阅 [GitHub 上的套件](https://github.com/cognis-digital) 和 [jtf-meridian](https://github.com/cognis-digital/jtf-meridian) 以了解各个组件是如何组合协同的。 ## 使用说明 —— 逐步指南 `crossforge` 通过 **composition** 将高层的 **claim** 渲染为满足该请求的具体 Kubernetes 资源 —— 仅需三份文档,无需控制平面。 1. **安装**(纯标准库,Python 3.10+): pip install "git+https://github.com/cognis-digital/crossforge.git" 2. **校验**你的 composition 是否与 definition 的参数匹配,然后再进行渲染(如果出现问题会以非零状态退出): crossforge validate --definition def.yaml --composition comp.yaml 3. **检查解析后的参数**(应用了默认值 + 覆盖值): crossforge params --definition def.yaml --claim claim.yaml 4. **渲染** claim 为资源(使用 `--out` 写入),或者使用 `explain` 查看应用于每个资源的参数 + transform: crossforge render --definition def.yaml --composition comp.yaml --claim claim.yaml --out out.yaml crossforge explain --definition def.yaml --composition comp.yaml --claim claim.yaml 5. **自动化** —— 在 CI 中通过一个 composition 渲染多个 claim: crossforge render-all --definition def.yaml --composition comp.yaml --claim a.yaml --claim b.yaml --out rendered.yaml 或者将其作为本地 MCP 服务器运行(stdio JSON-RPC):`crossforge mcp`。
标签:Python, 声明式API, 子域名突变, 平台工程, 无后门, 逆向工具, 配置渲染