]> git.immae.eu Git - github/fretlink/ansible-clever.git/commitdiff
Add optional build flavor configuration
authorClement Delafargue <clement.delafargue@fretlink.com>
Tue, 8 Oct 2019 12:46:25 +0000 (14:46 +0200)
committerClement Delafargue <clement.delafargue@fretlink.com>
Fri, 19 Jun 2020 13:14:54 +0000 (15:14 +0200)
README.md
dhall/Config.dhall
files/clever-set-build-flavor.sh [new file with mode: 0755]
tasks/deploy.yml
tasks/setup.yml

index 469667bb87af46a53c0aec3c7d6b0db14fc88fd2..ef1439396f9ac90ba6bad127bfac77ea4e90f69e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -35,6 +35,7 @@ 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`.
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 {}
 
diff --git a/files/clever-set-build-flavor.sh b/files/clever-set-build-flavor.sh
new file mode 100755 (executable)
index 0000000..52ad223
--- /dev/null
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -e
+
+function setBuildFlavor {
+  clever scale --build-flavor "${BUILD_FLAVOR}"
+}
+
+setBuildFlavor
index 751d78fecd18ad3cc24580ef23e7e4b45559c151..5e0ba0c0ac02dce1f8843bac2bb7ed924f7537fc 100644 (file)
     DOMAIN: "{{ clever_domain | default(domain) }}"
     CONFIGURATION_FILE: "{{ clever_login_file }}"
 
+- name: Configure Build Instance
+  when: clever_build_flavor is defined
+  command: "{{ ansible_env.HOME }}/{{ clever_user_path }}/clever-set-build-flavor.sh"
+  args:
+    chdir: "{{ clever_app_root }}"
+  environment:
+    BUILD_FLAVOR: "{{ clever_build_flavor }}"
+    CONFIGURATION_FILE: "{{ clever_login_file }}"
+
 - name: Push Environment
   shell: "clever env import --json < {{ clever_app_confdir }}/env"
   args:
index a2d5b900b875d5ae231eb5f030aa4f92375ad1e7..3bf7965ed0ce6480106e15f0128048047847f49f 100644 (file)
@@ -29,3 +29,4 @@
   with_items:
     - clever-set-domain.sh
     - clever-set-drain.sh
+    - clever-set-build-flavor.sh