kimai: Add argspec, sane defaults, upgrade if requested, fixes

This commit is contained in:
uumas
2025-01-27 05:32:38 +02:00
parent dc48543177
commit e61972fd4b
4 changed files with 59 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
---
kimai_db_user: "{{ kimai_db }}"
kimai_db_host: localhost
kimai_php_executable: php
kimai_upgrade: false

View 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

View File

@@ -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:

View File

@@ -1,4 +1,4 @@
{{ ansible_managed }}
# {{ ansible_managed }}
RewriteEngine On