CINC Client 19.4.46 介绍与选型指南

CINC(Cinc Is Not Chef)介绍与选型:Chef 开源组件的社区自由发行版,Client/Workstation/Server/Auditor 四产品线定位、Apache-2.0 无 EULA 许可优势、与 Chef 商业版/Ansible/Puppet/SaltStack 量化对比,官方源 2026-10-27 实查

CINCCINCChef配置管理基础设施即代码DevOps2026/10/27

CINC 19 介绍与选型指南

目标:帮助运维与平台工程师快速认识 CINC——Chef 开源组件的社区自由发行版,弄清它与 Chef 商业分发的许可差异、四大产品线的分工,并与 Chef 商业版、Ansible、Puppet、SaltStack 做出有依据的选型决策。文中版本号、许可与社区数据均实查自 cinc.sh 官网、omnitruck.cinc.sh 安装服务、GitLab cinc-project 与上游 github.com/chef/chef 仓库(查询日期:2026-10-27)。

一、环境信息

  • 产品线与最新稳定版(omnitruck.cinc.sh stable 通道实查,2026-10-27):Cinc Client 19.4.46、Cinc Workstation 26.3.0、Cinc Server 15.10.127、Cinc Auditor 7.3.4
  • 技术栈:Ruby(Cinc Workstation 26.3.0 内嵌 Ruby 3.4.11)
  • 支持平台:Linux(本文实测 Ubuntu 22.04 x86_64)、macOS、Windows
  • 开源许可:Apache-2.0,无最终用户许可协议(EULA)
  • 主仓库:GitLab cinc-project(如 distribution/client 仓:27 stars / 18 forks,最后活动 2026-10-22);GitHub 同名组织仅作镜像
  • 社区渠道:Chef Community Slack 的 #community-distros 频道
  • 托管方:美国俄勒冈州立大学开源实验室(OSUOSL)

二、软件概述

CINC 是递归缩写 "Cinc Is Not Chef"。2019 年 Chef 公司(现属 Progress)调整分发策略:官方构建的安装包要求接受 Chef EULA、且受 Chef 商标约束;与此同时上游源码仍是 Apache-2.0。CINC 项目由此诞生——从上游开源代码构建出一套「去商标、无 EULA」的社区自由发行版,功能与上游保持一致,并与 Progress 保持协调、遵守 Chef 商标政策(这也是整套产品改名 Cinc 的原因)。

一句话概括:CINC = 上游 Chef 开源组件(Infra Client / Workstation / Infra Server / InSpec)的 Apache-2.0 自由再发行,每条产品线一一对应:

CINC 产品对应上游组件角色最新稳定版(2026-10-27 实查)
Cinc ClientChef Infra Client节点代理,执行配置收敛19.4.46
Cinc WorkstationChef Workstation开发/管理工作站工具集26.3.0
Cinc ServerChef Infra Server策略与节点管理服务端15.10.127
Cinc AuditorChef InSpec合规审计框架7.3.4

CINC 官方公布的「最后一个无 EULA 的上游版本」基线(即 CINC 接续构建的起点)为:Client(Linux)15.6.10、Workstation 22.1.745、Auditor(InSpec)4.17.7、Server 14.14.1;基线之后的版本均由 CINC 从源码继续构建。因此在上游 Chef Infra Client 发布 v19.4.46(2026-10-14,github.com/chef/chef Releases)后,Cinc Client 19.4.46 随之跟进——本文标题中的「19」即指 Cinc Client 的 19.x 主线。

⚠️ 注意:CINC 与 Chef 的关系是「同一开源代码的两种分发」,不是功能分叉的竞品。选 CINC 的核心动因是许可与商标自由,而不是功能差异。

三、核心架构

CINC 的运行模型与上游 Chef 完全一致,由四个产品线组合出三种典型形态:

3.1 Cinc Client:节点代理

安装在被管节点上,核心是 cinc-client 命令:每次运行先由 Ohai 采集节点事实(操作系统、CPU、内存、网络等),再按 Run List 加载 Cookbook/Recipe,把系统收敛到声明状态。配置根目录为 /etc/cinc(与上游的 /etc/chef 隔离,二者可并存于同一台机器)。

3.2 Cinc Workstation:开发与管理工作站工具集

面向工程师日常编写、测试、下发 Cookbook 的工作站包。26.3.0 实装清点包含:knife 19.3.3(服务端管理 CLI)、cinc-cli 6.1.40(生成 Cookbook 等脚手架)、Cinc Auditor 7.0.107、Test Kitchen 4.1.4(多平台测试)、Biome 2.0.107(Habitat 打包工具的自由发行)、Cookstyle(代码检查)、Berkshelf(依赖管理)、Fauxhai(Ohai 数据模拟)、cinc-zero(零服务端),内嵌 Ruby 3.4.11,不依赖系统 Ruby。

3.3 Cinc Server:策略与节点管理服务端

集中保存 Cookbook、节点状态与搜索索引,对应 Chef Infra Server。需要如实提示的选型风险:上游 Chef Infra Server 官方宣布 2026 年底停止维护(EOL),Cinc Server 正从「再发行」转为独立 fork 维护(CINC 官网公告,2026-10-27 实查)。新建平台建议优先评估 cinc-zero 本地模式或观望 fork 进展。

3.4 Cinc Auditor:合规审计框架

对应 Chef InSpec,用代码描述安全基线(如「SSH 应禁用 root 登录」)并对节点执行扫描。上游 InSpec 的商用分发同样受 EULA 约束,Cinc Auditor 是其自由替代。

3.5 三种运行形态

  • 本地单机:cinc-apply 直接执行单个 Recipe、cinc-solo 执行本地 Cookbook 集,零服务端依赖,适合单机固化与入门;
  • 零服务端:cinc-zero 在内存里起一个临时的 Chef Server 兼容端点,配合 knife 获得「准服务端」体验,适合小团队与过渡场景;
  • Client/Server:Cinc Server(或兼容服务端)+ 各节点 cinc-client 周期收敛 + 工作站 knife 管理,适合需要持续收敛与节点清单的规模环境。

💡 技术拓展:配置管理工具在「代理形态」上分为两大流派——

形态代表特点取舍
Agentless(无代理)Ansible、DebOps被管端零安装,SSH+Python 推送中小规模、合规要求少装软件的环境
Agent(有代理)Puppet、Chef/CINC、Salt被管端常驻代理,周期性拉取收敛大规模、需要持续收敛与状态上报的环境

CINC 主体属 Agent 流派(cinc-client 常驻或定时触发),同时保留 cinc-solo/cinc-zero 两种无服务端形态,比纯 agent 方案多一条轻量路径。

四、功能特性

  • 功能等价的自由再发行:与上游同版本功能一致,Apache-2.0 全链路,无 EULA、无许可密钥、无商标顾虑,可自由再分发。
  • 上游命令兼容层:deb 包安装时自动把 chef-apply/chef-client/chef-shell/chef-solo/inspec 软链到 cinc-wrapper 做兼容(执行时先打印 "Redirecting to cinc-client"),存量脚本与运维习惯平滑过渡。实测安装回显:
Setting up cinc (19.4.46-1) ...
Symlinking chef-apply command to cinc-wrapper for compatibility...
Symlinking chef-client command to cinc-wrapper for compatibility...
Symlinking chef-shell command to cinc-wrapper for compatibility...
Symlinking chef-solo command to cinc-wrapper for compatibility...
Symlinking inspec command to cinc-wrapper for compatibility...
Thank you for installing Cinc Client, the community build based on Chef Infra Client!
  • 幂等资源模型:package、service、user、file、template 等上百种内置资源声明「期望状态」,重复执行结果一致(本专栏安装篇有首跑 4/5 更新、复跑 0/5 的幂等实测)。
  • Ohai 事实采集:每次收敛前采集节点事实,Recipe 可按 node['platform'] 等属性做条件分支。
  • 合规即代码:Cinc Auditor 把安全基线写成可版本化的代码并随收敛执行,且不受上游 InSpec 商用许可限制。
  • 完整测试工具链:Test Kitchen(多平台临时机测试)、Cookstyle(Ruby lint)、Fauxhai(模拟 Ohai 数据)覆盖 Cookbook 开发全周期。
  • 与上游并存:配置根目录 /etc/cinc、命令前缀 cinc- 与上游完全隔离,便于灰度迁移与双跑验证。

五、快速开始(最小可用示例)

下面用「在线安装 Cinc Client + cinc-solo 跑一个本地 Recipe」给出最小可用闭环,命令均在 Ubuntu 22.04 x86_64 实测通过(2026-10-27):

# 1. 在线安装 Cinc Client 19(omnitruck 官方安装脚本)
curl -L https://omnitruck.cinc.sh/install.sh | sudo bash -s -- -v 19

# 2. 验证安装
cinc-client --version
# Cinc Client, version 19.4.46

# 3. 写一个最小 Recipe
mkdir -p ~/cookbooks/hello/recipes
cat > ~/cookbooks/hello/recipes/default.rb <<'EOF'
file '/tmp/hello-cinc' do
  content 'hello from cinc'
end
EOF

# 4. 用 cinc-solo 在本地收敛(无需服务端)
sudo cinc-solo -o 'recipe[hello]'

第 4 步的实际收敛回显(节选):

Cinc Client, version 19.4.46
Infra Phase starting
Converging 1 resources
Recipe: hello::default
  * file[/tmp/hello-cinc] action create
    - create new file /tmp/hello-cinc
    - update content in file /tmp/hello-cinc from none to ...
Cinc Client Run complete
Infra Phase complete, 1/1 resources updated

完整的在线/离线安装方案、sha256 校验、systemd timer 定时收敛与排障实录见本专栏安装篇;cinc-solo/cinc-apply/ohai/knife 等命令族的逐条实测见本专栏命令篇。

六、适用场景与限制

适用场景:

  • 想用 Chef 生态(Cookbook/Recipe 资源模型、InSpec 合规)但不接受 EULA 与商标限制的团队;
  • 存量 Chef 开源用户的迁移落点:命令兼容层 + 配置目录隔离,迁移成本低;
  • 合规审计需求:Cinc Auditor 免费替代受商用许可约束的 InSpec 分发;
  • 需要「本地模式优先、服务端可选」渐进路线的中小团队(cinc-solo/cinc-zero 起步,规模上来再接 Cinc Server)。

限制与边界(官方明示或实查确认):

  • 社区体量小:主仓 GitLab distribution/client 仅 27 stars / 18 forks(2026-10-27 实查),与 Ansible(71k)等不在一个量级,遇到问题主要靠 Chef Community Slack 的 #community-distros 频道;
  • 无官方 apt/yum 仓库:只提供 omnitruck 安装脚本与裸 deb/rpm 包下载,仓库托管方案官方仍在征集设计中(cinc.sh 公告,2026-10-27 实查);
  • 版本跟随上游有构建延迟:CINC 在上游发版后重新构建发布,hotfix 时效依赖社区构建管线;
  • Cinc Server 前景需观望:上游 Chef Infra Server 2026 年底 EOL,Cinc Server 转为独立 fork 后的维护投入存在不确定性;
  • 无商业支持:没有厂商 SLA,企业采购商业支持需回到 Progress Chef 360 等商业产品。

七、同类选型对比

量化数据实查日期:CINC/Chef 为 2026-10-27(GitLab/GitHub 与 omnitruck),Ansible/Salt/Puppet 星数为 2026-10 内经 shields.io 取自各主仓。

方案许可/分发星数代理形态语言/生态版本节奏
CINC 19Apache-2.0,无 EULA/商标约束27(GitLab client 仓;上游 chef/chef 8.3k)agent(另支持 solo/zero 本地模式)Ruby DSL跟随上游(19.4.46 ↔ Chef Infra Client 19.4.46,2026-10-14)
Chef 商业分发(Progress)源码 Apache-2.0,但官方包需接受 EULA、可能要许可密钥8.3k(github.com/chef/chef)agentRuby DSL上游主线,2026 年持续月更
AnsibleGPL-3.071kagentless(SSH+Python)Python/YAML月度级发布
PuppetApache-2.0(开源版)8kagent 常驻Ruby/Puppet DSL稳定演进
SaltStackApache-2.016kmaster/minion(亦支持 SSH)Python/YAML年度大版本+补丁

关键差异解读:

  • CINC vs Chef 商业分发:同一代码两种许可口径。要自由分发/嵌入产品/规避 EULA 合规流程选 CINC;要厂商支持、Chef 360 平台 UI 与 SLA 选 Progress 商业版。
  • CINC vs Ansible:Ansible 胜在体量与被管端零安装;CINC(Chef 模型)胜在持续收敛(agent 周期性拉回期望状态)与「配置即 Ruby 代码」的表达力,适合有 Ruby 能力或存量 Chef 资产的团队。
  • CINC vs Puppet/SaltStack:同属 agent 流派。Salt 的事件驱动与秒级响应更适合超大规模;Puppet 偏传统存量;CINC 的差异点仍是「Chef 生态 + 无 EULA」这一独特组合。

「如果…则…」选型建议:

  • 已用/想用 Chef 生态,但要绕开 EULA 与商标约束 → 选 CINC;
  • 全平台通用自动化、团队熟悉 Python/YAML、无存量 Chef 资产 → Ansible;
  • 需要 Web UI、审计、多人协作调度 → Ansible + AWX,或评估 Progress Chef 360 商业版;
  • 数千台以上规模、要求事件驱动秒级响应 → SaltStack。

八、参考链接