diff --git a/defaults/main.yml b/defaults/main.yml index fa52c0e..e45edc5 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -7,6 +7,7 @@ hass_python_package: - myjdapi hass_conf_folder: /var/lib/hass hass_venv_location: /opt/venv/hass +hass_db_type: postgres #postgres or mysql hass_db_name: hass hass_db_user: hass hass_SQl_target_file: / diff --git a/tasks/database_mysql.yml b/tasks/database_mysql.yml new file mode 100644 index 0000000..21c1c5e --- /dev/null +++ b/tasks/database_mysql.yml @@ -0,0 +1,27 @@ + +- name: "Ensure database is present" + become: yes + mysql_db: + name: "{{ hass_db_name }}" + collation: utf8mb4_unicode_ci + encoding: utf8mb4 + state: present + register: hass_database_creation + + +- name: import DATA in database in case of creation + become: yes + mysql_db: + name: "{{ hass_db_name }}" + state: import + target: "{{ hass_SQl_target_file }}" + when: hass_database_creation.changed == true and hass_SQl_target_file is defined + +- name: "Ensure db user is present" + become: yes + mysql_user: + name: "{{ hass_db_user }}" + host: localhost + password: "{{ hass_db_password }}" + priv: "{{ hass_db_name }}.*:ALL" + state: present diff --git a/tasks/database_postgres.yml b/tasks/database_postgres.yml new file mode 100644 index 0000000..a272339 --- /dev/null +++ b/tasks/database_postgres.yml @@ -0,0 +1,29 @@ +- name: "Ensure db user is present" + become: yes + become_user: postgres + postgresql_user: + name: "{{ hass_db_user }}" + password: "{{ hass_db_password }}" + state: present + +- name: "Ensure database is present" + become: yes + become_user: postgres + postgresql_db: + name: "{{ hass_db_name }}" + lc_collate: fr_FR.UTF-8 + encoding: utf8 + owner: "{{ hass_db_user }}" + state: present + register: hass_database_creation + + +- name: import DATA in database in case of creation + become: yes + become_user: postgres + postgresql_db: + name: "{{ hass_db_name }}" + state: restore + target: "{{ hass_SQl_target_file }}" + register: hass_database_import + when: hass_database_creation.changed == true and hass_SQl_target_file is defined \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml index 415d797..ecbb193 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,32 +1,13 @@ --- # tasks file for hass -- name: "Ensure database is present" - become: yes - mysql_db: - name: "{{ hass_db_name }}" - collation: utf8mb4_unicode_ci - encoding: utf8mb4 - state: present - register: hass_database_creation -- name: import DATA in database in case of creation - become: yes - mysql_db: - name: "{{ hass_db_name }}" - state: import - target: "{{ hass_SQl_target_file }}" - when: hass_database_creation.changed == true and hass_SQl_target_file is defined +- name: select specific Database tasks + include_tasks: "database_{{hass_db_type}}.yml" + + -- name: "Ensure db user is present" - become: yes - mysql_user: - name: "{{ hass_db_user }}" - host: localhost - password: "{{ hass_db_password }}" - priv: "{{ hass_db_name }}.*:ALL" - state: present - name: create hass user become: yes