101 lines
3.0 KiB
YAML
101 lines
3.0 KiB
YAML
---
|
|
# Wazuh Manager
|
|
- name: Install dependencies to build Wazuh packages
|
|
package:
|
|
name:
|
|
- make
|
|
- gcc
|
|
- automake
|
|
- autoconf
|
|
- libtool
|
|
- tar
|
|
state: present
|
|
|
|
- name: Installing policycoreutils-python (RedHat families)
|
|
package:
|
|
name:
|
|
- policycoreutils-python
|
|
when:
|
|
- ansible_os_family|lower == "redhat"
|
|
|
|
- name: Installing policycoreutils-python-utils (Debian families)
|
|
package:
|
|
name:
|
|
- libc6-dev
|
|
- curl
|
|
- policycoreutils
|
|
when:
|
|
- ansible_os_family|lower == "debian"
|
|
|
|
- name: Download required packages from github.com/wazuh/wazuh
|
|
get_url:
|
|
url: "https://github.com/wazuh/wazuh/archive/{{ wazuh_sources_installation.branch }}.tar.gz"
|
|
dest: "/tmp/{{ wazuh_sources_installation.branch }}.tar.gz"
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
|
|
- name: Create folder to extract Wazuh branch
|
|
file:
|
|
path: "/tmp/wazuh-{{ wazuh_sources_installation.branch }}"
|
|
state: directory
|
|
|
|
- name: Extract downloaded Wazuh branch from Github # Using shell instead of unarchive due to that module not working properlyh with --strip
|
|
command: "tar -xzvf /tmp/{{ wazuh_sources_installation.branch }}.tar.gz --strip 1 --directory /tmp/wazuh-{{ wazuh_sources_installation.branch }}"
|
|
register: wazuh_untar
|
|
changed_when: wazuh_untar.rc ==0
|
|
args:
|
|
warn: false
|
|
|
|
- name: Clean remaining files from others builds
|
|
command: "make -C src {{ item }}"
|
|
args:
|
|
chdir: "/tmp/wazuh-{{ wazuh_sources_installation.branch }}/src/"
|
|
with_items:
|
|
- "clean"
|
|
- "clean-deps"
|
|
register: clean_result
|
|
changed_when: clean_result.rc == 0
|
|
failed_when: false
|
|
|
|
- name: Render the "preloaded-vars.conf" file
|
|
template:
|
|
src: "templates/preloaded_vars.conf.j2"
|
|
dest: "/tmp/wazuh-{{ wazuh_sources_installation.branch }}/etc/preloaded-vars.conf"
|
|
owner: root
|
|
group: root
|
|
mode: '644'
|
|
|
|
- name: Executing "install.sh" script to build and install the Wazuh Manager
|
|
shell: ./install.sh > /tmp/build_log.txt
|
|
register: installation_result
|
|
changed_when: installation_result == 0
|
|
args:
|
|
chdir: "/tmp/wazuh-{{ wazuh_sources_installation.branch }}"
|
|
|
|
# Wazuh API
|
|
|
|
- name: Download script to install Nodejs repository
|
|
get_url:
|
|
url: "{{ node_js_repository_url }}"
|
|
dest: "/tmp/setup_nodejs_repo.sh"
|
|
mode: "0700"
|
|
|
|
- name: Execute downloaded script to install Nodejs repo
|
|
shell: /tmp/setup_nodejs_repo.sh
|
|
|
|
- name: Install Nodejs
|
|
package:
|
|
name: nodejs
|
|
state: present
|
|
|
|
- name: Run NPM under root account
|
|
shell: npm config set user 0
|
|
|
|
- name: Download the installation script to install Wazuh API
|
|
get_url:
|
|
url: "https://raw.githubusercontent.com/wazuh/wazuh-api/v{{ wazuh_manager_version[:-2] }}/install_api.sh"
|
|
dest: "/tmp/install_api.sh"
|
|
mode: "0700"
|
|
|
|
- name: Execute Wazuh API installation script
|
|
shell: /tmp/install_api.sh download
|