From 1c1393659bb8adb3273e2434725ae1664287a1c9 Mon Sep 17 00:00:00 2001 From: Clement Delafargue Date: Tue, 8 Oct 2019 14:46:25 +0200 Subject: Add optional build flavor configuration --- README.md | 1 + dhall/Config.dhall | 2 ++ files/clever-set-build-flavor.sh | 9 +++++++++ tasks/deploy.yml | 9 +++++++++ tasks/setup.yml | 1 + 5 files changed, 22 insertions(+) create mode 100755 files/clever-set-build-flavor.sh diff --git a/README.md b/README.md index 469667b..ef14393 100644 --- 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`. diff --git a/dhall/Config.dhall b/dhall/Config.dhall index 1b9388e..e092e2c 100644 --- a/dhall/Config.dhall +++ b/dhall/Config.dhall @@ -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 index 0000000..52ad223 --- /dev/null +++ b/files/clever-set-build-flavor.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +function setBuildFlavor { + clever scale --build-flavor "${BUILD_FLAVOR}" +} + +setBuildFlavor diff --git a/tasks/deploy.yml b/tasks/deploy.yml index 751d78f..5e0ba0c 100644 --- a/tasks/deploy.yml +++ b/tasks/deploy.yml @@ -16,6 +16,15 @@ 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: diff --git a/tasks/setup.yml b/tasks/setup.yml index a2d5b90..3bf7965 100644 --- a/tasks/setup.yml +++ b/tasks/setup.yml @@ -29,3 +29,4 @@ with_items: - clever-set-domain.sh - clever-set-drain.sh + - clever-set-build-flavor.sh -- cgit v1.2.3