]>
Commit | Line | Data |
---|---|---|
4882b0d3 | 1 | # ansible-clever |
3ed1cca7 PB |
2 | |
3 | [![Build Status](https://travis-ci.com/fretlink/ansible-clever.svg?token=D3nFpUxMu7vStDHwUNy4&branch=master)](https://travis-ci.com/fretlink/ansible-clever) | |
4 | ||
4882b0d3 | 5 | Ansible role for clever cloud deployment |
f7dd5848 GD |
6 | ======= |
7 | Clever deploy | |
8 | ========= | |
9 | ||
e6872941 CD |
10 | This role deploys applications on clever cloud (https://www.clever-cloud.com). |
11 | It handles the publication over git, as well as domain names, environment variables and log drains configuration. | |
f7dd5848 GD |
12 | |
13 | Requirements | |
14 | ------------ | |
15 | ||
44ed0759 | 16 | This role requires `clever-tools` version `2.6.1` or higher. |
f7dd5848 GD |
17 | |
18 | Role Variables | |
19 | -------------- | |
20 | ||
21 | Variables for the application | |
22 | - `clever_token`: clever_cloud token, mandatory. | |
23 | - `clever_secret`: clever_cloud secret, mandatory. | |
24 | - `clever_app`: the id of the app to link, mandatory. | |
25 | - `clever_env`: a dict of environment variables for the application (without add_ons one already available), optional. | |
f7fe658a | 26 | - `clever_base_env`: a dict set in vars/main.yml with safe default and mandatory variables for an app to be run on clever. ` clever_base_env | combine(clever_env)` is passed to `clever env` command |
f7dd5848 GD |
27 | - `clever_addons`: a list of dict describing addons enabled for the application from which we would use information during deploy, optional.<br/> |
28 | Example: `{ name: pg, env_prefix: POSTGRESQL_ADDON }` | |
f7fe658a | 29 | - `clever_app_tasks_file`: tasks file to be executed after environment and addons variables where gathered. Specific to an app, should be use to run migrations. Optional. |
65b86d1f PB |
30 | - `clever_haskell_entry_point`: the haskell executable name to be executed by clever cloud, optional. |
31 | - _Obsolete_: `clever_entry_point`: Same as above but was replaced by `clever_haskell_entry_point` since v1.14 of this role. | |
1157a45f PB |
32 | - `clever_domain`: the domain from which the application should be reachable, optional. |
33 | - _Obsolete_: `domain`: Same as above but was replaced by `clever_domain` since v1.4 of this role. | |
23c0fc8a PB |
34 | - `clever_syslog_server`: UDP Syslog server to be used as UDPSyslog drain for the application, optional. Example: `udp://198.51.100.51:12345`. |
35 | - _Obsolete_: `syslog_server`: Same as above but was replaced by `clever_syslog_server` since v1.5 of this role. | |
e6872941 CD |
36 | - _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`. |
37 | - `clever_disable_metrics`: a boolean to disable metrics support. Optional, default to `false`. | |
56797728 | 38 | - `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. |
1c139365 | 39 | - `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. |
f7dd5848 GD |
40 | |
41 | Variables specific to deployment, default should be fine: | |
8a5d45d7 | 42 | - `clever_cli_version`: Version of clever cli tools, default to `2.6.1`. |
f7dd5848 | 43 | - `clever_user_path`: Path relative to ansible_user home dir where cli tools and helpers are installed default to `.local/bin`. |
8056915b | 44 | - `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. |
f7dd5848 GD |
45 | - `clever_app_confdir`: Path where to store clever cloud data specific to this application, default to `"{{ clever_app_root }}/.clever_cloud"` |
46 | - `clever_login_file`: Path to store login information. Default to `"{{ clever_app_confdir }}/login"`. | |
47 | ||
48 | ||
49 | Dependencies | |
50 | ------------ | |
51 | ||
52 | None | |
53 | ||
54 | Example Playbook | |
55 | ---------------- | |
56 | ||
57 | Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: | |
58 | ||
59 | - hosts: servers | |
60 | roles: | |
61 | - { role: fretlink.clever, clever_app: 42, clever_token: "{{ vault_clever_token }}", clever_secret: "{{ vault_clever_secret}}" } | |
62 | ||
63 | ||
64 | TODO | |
65 | ---- | |
66 | ||
67 | Add some tests and Travis integration | |
68 | ||
69 | License | |
70 | ------- | |
71 | ||
72 | BSD | |
73 | ||
74 | Author Information | |
75 | ------------------ | |
76 | ||
77 | Developped at Fretlink (https://www.fretlink.com) for our |