Akshay Mankar da22302f20 Add render functions to render to JSON | 5 år sedan | |
---|---|---|
defaults | 5 år sedan | |
examples | 5 år sedan | |
helpers | 5 år sedan | |
lib | 5 år sedan | |
render | 5 år sedan | |
resource-types | 5 år sedan | |
resources | 5 år sedan | |
schemas | 5 år sedan | |
types | 5 år sedan | |
utils | 5 år sedan | |
README.md | 5 år sedan | |
package.dhall | 5 år sedan |
Note: A lot of this README is inspired (some of it copied) from the dhall-kubernetes README, so thanks to the authors!
Dhall Concourse provides Dhall bindings for Concourse, so you can generate concourse pipelines from Dhall expressions. This will let you easily typecheck, template and modularize your Concourse pipelines.
There are a lot of issues one could face while building any non-trivial pipeline. Few them could be:
Most common way to deal with these have been to use a templating language like erb, but it gets very messy very fast. We can do a lot better.
Dhall solves all of this, being a programming language with builtin templating, all while being non-Turing complete, strongly typed and strongly normalizing (i.e.: reduces everything to a normal form, no matter how much abstraction you build), so saving you from the "oh-noes-I-made-my-config-in-code-and-now-its-too-abstract" nightmare.
For a Dhall Tutorial, see the readme of the project, or the full tutorial.
You need a patched version of dhall for this which supports the type JSON
and function toJSON : forall(a : Type) -> a -> JSON
. It is implemented at https://github.com/akshaymankar/dhall-recursive-json. It can be installed using instructions in the README.
There are a few examples in the examples directory.