---
- name: Install Kibana
  hosts: kibana
  become: true
  vars_files:
    - vars/variables.yml

  environment: "{{ deployment_environment_variables | default({}) }}"

  tasks:
    - include_tasks: common_task_install_elk_repo.yml

    - name: Ensure Nginx is installed
      apt:
        name: "{{ item }}"
        state: present
        update_cache: yes
      with_items:
        - nginx
        - apache2-utils
        - python-passlib

    - name: create kibana user to access web interface
      htpasswd:
        path: "/etc/nginx/htpasswd.users"
        name: "{{ kibana_username }}"
        password: "{{ kibana_password }}"
        owner: root
        mode: 0644

    - name: Drop Nginx default conf file
      template:
        src: templates/nginx_default.j2
        dest: /etc/nginx/sites-available/default

    - name: Enable and restart nginx
      service:
        name: "nginx"
        enabled: true
        state: restarted

    - name: Ensure kibana  is installed
      apt:
        name: kibana
        state: present
        update_cache: yes

    - name: Drop kibana conf file
      template:
        src: templates/kibana.yml.j2
        dest: /etc/kibana/kibana.yml
        mode: "0666"

    - name: Enable and restart kibana
      systemd:
        name: "kibana"
        enabled: true
        state: restarted

  tags:
    - server-install