欢迎KCL加入渠成开源社区!
- 2024-01-23 13:25:00
- 晓彤 原创
- 1004
项目作者
昵称:徐鹏飞
项目介绍
KCL 是一个开源的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。
场景
您可以将 KCL 用于
- 生成静态配置数据如 JSON, YAML 等,或者与已有的数据进行集成
- 使用 Schema 对配置数据进行抽象建模并减少配置数据中的样板文件
- 为配置数据定义带有规则约束的 Schema 并对数据进行自动验证
- 通过梯度自动化方案和 GitOps无副作用地组织、简化、统一和管理庞大的配置
- 通过分块编写配置数据可扩展地管理庞大的配置
- 通过与云原生配置工具集成直接编辑或校验存量 Kubernetes 资源
- 与 KusionStack 一起,用作平台工程语言来交付现代应用程序
特性
- 简单易用:源于 Python、Golang 等高级语言,采纳函数式编程语言特性,低副作用
- 设计良好:独立的规范驱动的语法、语义、运行时和系统库设计
- 快速建模:开箱即用的模型库和以 Schema 为中心的配置类型及模块化抽象
- 功能完备:基于 Config、Schema、Lambda、Rule 的配置及其模型、逻辑和策略编写
- 可靠稳定:依赖静态类型系统、约束和自定义规则的配置稳定性
- 强可扩展:通过独立配置块自动合并机制保证配置编写的高可扩展性
- 易自动化:CRUD APIs,多语言 SDK,语言插件 构成的梯度自动化方案
- 极致性能:使用 Rust & C,LLVM 实现,支持编译到本地代码和 WASM 的高性能编译时和运行时
- API 亲和:原生支持 OpenAPI、 Kubernetes CRD, Kubernetes Resource Model (KRM) 等 API 生态规范
- 开发友好:语言工具 (Format,Lint,Test,Vet,Doc 等)、包管理工具和 IDE 插件 构建良好的研发体验
- 安全可控:面向领域,不原生提供线程、IO 等系统级功能,低噪音,低安全风险,易维护,易治理
- 多语言 SDK:Go,Python 和 Java SDK 满足不同场景和应用使用需求
- 生态集成:通过 Kubectl KCL 插件、Kustomize KCL 插件、Helm KCL 插件 或者 KPT KCL SDK 直接编辑或校验资源
- 生产可用:广泛应用在蚂蚁集团平台工程及自动化的生产环境实践中
关于渠成开源社区
渠成开源社区是专注于帮助开发者实现商业化的社区,依托主体为青岛渠成开源计算机网络技术研究中心,是非营利、中立且公益的社会组织。
渠成开源社区主要面向一线开源软件生产者、贡献者、组织者、赞助商和用户,以解决具体实际问题为宗旨,旨在帮助中国开源项目实现商业化。
文章分类
联系我们