64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
---
|
|
- name: 'Check app requirements for {{ app_name }}.'
|
|
fail:
|
|
msg: You must set app name.
|
|
when: not app_name
|
|
|
|
- name: 'Create group "{{ app_group }}" for {{ app_name }}.'
|
|
group:
|
|
name: '{{ app_group }}'
|
|
state: present
|
|
|
|
- name: 'Create user "{{ app_user }}" for {{ app_name }}.'
|
|
user:
|
|
name: '{{ app_user }}'
|
|
comment: '{{ app_name }} application owner'
|
|
group: '{{ app_group }}'
|
|
shell: /bin/bash
|
|
|
|
- name: 'Set up user ssh keys for {{ app_name }}.'
|
|
authorized_key:
|
|
user: '{{ app_user }}'
|
|
key: '{{ item }}'
|
|
state: present
|
|
with_items: '{{ app_user_ssh_keys }}'
|
|
|
|
- name: 'Set up system environment variables for {{ app_name }}.'
|
|
lineinfile:
|
|
dest: /etc/environment
|
|
regexp: '^{{ item.key }}='
|
|
line: '{{ item.key }}="{{ item.value }}"'
|
|
with_dict: '{{ app_envs }}'
|
|
|
|
- name: 'Create ssl certificate for {{ app_name }}.'
|
|
include_role:
|
|
name: ssl-certificate
|
|
private: yes
|
|
vars:
|
|
cert_type: '{{ app_cert_type }}'
|
|
cert_name: '{{ app_name }}'
|
|
cert_email: '{{ app_cert_email }}'
|
|
cert_domains: '{{ app_domains }}'
|
|
when: app_cert
|
|
|
|
- name: 'Create web directory for {{ app_name }}.'
|
|
file:
|
|
state: directory
|
|
path: '{{ app_directory }}'
|
|
owner: '{{ app_user }}'
|
|
group: '{{ app_group }}'
|
|
recurse: yes
|
|
notify: restart nginx
|
|
|
|
- name: 'Create nginx config for {{ app_name }}.'
|
|
template:
|
|
src: app.conf.j2
|
|
dest: '/etc/nginx/sites-enabled/{{ app_name }}.conf'
|
|
notify: restart nginx
|
|
|
|
- name: 'Creates php-fpm pool config for {{ app_name }}.'
|
|
template:
|
|
src: fpm-pool.conf.j2
|
|
dest: '/etc/php/{{ app_php_version }}/fpm/pool.d/{{ app_name }}.conf'
|
|
notify: restart php-fpm
|