https://github.com/marcel2603/dhalldockercompose
dhall-docker-compose contains Dhall bindings to docker-compose. WIth the help of this lib, you can create a complete docker-compose with dhall.
https://github.com/marcel2603/dhalldockercompose
dhall docker-compose
Last synced: about 1 year ago
JSON representation
dhall-docker-compose contains Dhall bindings to docker-compose. WIth the help of this lib, you can create a complete docker-compose with dhall.
- Host: GitHub
- URL: https://github.com/marcel2603/dhalldockercompose
- Owner: Marcel2603
- License: mit
- Created: 2021-10-03T07:48:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-05-04T09:39:49.000Z (about 4 years ago)
- Last Synced: 2025-02-18T19:59:09.463Z (over 1 year ago)
- Topics: dhall, docker-compose
- Language: Dhall
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Dhall-docker-compose
> `dhall-docker-compose` contains Dhall bindings to docker-compose. WIth the help of this lib, you can create a complete docker-compose with dhall.
# Why?
Once you build a slightly big docker-compose setup, with many lines of code, you'll encounter several issues:
1. Writing the definitions in YAML is really verbose, and the actually important things don't stand out that much
2. I need to scroll waaaay to much, to get the relevant infos
3. In general, I'd really love to reuse parts of some definitions in other definitions
4. Oh no, I typoed a key and I had to wait until I startet the compose to get an error back :(
Even though these issues are valid arguments, I just wanted to learn dhall ;)
# Prerequisites
We need 3 Tools to use this lib:
* dhall and dhall-to-yaml: Generate the compose file
* docker-compose: To execute the compose file
* docker: Solution to every problem :)
# Usage
To use this lib, you simple need to declare the root `package.dhall`
```haskell
let package = https://raw.githubusercontent.com/Marcel2603/DhallDockerCompose/master/package.dhall
```
For some inspiration, please visit the example under `example/create_docker_compose.dhall`