The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 11 configuration-language Open-Source Projects
-
-
Project mention: 7 Programming Languages Every Cloud Engineer Should Know in 2024! | dev.to | 2024-03-05
Terraform HCL (HashiCorp Configuration Language) is an essential language for cloud engineers in 2024, particularly for those involved in infrastructure as code (IaC) practices. HCL is the configuration language used by Terraform, a widely adopted tool that enables engineers to define, provision, and manage cloud infrastructure using a declarative configuration approach. Learning Terraform HCL allows cloud engineers to automate the deployment and lifecycle management of cloud resources across various service providers, ensuring consistency, repeatability, and scalability of cloud environments.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Kubernetes config is a decent example. I had ChatGPT generate a representative silly example -- the content doesn't matter so much as the structure:
https://gist.github.com/cstrahan/528b00cd5c3a22e3d8f057bb1a7...
Now consider 100s (if not 1000s) of such files.
I haven't given Pkl an in depth look yet, but I can say that the Industry Standard™ of "simple YAML" + string substitution (with delicate, error prone indentation -- since YAML is indentation sensitive) is easily beat by any of:
- https://nixos.org/manual/nix/stable/language/index.html
- (insert many more here, probably including Pkl)
-
So, its key features are:
1. domain-specific: designed for conveniently creating and composing derivations. This reason alone already justifies a new language, or an embedded domain-specific language (such as the Guile/Scheme for guix), or a mix of both (Starlark, the build language of Bazel embedded in a restricted Python-variant).
2. purely functional: this ties well into the philosophical backing of Nix the package manager, which aims to be purely functional, also known as hermeticity in other build systems (Bazel).
3. lazily evaluated: similar to other build systems (including Bazel), so that you can build only what you need on demand.
4. dynamically typed: this one is controversial. Being dynamically typed—in other words, not developing a type system—gets Nix out of the door first. But users often complain about the lack of proper types and modularity. There are experiments to address this, such as Nickel (https://github.com/tweag/nickel).
It is understandable that a one-pager may not have space for the whys.
-
KCL: A declarative configuration and policy programming language implemented by Rust, which improves the writing of a large number of complex configurations through mature programming language technology and practice, and is committed to building better modularity, scalability and stability around configuration, simpler logic writing, fast automation and good ecological extensionally.
-
-
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
-
-
configuration-language related posts
- Expr 1.16.5
- Nix – A One Pager
- RCL: A Reasonable Configuration Language
- Pkl, a Programming Language for Configuration
- TySON: TypeScript Object Notation
- Expr 1.16
- TySON (TypeScript Object Notation)
-
A note from our sponsor - WorkOS
workos.com | 18 Apr 2024
Index
What are some of the best open-source configuration-language projects? This list will help you:
Project | Stars | |
---|---|---|
1 | expr | 5,507 |
2 | hcl | 5,046 |
3 | dhall-lang | 4,129 |
4 | nickel | 2,113 |
5 | kcl | 1,232 |
6 | dhall | 898 |
7 | tyson | 529 |
8 | rcl | 119 |
9 | otpcl | 36 |
10 | serde-gura | 16 |
11 | config | 12 |