This repository has been archived by the owner on Feb 10, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.yml
125 lines (112 loc) · 2.68 KB
/
config.yml
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
- name: deploy servers
hosts: localhost
become: false
gather_facts: no
vars:
target_environment: aws
tasks:
- import_tasks: aws_deploy.yml
when: target_environment == "aws"
- import_tasks: eec_deploy.yml
when: target_environment == "eec"
- name: inspect variables
debug:
var: tf_results
- name: set database facts
hosts: wordpress-db
gather_facts: false
tasks:
- name: set facts
set_fact:
ansible_host: "{{ hostvars['localhost'].tf_results.outputs.wordpress_db_address.value }}"
ansible_ssh_private_key_file: ./keys/wordpress-key
cacheable: yes
- name: set app facts
hosts: wordpress-app
gather_facts: false
tasks:
- name: set facts
set_fact:
ansible_host: "{{ hostvars['localhost'].tf_results.outputs.wordpress_app_address.value }}"
ansible_ssh_private_key_file: ./keys/wordpress-key
db_address: "{{ hostvars['localhost'].tf_results.outputs.wordpress_db_private_address.value }}"
cacheable: yes
- name: wait for provisioning to complete
hosts: all
gather_facts: false
tasks:
- name: wait for server provisoning to complete
wait_for_connection:
timeout: 90
delay: 10
- name: configure database
hosts: wordpress-db
become: true
gather_facts: true
vars:
mysql_databases:
- name: wordpress
mysql_users:
- name: wordpress
host: '%'
password: wordpress
priv: '*.*:ALL'
state: present
roles:
- role: geerlingguy.mysql
- name: install app server packages
hosts: wordpress-app
gather_facts: true
become: yes
tasks:
- name: install php
apt:
update_cache: yes
name:
- php
- php7.0-mysql
- libapache2-mod-php
- mysql-client
state: present
- name: install apache
hosts: wordpress-app
gather_facts: true
become: true
vars:
apache_mods_enabled:
- rewrite.load
- ssl.load
apache_listen_port: 80
apache_vhosts:
- servername: "{{ ansible_host }}"
documentroot: "/var/www"
roles:
- role: geerlingguy.apache
- name: configure wordpress
hosts: wordpress-app
become: true
gather_facts: true
vars:
wordpress_installs:
- name: wordpress
dbname: wordpress
dbuser: wordpress
dbpass: wordpress
dbhost: "{{ ansible_facts['db_address'] }}"
path: /var/www
url: "http://{{ ansible_host }}"
title: example-app
admin_name: admin
admin_email: [email protected]
admin_password: wordpress
themes:
- name: twentytwelve
activate: true
- name: twentythirteen
plugins: []
users: {}
options: []
queries: []
roles:
- role: oefenweb.wordpress