Select Git revision
website.yml
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
website.yml 1.59 KiB
---
- name: create a group
group:
name: "{{website.name}}"
system: true
state: present
- name: create a user
user:
name: "{{website.name}}"
group: "{{website.name}}"
system: true
home: "/var/www/{{website.name}}"
shell: /bin/bash
createhome: false
state: present
- name: create a home directory
file:
path: "/var/www/{{website.name}}"
state: "directory"
owner: "{{website.name}}"
group: "{{website.group|default(website.name)}}"
mode: "0775"
- name: create an ssh directory
file:
path: "/var/www/{{website.name}}/.ssh"
state: "directory"
owner: "{{website.name}}"
group: "{{website.name}}"
mode: "0755"
when: website.pubkey is defined
- name: create a deploy directory
file:
path: "/var/www/{{website.name}}/deploy"
state: "directory"
owner: "{{website.name}}"
group: "{{website.group|default(website.name)}}"
mode: "0775"
- name: authorize the deploy key
template:
src: "authorized_keys"
dest: "/var/www/{{website.name}}/.ssh/authorized_keys"
owner: "{{website.name}}"
group: "{{website.name}}"
mode: "0644"
when: website.pubkey is defined
- name: create deploy subdirectories
file:
path: "/var/www/{{website.name}}/deploy/{{item}}"
state: "directory"
owner: "{{website.name}}"
group: "{{website.group|default(website.name)}}"
mode: "0775"
with_items: "{{website.subdirs|default([])}}"
- name: create cron tasks
cron:
name: "{{item.name}}"
special_time: "{{item.time}}"
job: "{{item.command}}"
with_items: "{{website.crontasks|default([])}}"