1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# ansible-clever
Ansible role for clever cloud deployment
=======
Clever deploy
=========
This roles deploy an haskell app on clever cloud (https://www.clever-cloud.com).
Requirements
------------
Role Variables
--------------
Variables for the application
- `clever_token`: clever_cloud token, mandatory.
- `clever_secret`: clever_cloud secret, mandatory.
- `clever_app`: the id of the app to link, mandatory.
- `clever_env`: a dict of environment variables for the application (without add_ons one already available), optional.
- `clever_addons`: a list of dict describing addons enabled for the application from which we would use information during deploy, optional.<br/>
Example: `{ name: pg, env_prefix: POSTGRESQL_ADDON }`
- `clever_app_tasks`: tasks file to be executed after environment and addons variables where gathered. Specific to an app, should be use to run migrations. Optional.
- `domain`: the domain from which the application should be reachable, optional
- `syslog_server`: UDP Syslog server to be used as UDPSyslog drain for the application, optional. Example: `udp://198.51.100.51:12345`.
Variables specific to deployment, default should be fine:
- `clever_cli_version`: Version of clever cli tools, default to `0.9.3`.
- `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 `"{{ 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"`
- `clever_login_file`: Path to store login information. Default to `"{{ clever_app_confdir }}/login"`.
Dependencies
------------
None
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: fretlink.clever, clever_app: 42, clever_token: "{{ vault_clever_token }}", clever_secret: "{{ vault_clever_secret}}" }
TODO
----
Add some tests and Travis integration
License
-------
BSD
Author Information
------------------
Developped at Fretlink (https://www.fretlink.com) for our
|