This commit is contained in:
parent
e43d6d1da3
commit
c337d935f5
@ -1,33 +1,31 @@
|
|||||||
---
|
---
|
||||||
# tasks file for supysonic
|
# tasks file for supysonic
|
||||||
|
|
||||||
|
|
||||||
- name: select specific Database tasks
|
- name: select specific Database tasks
|
||||||
include_tasks: "database_{{supysonic_DB_type}}.yml"
|
include_tasks: "database_{{supysonic_DB_type}}.yml"
|
||||||
|
|
||||||
- name: stat location folder
|
- name: stat location folder
|
||||||
stat:
|
stat:
|
||||||
path: "{{source_location}}/{{supysonic_name}}" # required. The full path of the file/object to get the facts of.
|
path: "{{source_location}}/{{supysonic_name}}" # required. The full path of the file/object to get the facts of.
|
||||||
register: location_stat
|
register: location_stat
|
||||||
|
|
||||||
- name: install source file if not exist
|
- name: install source file if not exist
|
||||||
git:
|
git:
|
||||||
dest: "{{source_location}}/{{supysonic_name}}" # required. The path of where the repository should be checked out. This parameter is required, unless C(clone) is set to C(no).
|
dest: "{{source_location}}/{{supysonic_name}}" # required. The path of where the repository should be checked out. This parameter is required, unless C(clone) is set to C(no).
|
||||||
repo: "{{supysonic_repo}}" # required. git, SSH, or HTTP(S) protocol address of the git repository.
|
repo: "{{supysonic_repo}}" # required. git, SSH, or HTTP(S) protocol address of the git repository.
|
||||||
clone: yes # not required. If C(no), do not clone the repository if it does not exist locally
|
clone: yes # not required. If C(no), do not clone the repository if it does not exist locally
|
||||||
version: "{{supysonic_repo_branch}}"
|
version: "{{supysonic_repo_branch}}"
|
||||||
become: yes
|
become: yes
|
||||||
when: location_stat.stat.exists == false or supysonic_force_site_update == true
|
when: location_stat.stat.exists == false or supysonic_force_site_update == true
|
||||||
notify:
|
notify:
|
||||||
- restart supysonic service
|
- restart supysonic service
|
||||||
|
|
||||||
- name: create folder in var
|
- name: create folder in var
|
||||||
file:
|
file:
|
||||||
path: "/var/{{supysonic_name}}" # required. Path to the file being managed.
|
path: "/var/{{supysonic_name}}" # required. Path to the file being managed.
|
||||||
state: directory # not required. choices: absent;directory;file;hard;link;touch. If C(directory), all intermediate subdirectories will be created if they do not exist. Since Ansible 1.7 they will be created with the supplied permissions. If C(file), the file will NOT be created if it does not exist; see the C(touch) value or the M(copy) or M(template) module if you want that behavior. If C(link), the symbolic link will be created or changed. Use C(hard) for hardlinks. If C(absent), directories will be recursively deleted, and files or symlinks will be unlinked. Note that C(absent) will not cause C(file) to fail if the C(path) does not exist as the state did not change. If C(touch) (new in 1.4), an empty file will be created if the C(path) does not exist, while an existing file or directory will receive updated file access and modification times (similar to the way `touch` works from the command line).
|
state: directory # not required. choices: absent;directory;file;hard;link;touch. If C(directory), all intermediate subdirectories will be created if they do not exist. Since Ansible 1.7 they will be created with the supplied permissions. If C(file), the file will NOT be created if it does not exist; see the C(touch) value or the M(copy) or M(template) module if you want that behavior. If C(link), the symbolic link will be created or changed. Use C(hard) for hardlinks. If C(absent), directories will be recursively deleted, and files or symlinks will be unlinked. Note that C(absent) will not cause C(file) to fail if the C(path) does not exist as the state did not change. If C(touch) (new in 1.4), an empty file will be created if the C(path) does not exist, while an existing file or directory will receive updated file access and modification times (similar to the way `touch` works from the command line).
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
|
|
||||||
- name: ensure venv folder exist
|
- name: ensure venv folder exist
|
||||||
file:
|
file:
|
||||||
name: "{{venv_location}}"
|
name: "{{venv_location}}"
|
||||||
@ -35,39 +33,39 @@
|
|||||||
mode: 0777
|
mode: 0777
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
|
|
||||||
- name: create venv
|
- name: create venv
|
||||||
pip:
|
pip:
|
||||||
name: "file://{{source_location}}/{{supysonic_name}}"
|
name: "file://{{source_location}}/{{supysonic_name}}"
|
||||||
virtualenv: "{{venv_location}}{{supysonic_venv_name}}"
|
virtualenv: "{{venv_location}}{{supysonic_venv_name}}"
|
||||||
virtualenv_command: /usr/bin/python -m venv
|
virtualenv_command: /usr/bin/python -m venv
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: install sql client
|
- name: install sql client
|
||||||
pip:
|
pip:
|
||||||
virtualenv: "{{venv_location}}{{supysonic_venv_name}}" # not required. An optional path to a I(virtualenv) directory to install into. It cannot be specified together with the 'executable' parameter (added in 2.1). If the virtualenv does not exist, it will be created before installing packages. The optional virtualenv_site_packages, virtualenv_command, and virtualenv_python options affect the creation of the virtualenv.
|
virtualenv: "{{venv_location}}{{supysonic_venv_name}}" # not required. An optional path to a I(virtualenv) directory to install into. It cannot be specified together with the 'executable' parameter (added in 2.1). If the virtualenv does not exist, it will be created before installing packages. The optional virtualenv_site_packages, virtualenv_command, and virtualenv_python options affect the creation of the virtualenv.
|
||||||
name:
|
name:
|
||||||
- pymysql
|
- pymysql
|
||||||
- psycopg2
|
- psycopg2
|
||||||
|
become: yes
|
||||||
- name: apply config template
|
- name: apply config template
|
||||||
template:
|
template:
|
||||||
dest: "/etc/supysonic" # required. Location to render the template to on the remote machine.
|
dest: "/etc/supysonic" # required. Location to render the template to on the remote machine.
|
||||||
src: "supysonic.j2" # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
|
src: "supysonic.j2" # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
|
||||||
become: yes
|
become: yes
|
||||||
notify:
|
notify:
|
||||||
- restart supysonic service
|
- restart supysonic service
|
||||||
- restart daemon service
|
- restart daemon service
|
||||||
|
|
||||||
- name: install gunicorn
|
- name: install gunicorn
|
||||||
|
become: yes
|
||||||
pip:
|
pip:
|
||||||
virtualenv: "{{venv_location}}{{supysonic_venv_name}}" # not required. An optional path to a I(virtualenv) directory to install into. It cannot be specified together with the 'executable' parameter (added in 2.1). If the virtualenv does not exist, it will be created before installing packages. The optional virtualenv_site_packages, virtualenv_command, and virtualenv_python options affect the creation of the virtualenv.
|
virtualenv: "{{venv_location}}{{supysonic_venv_name}}" # not required. An optional path to a I(virtualenv) directory to install into. It cannot be specified together with the 'executable' parameter (added in 2.1). If the virtualenv does not exist, it will be created before installing packages. The optional virtualenv_site_packages, virtualenv_command, and virtualenv_python options affect the creation of the virtualenv.
|
||||||
name: gunicorn # not required. The name of a Python library to install or the url(bzr+,hg+,git+,svn+) of the remote package.,This can be a list (since 2.2) and contain version specifiers (since 2.7).
|
name: gunicorn # not required. The name of a Python library to install or the url(bzr+,hg+,git+,svn+) of the remote package.,This can be a list (since 2.2) and contain version specifiers (since 2.7).
|
||||||
|
|
||||||
|
|
||||||
- name: apply systemd service template
|
- name: apply systemd service template
|
||||||
template:
|
template:
|
||||||
dest: "/etc/systemd/system/gunicorn-{{supysonic_name}}.service" # required. Location to render the template to on the remote machine.
|
dest: "/etc/systemd/system/gunicorn-{{supysonic_name}}.service" # required. Location to render the template to on the remote machine.
|
||||||
src: "systemd/gunicorn.service.j2" # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
|
src: "systemd/gunicorn.service.j2" # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
|
||||||
become: yes
|
become: yes
|
||||||
notify:
|
notify:
|
||||||
- Reload systemd
|
- Reload systemd
|
||||||
@ -75,23 +73,23 @@
|
|||||||
|
|
||||||
- name: apply systemd daemon template
|
- name: apply systemd daemon template
|
||||||
template:
|
template:
|
||||||
dest: "/etc/systemd/system/{{supysonic_name}}-daemon.service" # required. Location to render the template to on the remote machine.
|
dest: "/etc/systemd/system/{{supysonic_name}}-daemon.service" # required. Location to render the template to on the remote machine.
|
||||||
src: "systemd/supysonic-daemon.service.j2" # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
|
src: "systemd/supysonic-daemon.service.j2" # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path.
|
||||||
become: yes
|
become: yes
|
||||||
notify:
|
notify:
|
||||||
- Reload systemd
|
- Reload systemd
|
||||||
- restart daemon service
|
- restart daemon service
|
||||||
|
|
||||||
- name: enable daemon service
|
- name: enable daemon service
|
||||||
systemd:
|
systemd:
|
||||||
name: "{{supysonic_name}}-daemon.service" # not required. Name of the service. When using in a chroot environment you always need to specify the full name i.e. (crond.service).
|
name: "{{supysonic_name}}-daemon.service" # not required. Name of the service. When using in a chroot environment you always need to specify the full name i.e. (crond.service).
|
||||||
enabled: true
|
enabled: true
|
||||||
state: started
|
state: started
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: enable supysonic service
|
- name: enable supysonic service
|
||||||
systemd:
|
systemd:
|
||||||
name: "gunicorn-{{supysonic_name}}.service" # not required. Name of the service. When using in a chroot environment you always need to specify the full name i.e. (crond.service).
|
name: "gunicorn-{{supysonic_name}}.service" # not required. Name of the service. When using in a chroot environment you always need to specify the full name i.e. (crond.service).
|
||||||
enabled: true
|
enabled: true
|
||||||
state: started
|
state: started
|
||||||
become: yes
|
become: yes
|
||||||
|
Loading…
Reference in New Issue
Block a user