]> git.immae.eu Git - github/fretlink/ansible-clever.git/commitdiff
Merge pull request #55 from clementd-fretlink/build-flavor
authorClément Delafargue <39330590+clementd-fretlink@users.noreply.github.com>
Fri, 19 Jun 2020 13:18:13 +0000 (15:18 +0200)
committerGitHub <noreply@github.com>
Fri, 19 Jun 2020 13:18:13 +0000 (15:18 +0200)
Add optional build flavor configuration

README.md
dhall/Config.dhall
tasks/deploy.yml

index 469667bb87af46a53c0aec3c7d6b0db14fc88fd2..7a4557b42f345d882d3aa3a5fe92b0c050e27601 100644 (file)
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@ It handles the publication over git, as well as domain names, environment variab
 Requirements
 ------------
 
+This role requires `clever-tools` version `2.6.1` or higher.
 
 Role Variables
 --------------
@@ -35,9 +36,10 @@ Variables for the application
 - _Obsolete_: `clever_metrics`: metrics used to be disabled by default. Now they are enabled by default and can be explicitly disabled with `clever_disable_metrics`.
 - `clever_disable_metrics`: a boolean to disable metrics support. Optional, default to `false`.
 - `clever_env_output_file`: as a post deploy task you might need to retrieve the full Clever environment configuration (i.e. with addon env variables). If this variable is set to a filename then the env will be retrieved after a successful deploy inside this file. Optional.
+- `clever_build_flavor`: an optional text value used to configure the size of the dedicated build instance (for instance `S` or `XL`). If not defined, it delegates to clever cloud default behaviour. Setting `disabled` disables the dedicated build instance altogether.
 
 Variables specific to deployment, default should be fine:
-- `clever_cli_version`: Version of clever cli tools, default to `0.9.3`.
+- `clever_cli_version`: Version of clever cli tools, default to `2.6.1`.
 - `clever_user_path`: Path relative to ansible_user home dir where cli tools and helpers are installed default to `.local/bin`.
 - `clever_app_root`: Path of the application to deploy, default to `app_root` if defined or `"{{ playbook_dir }}/.."`, ie ansible directory in the root of the application.
 - `clever_app_confdir`: Path where to store clever cloud data specific to this application, default to `"{{ clever_app_root }}/.clever_cloud"`
index 1b9388ec80597e933c74605c875e1fd70bcd9200..e092e2c43a40027332ace1ce096225a15fc29fba 100644 (file)
@@ -15,6 +15,7 @@ let Config =
         , clever_disable_metrics : Bool
         , clever_addons : List Addon
         , clever_env : Environment
+        , clever_build_flavor : Optional Text
         }
 
 let mkConfig =
@@ -32,6 +33,7 @@ let mkConfig =
           , clever_disable_metrics = False
           , clever_addons = [] : List Addon
           , clever_env = {=}
+          , clever_build_flavor = None Text
           }
         : Config {}
 
index 751d78fecd18ad3cc24580ef23e7e4b45559c151..ca1e54ae2adaf67605d8e560b03abdc7f2bc5b0e 100644 (file)
     DOMAIN: "{{ clever_domain | default(domain) }}"
     CONFIGURATION_FILE: "{{ clever_login_file }}"
 
+- name: Configure Build Instance
+  when: clever_build_flavor is defined
+  command: "clever scale --build-flavor {{ clever_build_flavor }}"
+  args:
+    chdir: "{{ clever_app_root }}"
+  environment:
+    CONFIGURATION_FILE: "{{ clever_login_file }}"
+
 - name: Push Environment
   shell: "clever env import --json < {{ clever_app_confdir }}/env"
   args: