The KCL Programming Language
💻Website | 👩💻Quick Start | 👀Blog | 📦Modules | 🔧SDKs | 🔌Plugins | 💻IDE Extensions | 🎮Playground |☸️KRM KCL Spec
KCL is a constraint-based record & functional language mainly used in cloud-native configuration and policy scenarios. It is hosted by theCloud Native Computing Foundation (CNCF) as a Sandbox Project.
KCL aims to provide the following capabilities:
- Hide infrastructure and platform details by defining more appropriateAPI abstractions to reduce the burden of developers.
- Mutate andvalidate existing config files or manifests through numerous community modules.
- Manage large-scale configuration data across teams without side effects through configuration and policy language for GitOps.
Specifically, KCL can
- Improve the ability tosemantically validate configurations at the code level, such as schema definitions, required/optional attribute requirements, types, range constraints, and etc.
- Provide capabilities forwriting, combining, and abstracting configuration chunks, such as structure definitions, structure inheritance, constraint definitions, and configuration policy merging.
- Enhance configuration flexibility by adoptingmodern programming language features, such as conditional statements, loops, functions, and package management, to improve configuration reusability.
- Providecomprehensive toolchain support, including rich IDE extensions and toolchains support to reduce the learning curve and enhance the user experience.
- Enable easier sharing, propagation, and delivery of configurations between different teams/roles throughpackage management tools andOCI registries.
- Offer ahigh-performance compiler to meet the demands of scalable configuration scenarios, such as rendering performance for generating configurations for different environments and topologies based on a baseline configuration and configuration automation modification performance requirements.
- Improveautomation integration capabilities throughmulti-language SDKs,KCL language plugins, and other means, significantly reducing the learning curve while leveraging the value of configuration and policy writing with KCL.
- Used as aplatform engineering language to deliver modern apps withKusionStack.
See theKCL website for more information.
See thecommunity for ways to join us.
PinnedLoading
Repositories
Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/flux-kcl-controller’s past year of commit activity - modules Public
KCL Community Modules. View on Artifact Hub:https://artifacthub.io/packages/search?org=kcl&sort=relevance&page=1
Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/modules’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/kcl-plugin’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/helm-kcl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/kcl-go’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/kcl-lang.io’s past year of commit activity - krm-kcl Public
Kubernetes Resource Model KCL Specification and Integrations including Kubectl, Kustomize, Helm, Helmfile, Crossplane, KPT, etc.
Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/krm-kcl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
kcl-lang/kpt-kcl’s past year of commit activity