- Notifications
You must be signed in to change notification settings - Fork144
KCL Programming Language (CNCF Sandbox Project).https://kcl-lang.io
License
kcl-lang/kcl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Introduction |Features |What is it for |Installation |Documentation |Contributing |Roadmap
KCL is an open-source, constraint-based record and functional language that enhances the writing of complex configurations, including those for cloud-native scenarios. With its advanced programming language technology and practices, KCL is dedicated to promoting better modularity, scalability, and stability for configurations. It enables simpler logic writing and offers ease of automation APIs and integration with homegrown systems.
You can use KCL to
- Generate low-level static configuration data such as JSON, YAML, etc., orintegrate with existing data.
- Reduce boilerplate in configuration data with theschema modeling.
- Define schemas withrule constraints for configuration data and validate them automatically.
- Organize, simplify, unify and manage large configurations without side effects throughgradient automation schemes and GitOps.
- Manage large configurations in a scalable way for different environments withisolated configuration blocks.
- Mutating or validating Kubernetes resources withcloud-native configuration tool plugins.
- Used as a platform engineering programming language to deliver modern applications withKusionStack.
- Easy-to-use: Originated from high-level languages such as Python and Golang, incorporating functional language features with low side effects.
- Well-designed: Independent spec-driven syntax, semantics, runtime and system modules design.
- Quick modeling:Out-of-the-box modules andSchema-centric configuration types and modular abstraction.
- Rich capabilities: Configuration with type, logic and policy based onConfig,Schema,Lambda,Rule.
- Stability: Configuration stability is achieved through astatic type system,constraints, andrules.
- Scalability: High scalability is assured with anautomatic merge mechanism of isolated config blocks.
- Fast automation: Gradient automation scheme ofCRUD APIs,multilingual SDKs, andlanguage plugin
- High performance: High compile-time and runtime performance using Rust & C andLLVM, and support compilation to native code andWASM.
- API affinity: Native support for ecological API specifications such asOpenAPI, Kubernetes CRD, Kubernetes Resource Model (KRM) spec.
- Developer-friendly: Friendly development experiences with richlanguage tools (Format, Lint, Test, Vet, Doc, package management tools etc.), and multipleIDE extensions.
- Safety & maintainable: Domain-oriented, no system-level functions such as native threads and IO, low noise and security risk, easy maintenance and governance.
- Rich multi-language SDK: Rust, Go, Python, .NET, Java and Node.js SDKs meet different scenarios and application use prelude.
- Integrations: Abstract, mutate and validate manifests throughKubectl KCL Plugin,Kustomize KCL Plugin,Helm KCL Plugin,KPT KCL SDK orCrossplane KCL Function.
- Production-ready: Widely used in production practices of platform engineering and automation at Ant Group.
A detailed feature and scenario comparison ishere.
For more information about installation, please check theInstallation Guide on the KCL official website.
Detailed documentation is available atKCL Website
There is also a very niceDevin generated document available atdeepwiki.
SeeDeveloping Guide. You can also get started by opening the project in GitHub Codespaces.
SeeKCL Roadmap.
See thecommunity for ways to join us.
About
KCL Programming Language (CNCF Sandbox Project).https://kcl-lang.io
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.