这个项目能做什么
CFGMS 是一个开源的配置、自动化和基础设施管理平台,旨在服务于托管服务提供商 (MSP) 和 IT 团队。它旨在通过单一控制平面管理大规模、多租户的 Windows、Linux 和 macOS 机器集群。该项目表示,其目标不仅是报告错误,而是将受影响的设备或应用程序与其依赖项及近期变更相关联,识别可能的原因并安全地进行修复。README 指出,这些根因分析和数字员工体验 (DEX) 能力(体验信号、集群基准、预测性洞察、修复)计划在现有基础上构建,尚未完成。
文档记录的功能集涵盖了期望状态配置和策略即代码 (policy-as-code);配置漂移检测与强制执行;工作流和事件驱动的自动化;面向 MSP 及其客户的分层多租户架构;带有实时遥测和历史状态的端点清单;以及用于建模系统及其关系的实体图。该平台列出了与 Microsoft 365、Active Directory、端点和基础设施的集成。
架构围绕三个协作组件构建。Controller 是用于配置、编排、工作流、集群状态、API 和多租户管理的中央控制平面。Steward 是观察并管理 Windows、Linux 或 macOS 端点的代理。Outpost 是一个计划中的本地代理和发现组件,用于无法运行 Steward 的网络和设备。内部控制平面和数据平面通信使用基于 QUIC 的 gRPC 并配合双向 TLS (mTLS),而外部集成则使用 HTTPS 和 REST API。
安全设计假设端点以及偶尔的管理员账户可能会被攻破。内部通信要求双向 TLS,密钥经过加密,可执行模块经过签名,授权具有租户感知能力,且安全相关活动会被审计。漏洞报告通过私下处理而非公开 Issue 提交。
接口包括 cfg 命令行工具和 REST API,由 Controller 提供的 Web UI 被描述为处于早期开发阶段。从源码构建需要 Go 和 Git;执行 make build 将二进制文件放入 bin/ 目录。部署需要使用 --init --config 初始化 Controller CA 和管理员凭据包,Steward 则使用 Controller 颁发的注册令牌加入。文档涵盖了单 Controller 引导流程、支持的架构和其他部署拓扑。
该项目自述处于早期开发阶段:核心架构和不断增加的组件集已实现,但目前不应将其视为成熟的生产产品,接口和部署流程可能会发生变化。发展方向在路线图和项目看板中跟踪。
许可协议为 GNU Affero General Public License v3.0 (AGPL-3.0),因此 MSP 可以在 AGPL 协议下自行托管并将其用于管理客户环境,若要将其嵌入专有产品,则需单独的商业许可。贡献代码需要签署贡献者许可协议 (CLA) 并将贡献者添加到 contributors 文件中。
评论
0 评分人数达到10人后显示
登录后参与讨论。