added option to deploy only frontend or backend

This commit is contained in:
muppeth 2022-10-21 22:56:51 +02:00
parent 7e223dd05a
commit 493f92a210
Signed by: muppeth
GPG Key ID: 0EBC7B9848D04031
4 changed files with 15 additions and 74 deletions

View File

@ -6,6 +6,8 @@ lacre_app_dir: '/opt/gpg-lacre'
lacre_username: 'lacre'
lacre_group: 'lacre'
lacre_homedir: '/var/lib/gpg-lacre'
lacre_backend_deploy: 'true'
lacre_webgate_deploy: 'true'
#lacre_
lacre_apt:
- 'python3-m2crypto'

View File

@ -1,73 +0,0 @@
---
- name: '[Webgate] - Install dependencies'
apt:
name: "{{ lacre_webgate_apt }}"
- name: '[Webgate] - Copy files to webdir'
copy:
remote_src: true
src: "{{ lacre_app_dir }}/gpg-mailgate-web/public_html"
dest: "{{ lacre_webgate_webroot }}/gpg-mailgate-web"
owner: "{{ lacre_webgate_user }}"
group: "{{ lacre_webgate_group }}"
- name: '[Webgate] - Check if db schema is loaded'
shell:
cmd: mysql -h {{ lacre_db_host }} -u {{ lacre_db_username }} -p{{ lacre_db_password }} {{ lacre_db_name }} -se "SELECT EXISTS (SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE '{{ lacre_db_name }}' AND TABLE_TYPE LIKE 'BASE TABLE' AND TABLE_NAME = 'gpgmw_keys' );"
register: webgate_installed
ignore_errors: true
- name: '[Webgate] - Import sql schema'
mysql_db:
state: import
name: "{{ lacre_db_name }}"
login_host: "{{ lacre_db_host }}"
login_user: "{{ lacre_db_username }}"
login_password: "{{ lacre_db_password }}"
target: "{{ lacre_app_dir }}/gpg-mailgate-web/schema.sql"
when: webgate_installed.stdout != '1'
- name: 'Webgate] - Deploy config'
template:
src: 'config.php.j2'
dest: "{{ lacre_webgate_webroot }}/gpg-mailgate-web/public_html/config.php"
owner: "{{ lacre_webgate_user }}"
group: "{{ lacre_webgate_group }}"
- name: '[Webgate] - Create email template dir'
file:
path: "{{ lacre_homedir }}/cron-templates"
state: directory
owner: "{{ lacre_username }}"
group: "{{ lacre_group }}"
- name: '[Webgate] - Copy templates to template dir'
copy:
remote_src: true
src: "{{ lacre_app_dir }}/cron_templates"
dest: "{{ lacre_homedir }}/cron-templates"
owner: "{{ lacre_username }}"
group: "{{ lacre_group }}"
- name: '[Webgate] - Deploy cron.py'
copy:
remote_src: true
src: "{{ lacre_app_dir }}/gpg-mailgate-web/cron.py"
dest: '/usr/local/bin/gpgmw-cron.py'
owner: "{{ lacre_username }}"
group: "{{ lacre_group }}"
mode: a+x
- name: '[Webgate] - Set cron'
cron:
name: "Webgate cronjob"
state: present
minute: "*/3"
hour: "*"
day: "*"
month: "*"
weekday: "*"
user: "{{ lacre_username }}"
job: '/usr/local/bin/gpgmw-cron.py > /dev/null'
when: lacre_cron == 'true'

View File

@ -2,21 +2,33 @@
- name: 'Clone / Update repository'
include: git.yml
tags:
- 'backend'
when: lacre_backend_deploy == 'true'
- name: 'Create user'
include: user.yml
tags:
- 'backend'
when: lacre_backend_deploy == 'true'
- name: 'Install Lacre'
include: install.yml
tags:
- 'backend'
when: lacre_backend_deploy == 'true'
- name: 'Configure Lacre'
include: configure.yml
tags:
- 'config'
- 'configure'
- 'backend'
when: lacre_backend_deploy == 'true'
- name: 'Deploy Lacre Webgate'
include: webgate.yml
tags:
- 'webgate'
when: lacre_webgate_deploy == 'true'

View File

@ -27,7 +27,7 @@
login_user: "{{ lacre_webgate_db_username }}"
login_password: "{{ lacre_webgate_db_password }}"
target: "{{ lacre_webgate_dir }}/schema.sql"
when: lacre_webgate_installed.stdout != '1'
when: lacre_webgate_installed.stdout != '3'
- name: '[Lacre-webgate] - Deploy config'
template: