Skip to content

Latest commit

 

History

History
87 lines (61 loc) · 6.28 KB

README-zh.md

File metadata and controls

87 lines (61 loc) · 6.28 KB

KCL: 基于约束的记录及函数语言

English | 简体中文

介绍 | 特性 | 场景 | 安装 | 文档 | 贡献 | 路线规划

介绍

KCL 是一个开源的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。

场景

您可以将 KCL 用于

特性

  • 简单易用:源于 Python、Golang 等高级语言,采纳函数式编程语言特性,低副作用

  • 设计良好:独立的规范驱动的语法、语义、运行时和系统库设计

  • 快速建模开箱即用的模型库和以 Schema 为中心的配置类型及模块化抽象

  • 功能完备:基于 ConfigSchemaLambdaRule 的配置及其模型、逻辑和策略编写

  • 可靠稳定:依赖静态类型系统约束自定义规则的配置稳定性

  • 强可扩展:通过独立配置块自动合并机制保证配置编写的高可扩展性

  • 易自动化CRUD APIs多语言 SDK语言插件 构成的梯度自动化方案

  • 极致性能:使用 Rust & C,LLVM 实现,支持编译到本地代码和 WASM 的高性能编译时和运行时

  • API 亲和:原生支持 OpenAPI、 Kubernetes CRD, Kubernetes Resource Model (KRM) 等 API 生态规范

  • 开发友好语言工具 (Format,Lint,Test,Vet,Doc, 包管理工具等) 和 IDE 插件 构建良好的研发体验

  • 安全可控:面向领域,不原生提供线程、IO 等系统级功能,低噪音,低安全风险,易维护,易治理

  • 多语言 SDK:Rust, Go, Python, .NET, Java 和 Node.js 等 SDK 满足不同场景和应用使用需求

  • 生态集成:通过 Kubectl KCL 插件Kustomize KCL 插件Helm KCL 插件KPT KCL SDK 或者 Crossplane KCL 函数 直接编辑、校验或者抽象资源

  • 生产可用:广泛应用在蚂蚁集团平台工程及自动化的生产环境实践中

如何选择

详细的功能和场景对比参考这里

安装

有关安装的更多信息,请查看 KCL 官网的安装指南

文档

更多文档请访问KCL 网站

贡献

参考开发手册。您也可以直接在 GitHub Codespaces 中打开该项目开始贡献。

用 GitHub Codespaces 打开

路线规划

参考KCL 路线规划

社区

欢迎访问 社区 加入我们。

License

FOSSA Status