Last active
August 29, 2016 12:24
-
-
Save wolfeidau/7968626 to your computer and use it in GitHub Desktop.
Very simple ansible app setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# | |
# Setup mysvchere in this environment | |
# | |
- name: Add the mysvchere user | |
user: name=mysvchere comment="My company mysvchere" system=yes shell="/bin/bash" | |
- name: Install mysvchere certificates | |
copy: src=server_crt.pem dest=/etc/ssl/certs/{{ mysvchere_hostname }}.crt mode=0644 owner=root group=root | |
- name: Install mysvchere key | |
copy: src=server_key.pem dest=/etc/ssl/private/{{ mysvchere_hostname }}.key mode=0600 owner=root group=root | |
- name: Configure nginx | |
template: src=nginx.conf dest=/etc/nginx/conf.d/mysvchere.conf mode=0644 owner=root group=root | |
notify: | |
- restart nginx | |
- name: Create service directory | |
file: path=/etc/service/mysvchere/log state=directory recurse=yes mode=0755 owner=mysvchere group=mysvchere | |
- name: Create runit service | |
template: src=mysvchere_service_run dest=/etc/service/mysvchere/run mode=0755 owner=mysvchere group=mysvchere | |
- name: Create runit logger | |
template: src=mysvchere_logger_run dest=/etc/service/mysvchere/log/run mode=0755 owner=mysvchere group=mysvchere | |
- name: Create app source directory | |
file: path=/home/mysvchere/source state=directory recurse=yes mode=0755 owner=mysvchere group=mysvchere | |
- name: Create app log directory | |
file: path=/home/mysvchere/shared/logs state=directory recurse=yes mode=0755 owner=mysvchere group=mysvchere | |
- name: Configure NODE_ENV environment | |
lineinfile: dest=/home/mysvchere/.profile regexp="^export NODE_ENV=" line="export NODE_ENV=production" | |
- name: Configure SOME_ID environment | |
lineinfile: dest=/home/mysvchere/.profile regexp="^export SOME_ID=" line="export SOME_ID={{ SOME_id }}" | |
- name: Configure SOME_SECRET environment | |
lineinfile: dest=/home/mysvchere/.profile regexp="^export SOME_SECRET=" line="export SOME_SECRET={{ SOME_secret }}" | |
- name: Configure DB_URL environment | |
lineinfile: dest=/home/mysvchere/.profile regexp="^export DB_URL=" line="export DB_URL={{ mycompany_db_url }}" | |
- name: Clone the application | |
action: git [email protected]:mycompany/mysvchere.git dest=/home/mysvchere/source | |
- name: Change owner of sources | |
file: path=/home/mysvchere/source owner=mysvchere group=mysvchere recurse=yes | |
- name: Install ssh keys | |
action: authorized_key user=mysvchere key="{{ item }}" | |
with_items: $keys | |
- name: Change ownership of service control directory | |
file: path=/etc/service/mysvchere/supervise owner=mysvchere group=mysvchere recurse=yes |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
exec svlogd -tt /home/mysvchere/shared/logs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
cd /home/mysvchere/current | |
exec 2>&1 | |
. /etc/profile | |
. /home/mysvchere/.profile | |
exec chpst -u mysvchere:mysvchere node index.js |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment