--- /dev/null
+ let Addon = ./addon/Addon.dhall
+
+in λ(Environment : Type)
+ → { clever_app :
+ Text
+ , clever_orga :
+ Text
+ , clever_secret :
+ Text
+ , clever_token :
+ Text
+ , clever_syslog_server :
+ Text
+ , clever_domain :
+ Text
+ , clever_app_tasks_file :
+ Text
+ , clever_entry_point :
+ Text
+ , clever_metrics :
+ Bool
+ , clever_addons :
+ List Addon
+ , clever_env :
+ Environment
+ }
--- /dev/null
+{ organization : Text, secret : Text, token : Text }
--- /dev/null
+< Postgresql : { name : Text, env_prefix : Text } >
--- /dev/null
+ let addon = constructors ./Addon.dhall
+
+in addon.Postgresql { name = "pg", env_prefix = "POSTGRESQL_ADDON" }
--- /dev/null
+{ Postgresql = ./Postgresql.dhall }
--- /dev/null
+{ FORCE_HTTPS : Bool }
--- /dev/null
+{ Addon = ./addon/functions.dhall, mkConfig = ./mkConfig.dhall }
--- /dev/null
+ let Config = ./Config.dhall
+
+in let Vault = ./Vault.dhall
+
+in let Addon = ./addon/Addon.dhall
+
+in let Environment = ./environment/Environment.dhall
+
+in let nonifyEmpty =
+ λ(opt : Optional Text)
+ → Optional/fold Text opt Text (λ(x : Text) → x) "None"
+
+in λ(vault : Vault)
+ → λ(app : Text)
+ → λ(entryPoint : Text)
+ → λ(syslogServer : Optional Text)
+ → λ(domain : Optional Text)
+ → λ(tasksFile : Optional Text)
+ → λ(addons : List Addon)
+ → { clever_app =
+ app
+ , clever_orga =
+ vault.organization
+ , clever_secret =
+ vault.secret
+ , clever_token =
+ vault.token
+ , clever_syslog_server =
+ nonifyEmpty syslogServer
+ , clever_domain =
+ nonifyEmpty domain
+ , clever_app_tasks_file =
+ nonifyEmpty tasksFile
+ , clever_entry_point =
+ entryPoint
+ , clever_metrics =
+ True
+ , clever_addons =
+ addons
+ , clever_env =
+ { FORCE_HTTPS = True }
+ }
+ : Config Environment
--- /dev/null
+{ Vault =
+ ./Vault.dhall
+, Addon =
+ ./addon/Addon.dhall
+, Environment =
+ ./environment/Environment.dhall
+, Config =
+ ./Config.dhall
+}
--- /dev/null
+#!/usr/bin/env bash
+
+pushd () {
+ command pushd "$@" > /dev/null
+}
+
+popd () {
+ command popd "$@" > /dev/null
+}
+
+go() {
+ local ERROR=0;
+ for file in $(find -type f -name "*.dhall"); do
+ pushd $(dirname $file);
+ cat $(basename $file) | dhall --explain resolve > /dev/null;
+ if [ "$?" -ne "0" ]; then
+ echo "Failed to resolve $file"
+ ERROR=1;
+ fi;
+ popd;
+ done;
+ exit $ERROR;
+}
+
+go