kimai: Add argspec, sane defaults, upgrade if requested, fixes
This commit is contained in:
6
roles/kimai/defaults/main.yaml
Normal file
6
roles/kimai/defaults/main.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
kimai_db_user: "{{ kimai_db }}"
|
||||
kimai_db_host: localhost
|
||||
|
||||
kimai_php_executable: php
|
||||
kimai_upgrade: false
|
||||
46
roles/kimai/meta/argument_specs.yaml
Normal file
46
roles/kimai/meta/argument_specs.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
argument_specs:
|
||||
main:
|
||||
description: Installs kimai if not already installed system-wide
|
||||
options:
|
||||
kimai_installdir:
|
||||
description: Directory to install kimai in
|
||||
type: str
|
||||
required: true
|
||||
kimai_webroot:
|
||||
description: Directory of kimai webroot
|
||||
type: str
|
||||
required: true
|
||||
|
||||
kimai_db:
|
||||
description: Kimai mysql database name
|
||||
type: str
|
||||
required: true
|
||||
kimai_db_user:
|
||||
description: Kimai mysql database user. Defaults to database name.
|
||||
type: str
|
||||
required: false
|
||||
kimai_db_pw:
|
||||
description: Kimai mysql database password
|
||||
type: str
|
||||
required: true
|
||||
kimai_db_host:
|
||||
description: Kimai mysql database host
|
||||
type: str
|
||||
required: false
|
||||
default: localhost
|
||||
kimai_db_server_version:
|
||||
description: Kimai mysql server version. You can check this with `mysql --version`.
|
||||
type: str
|
||||
required: true
|
||||
|
||||
kimai_php_executable:
|
||||
description: Php executable to use for kimai install scripts
|
||||
type: str
|
||||
required: false
|
||||
default: php
|
||||
kimai_upgrade:
|
||||
description: Whether to upgrade kimai to the latest version if already installed
|
||||
type: bool
|
||||
required: false
|
||||
default: false
|
||||
@@ -1,33 +1,33 @@
|
||||
---
|
||||
|
||||
- name: Clone kimai git repo
|
||||
ansible.builtin.git:
|
||||
repo: "https://github.com/kevinpapst/kimai2.git"
|
||||
dest: "{{ kimai_installdir }}"
|
||||
version: main
|
||||
update: "{{ kimai_upgrade }}"
|
||||
|
||||
- name: Install kimai dependencies using composer
|
||||
community.general.composer:
|
||||
working_dir: "{{ kimai_installdir }}"
|
||||
composer_executable: "{{ composer_path | default(omit) }}"
|
||||
executable: "{{ kimai_php_executable | default(omit) }}"
|
||||
executable: "{{ kimai_php_executable }}"
|
||||
|
||||
- name: Configure kimai database
|
||||
ansible.builtin.lineinfile:
|
||||
path: "{{ kimai_installdir }}/.env"
|
||||
regexp: "^DATABASE_URL=.*$"
|
||||
line: "\
|
||||
DATABASE_URL=mysql://{{ kimai_db_user | default(kimai_db) }}:{{ kimai_db_pw }}\
|
||||
DATABASE_URL=mysql://{{ kimai_db_user }}:{{ kimai_db_pw }}\
|
||||
@{{ kimai_db_host | default('localhost') }}:3306/{{ kimai_db }}\
|
||||
?charset=utf8&serverVersion={{ kimai_db_server }}"
|
||||
?charset=utf8&serverVersion={{ kimai_db_server_version }}"
|
||||
|
||||
- name: Run kimai install script
|
||||
ansible.builtin.command: "{{ kimai_php_executable + ' ' if kimai_php_executable is defined else '' }}bin/console kimai:install -n"
|
||||
ansible.builtin.command: "{{ kimai_php_executable ~ ' ' }}bin/console kimai:install -n"
|
||||
args:
|
||||
chdir: "{{ kimai_installdir }}"
|
||||
register: kimai_install
|
||||
changed_when: "'[OK] Already at the latest version' not in kimai_install.stdout"
|
||||
failed_when: "'[OK] Congratulations! Successfully installed Kimai' not in kimai_install.stdout"
|
||||
failed_when: "'[OK] Successfully installed Kimai' not in kimai_install.stdout"
|
||||
|
||||
- name: Add symlink to kimai public in webroot
|
||||
ansible.builtin.file:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{{ ansible_managed }}
|
||||
# {{ ansible_managed }}
|
||||
|
||||
RewriteEngine On
|
||||
|
||||
|
||||
Reference in New Issue
Block a user