aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/env.j2
diff options
context:
space:
mode:
authorClement Delafargue <clement.delafargue@fretlink.com>2020-06-18 16:09:46 +0200
committerClement Delafargue <clement.delafargue@fretlink.com>2020-06-19 10:18:47 +0200
commit244339e70a1be830ac02306e1feb4383fe73572b (patch)
tree96f1b623c151d32d9d0418a9dfc9c45695a2bd41 /templates/env.j2
parentd5c5bf88290ffb2fbb7835dcfb9c645563cdd3e6 (diff)
downloadansible-clever-244339e70a1be830ac02306e1feb4383fe73572b.tar.gz
ansible-clever-244339e70a1be830ac02306e1feb4383fe73572b.tar.zst
ansible-clever-244339e70a1be830ac02306e1feb4383fe73572b.zip
Use JSON import for environment variables
The env can be provided as a JSON list `[{"name": "PORT", "value": "8080"}]`. The `dict2items` filter provided by ansible is _almost_ what we want, but it keeps the value original types (a boolean is kept as a boolean in the JSON value). Since environment variables are strings and `clever-tools` does not want to make the implicit coercion for us, we need to do it ourselves.
Diffstat (limited to 'templates/env.j2')
-rw-r--r--templates/env.j213
1 files changed, 7 insertions, 6 deletions
diff --git a/templates/env.j2 b/templates/env.j2
index 30bda82..e97ef43 100644
--- a/templates/env.j2
+++ b/templates/env.j2
@@ -1,9 +1,10 @@
1{% for key, value in (clever_base_env | combine(clever_env)).items() %} 1{% set static_env = clever_base_env | combine(clever_env) %}
2{{ key }}={{ value | to_json }} 2{% set dynamic_env = {} %}
3{% endfor %} 3{% if clever_haskell_entry_point %}
4
5{%- if clever_haskell_entry_point %}
6{# Haskell only #} 4{# Haskell only #}
7{# https://www.clever-cloud.com/doc/get-help/reference-environment-variables/#haskell #} 5{# https://www.clever-cloud.com/doc/get-help/reference-environment-variables/#haskell #}
8CC_RUN_COMMAND={{'~/.local/bin/' + clever_haskell_entry_point | to_json }} 6{% set dynamic_env = { 'CC_RUN_COMMAND': '~/.local/bin/' + clever_haskell_entry_point } %}
9{% endif %} 7{% endif %}
8{# dict2items is not enough here, all the values have to be stringified #}
9{# git-blame this line for more explanations #}
10{{ static_env | combine(dynamic_env) | json_env_map | to_json }}