From b2de3600ceaa4409f76e46670781b06aeb9d86b7 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Mon, 10 Mar 2025 13:44:19 -0300 Subject: [PATCH 01/38] Bump 4.13.0 version --- .env | 6 +++--- .github/.goss.yaml | 2 +- .../workflows/Procedure_push_docker_images.yml | 8 ++++---- CHANGELOG.md | 18 ++++++++++++++++++ README.md | 1 + VERSION.json | 2 +- build-docker-images/README.md | 4 ++-- build-docker-images/build-images.sh | 4 ++-- .../wazuh-dashboard/config/config.sh | 4 ++-- .../wazuh-indexer/config/config.sh | 4 ++-- indexer-certs-creator/config/entrypoint.sh | 4 ++-- multi-node/docker-compose.yml | 12 ++++++------ single-node/docker-compose.yml | 6 +++--- 13 files changed, 47 insertions(+), 28 deletions(-) diff --git a/.env b/.env index ab08411d..7af5f540 100755 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ -WAZUH_VERSION=4.12.0 -WAZUH_IMAGE_VERSION=4.12.0 +WAZUH_VERSION=4.13.0 +WAZUH_IMAGE_VERSION=4.13.0 WAZUH_TAG_REVISION=1 -FILEBEAT_TEMPLATE_BRANCH=4.12.0 +FILEBEAT_TEMPLATE_BRANCH=4.13.0 WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz WAZUH_UI_REVISION=1 diff --git a/.github/.goss.yaml b/.github/.goss.yaml index 86ddceeb..fcdc65e2 100644 --- a/.github/.goss.yaml +++ b/.github/.goss.yaml @@ -56,7 +56,7 @@ package: wazuh-manager: installed: true versions: - - 4.12.0 + - 4.13.0 port: tcp:1514: listening: true diff --git a/.github/workflows/Procedure_push_docker_images.yml b/.github/workflows/Procedure_push_docker_images.yml index d02f14c9..e0cf78af 100644 --- a/.github/workflows/Procedure_push_docker_images.yml +++ b/.github/workflows/Procedure_push_docker_images.yml @@ -6,11 +6,11 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '4.12.0' + default: '4.13.0' required: true docker_reference: description: 'wazuh-docker reference' - default: 'v4.12.0' + default: 'v4.13.0' required: true products: description: 'Comma-separated list of the image names to build and push' @@ -42,12 +42,12 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '4.12.0' + default: '4.13.0' required: true type: string docker_reference: description: 'wazuh-docker reference' - default: 'v4.12.0' + default: 'v4.13.0' required: false type: string products: diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b854b36..201605b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,24 @@ # Change Log All notable changes to this project will be documented in this file. +## [4.13.0] + +### Added + +- None + +### Changed + +- None + +### Fixed + +- None + +### Deleted + +- None + ## [4.12.0] ### Added diff --git a/README.md b/README.md index d5c3ab6a..66d8d9f3 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ WAZUH_MONITORING_REPLICAS=0 ## | Wazuh version | ODFE | XPACK | |---------------|---------|--------| +| v4.13.0 | | | | v4.12.0 | | | | v4.11.1 | | | | v4.11.0 | | | diff --git a/VERSION.json b/VERSION.json index 23a3b07a..dfee93c3 100644 --- a/VERSION.json +++ b/VERSION.json @@ -1,4 +1,4 @@ { - "version": "4.12.0", + "version": "4.13.0", "stage": "alpha0" } diff --git a/build-docker-images/README.md b/build-docker-images/README.md index f088f408..a10e1e9b 100644 --- a/build-docker-images/README.md +++ b/build-docker-images/README.md @@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument: ``` -$ build-docker-images/build-images.sh -v 4.12.0 +$ build-docker-images/build-images.sh -v 4.13.0 ``` To get all the available script options use the -h or --help option: @@ -26,7 +26,7 @@ Usage: build-docker-images/build-images.sh [OPTIONS] -d, --dev [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default. -f, --filebeat-module [Optional] Set Filebeat module version. By default 0.4. -r, --revision [Optional] Package revision. By default 1 - -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.12.0. + -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.13.0. -h, --help Show this help. ``` \ No newline at end of file diff --git a/build-docker-images/build-images.sh b/build-docker-images/build-images.sh index d0551e48..7d2e9948 100755 --- a/build-docker-images/build-images.sh +++ b/build-docker-images/build-images.sh @@ -1,4 +1,4 @@ -WAZUH_IMAGE_VERSION=4.12.0 +WAZUH_IMAGE_VERSION=4.13.0 WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g') WAZUH_TAG_REVISION=1 WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') @@ -12,7 +12,7 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION} # License (version 2) as published by the FSF - Free Software # Foundation. -WAZUH_IMAGE_VERSION="4.12.0" +WAZUH_IMAGE_VERSION="4.13.0" WAZUH_TAG_REVISION="1" WAZUH_DEV_STAGE="" FILEBEAT_MODULE_VERSION="0.4" diff --git a/build-docker-images/wazuh-dashboard/config/config.sh b/build-docker-images/wazuh-dashboard/config/config.sh index 947cfea2..92dc9c2e 100644 --- a/build-docker-images/wazuh-dashboard/config/config.sh +++ b/build-docker-images/wazuh-dashboard/config/config.sh @@ -9,8 +9,8 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config ## Variables CERT_TOOL=wazuh-certs-tool.sh -PACKAGES_URL=https://packages.wazuh.com/4.12/ -PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.12/ +PACKAGES_URL=https://packages.wazuh.com/4.13/ +PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.13/ ## Check if the cert tool exists in S3 buckets CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}') diff --git a/build-docker-images/wazuh-indexer/config/config.sh b/build-docker-images/wazuh-indexer/config/config.sh index a8aca7f7..94d55d43 100644 --- a/build-docker-images/wazuh-indexer/config/config.sh +++ b/build-docker-images/wazuh-indexer/config/config.sh @@ -22,8 +22,8 @@ export REPO_DIR=/unattended_installer ## Variables CERT_TOOL=wazuh-certs-tool.sh PASSWORD_TOOL=wazuh-passwords-tool.sh -PACKAGES_URL=https://packages.wazuh.com/4.12/ -PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.12/ +PACKAGES_URL=https://packages.wazuh.com/4.13/ +PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.13/ ## Check if the cert tool exists in S3 buckets CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}') diff --git a/indexer-certs-creator/config/entrypoint.sh b/indexer-certs-creator/config/entrypoint.sh index 562783b1..f9529b89 100644 --- a/indexer-certs-creator/config/entrypoint.sh +++ b/indexer-certs-creator/config/entrypoint.sh @@ -8,8 +8,8 @@ ## Variables CERT_TOOL=wazuh-certs-tool.sh PASSWORD_TOOL=wazuh-passwords-tool.sh -PACKAGES_URL=https://packages.wazuh.com/4.12/ -PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.12/ +PACKAGES_URL=https://packages.wazuh.com/4.13/ +PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.13/ ## Check if the cert tool exists in S3 buckets CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}') diff --git a/multi-node/docker-compose.yml b/multi-node/docker-compose.yml index 2d9ad309..bff74cfd 100644 --- a/multi-node/docker-compose.yml +++ b/multi-node/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: wazuh.master: - image: wazuh/wazuh-manager:4.12.0 + image: wazuh/wazuh-manager:4.13.0 hostname: wazuh.master restart: always ulimits: @@ -45,7 +45,7 @@ services: - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf wazuh.worker: - image: wazuh/wazuh-manager:4.12.0 + image: wazuh/wazuh-manager:4.13.0 hostname: wazuh.worker restart: always ulimits: @@ -81,7 +81,7 @@ services: - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf wazuh1.indexer: - image: wazuh/wazuh-indexer:4.12.0 + image: wazuh/wazuh-indexer:4.13.0 hostname: wazuh1.indexer restart: always ports: @@ -107,7 +107,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh2.indexer: - image: wazuh/wazuh-indexer:4.12.0 + image: wazuh/wazuh-indexer:4.13.0 hostname: wazuh2.indexer restart: always environment: @@ -129,7 +129,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh3.indexer: - image: wazuh/wazuh-indexer:4.12.0 + image: wazuh/wazuh-indexer:4.13.0 hostname: wazuh3.indexer restart: always environment: @@ -151,7 +151,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh.dashboard: - image: wazuh/wazuh-dashboard:4.12.0 + image: wazuh/wazuh-dashboard:4.13.0 hostname: wazuh.dashboard restart: always ports: diff --git a/single-node/docker-compose.yml b/single-node/docker-compose.yml index bdcc695c..18befd60 100644 --- a/single-node/docker-compose.yml +++ b/single-node/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: wazuh.manager: - image: wazuh/wazuh-manager:4.12.0 + image: wazuh/wazuh-manager:4.13.0 hostname: wazuh.manager restart: always ulimits: @@ -46,7 +46,7 @@ services: - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf wazuh.indexer: - image: wazuh/wazuh-indexer:4.12.0 + image: wazuh/wazuh-indexer:4.13.0 hostname: wazuh.indexer restart: always ports: @@ -71,7 +71,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh.dashboard: - image: wazuh/wazuh-dashboard:4.12.0 + image: wazuh/wazuh-dashboard:4.13.0 hostname: wazuh.dashboard restart: always ports: From 7f08f4cbffb1944728f2425ee460a826c338e4f5 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 11 Mar 2025 15:07:14 -0300 Subject: [PATCH 02/38] Modify wazuh-keystore use --- .../wazuh-manager/config/etc/cont-init.d/2-manager | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager b/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager index 0bd90fd6..218b34f0 100644 --- a/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager +++ b/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager @@ -115,8 +115,8 @@ function_entrypoint_scripts() { function_configure_vulnerability_detection() { if [ "$INDEXER_PASSWORD" != "" ]; then >&2 echo "Configuring password." - /var/ossec/bin/wazuh-keystore -f indexer -k username -v $INDEXER_USERNAME - /var/ossec/bin/wazuh-keystore -f indexer -k password -v $INDEXER_PASSWORD + echo '$INDEXER_USERNAME' | /var/ossec/bin/wazuh-keystore -f indexer -k username + echo '$INDEXER_PASSWORD' | /var/ossec/bin/wazuh-keystore -f indexer -k password fi } From 87a3ccd3ee3de17b65e2ad40703485ce38208c1b Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 11 Mar 2025 15:08:41 -0300 Subject: [PATCH 03/38] Add changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 201605b2..caddbbd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ All notable changes to this project will be documented in this file. ### Changed -- None +- Modify wazuh-keystore use ([#1750](https://github.com/wazuh/wazuh-docker/pull/1750)) \- (wazuh-keystore) + ### Fixed From 1186c6f9d6f169363c8ab7a0564ed196db7d7e8d Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 11 Mar 2025 15:31:31 -0300 Subject: [PATCH 04/38] Modify wazuh-keystore use --- .../wazuh-manager/config/etc/cont-init.d/2-manager | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager b/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager index 218b34f0..ff3e1fdd 100644 --- a/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager +++ b/build-docker-images/wazuh-manager/config/etc/cont-init.d/2-manager @@ -115,8 +115,8 @@ function_entrypoint_scripts() { function_configure_vulnerability_detection() { if [ "$INDEXER_PASSWORD" != "" ]; then >&2 echo "Configuring password." - echo '$INDEXER_USERNAME' | /var/ossec/bin/wazuh-keystore -f indexer -k username - echo '$INDEXER_PASSWORD' | /var/ossec/bin/wazuh-keystore -f indexer -k password + echo "$INDEXER_USERNAME" | /var/ossec/bin/wazuh-keystore -f indexer -k username + echo "$INDEXER_PASSWORD" | /var/ossec/bin/wazuh-keystore -f indexer -k password fi } From c1565a55533187adb7043852908e819d3aeb243d Mon Sep 17 00:00:00 2001 From: Jesus Garcia Date: Tue, 18 Mar 2025 11:13:03 -0500 Subject: [PATCH 05/38] Remove 'stable' branch ocurrencies --- .github/workflows/trivy-dashboard.yml | 3 +-- .github/workflows/trivy-indexer.yml | 3 +-- .github/workflows/trivy-manager.yml | 3 +-- CHANGELOG.md | 3 +-- README.md | 3 +-- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/trivy-dashboard.yml b/.github/workflows/trivy-dashboard.yml index 4150fa6f..5239d93c 100644 --- a/.github/workflows/trivy-dashboard.yml +++ b/.github/workflows/trivy-dashboard.yml @@ -11,8 +11,7 @@ on: - published pull_request: branches: - - master - - stable + - main schedule: - cron: '34 2 * * 1' workflow_dispatch: diff --git a/.github/workflows/trivy-indexer.yml b/.github/workflows/trivy-indexer.yml index fe41399e..6f69f206 100644 --- a/.github/workflows/trivy-indexer.yml +++ b/.github/workflows/trivy-indexer.yml @@ -11,8 +11,7 @@ on: - published pull_request: branches: - - master - - stable + - main schedule: - cron: '34 2 * * 1' workflow_dispatch: diff --git a/.github/workflows/trivy-manager.yml b/.github/workflows/trivy-manager.yml index 1c8308b3..da75bcc7 100644 --- a/.github/workflows/trivy-manager.yml +++ b/.github/workflows/trivy-manager.yml @@ -11,8 +11,7 @@ on: - published pull_request: branches: - - master - - stable + - main schedule: - cron: '34 2 * * 1' workflow_dispatch: diff --git a/CHANGELOG.md b/CHANGELOG.md index caddbbd9..0e955268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,14 +11,13 @@ All notable changes to this project will be documented in this file. - Modify wazuh-keystore use ([#1750](https://github.com/wazuh/wazuh-docker/pull/1750)) \- (wazuh-keystore) - ### Fixed - None ### Deleted -- None +- Remove 'stable' branch ocurrencies ([#1757](https://github.com/wazuh/wazuh-docker/pull/1757)) ## [4.12.0] diff --git a/README.md b/README.md index 66d8d9f3..c7c3f0b2 100644 --- a/README.md +++ b/README.md @@ -171,8 +171,7 @@ WAZUH_MONITORING_REPLICAS=0 ## ## Branches -* `master` branch contains the latest code, be aware of possible bugs on this branch. -* `stable` branch corresponds to the last Wazuh stable version. +* `main` branch contains the latest code, be aware of possible bugs on this branch. ## Compatibility Matrix From 51d3d7a946d435e633afea7437673bed32fcbdd2 Mon Sep 17 00:00:00 2001 From: Jesus Garcia Date: Tue, 25 Mar 2025 12:04:22 -0500 Subject: [PATCH 06/38] Remove default docker reference version from workflow --- .github/workflows/Procedure_push_docker_images.yml | 2 -- CHANGELOG.md | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/Procedure_push_docker_images.yml b/.github/workflows/Procedure_push_docker_images.yml index e0cf78af..eccff387 100644 --- a/.github/workflows/Procedure_push_docker_images.yml +++ b/.github/workflows/Procedure_push_docker_images.yml @@ -10,7 +10,6 @@ on: required: true docker_reference: description: 'wazuh-docker reference' - default: 'v4.13.0' required: true products: description: 'Comma-separated list of the image names to build and push' @@ -47,7 +46,6 @@ on: type: string docker_reference: description: 'wazuh-docker reference' - default: 'v4.13.0' required: false type: string products: diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e955268..91268c27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ All notable changes to this project will be documented in this file. ### Deleted +- Remove default docker reference version from workflow ([#1761](https://github.com/wazuh/wazuh-docker/pull/1761)) - Remove 'stable' branch ocurrencies ([#1757](https://github.com/wazuh/wazuh-docker/pull/1757)) ## [4.12.0] From 9b2f667a8e526c60967b8043dcafdebba679a901 Mon Sep 17 00:00:00 2001 From: c-bordon Date: Tue, 15 Apr 2025 12:05:28 -0300 Subject: [PATCH 07/38] Added repository_bumper script --- .gitignore | 3 +- tools/repository_bumper.sh | 145 +++++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 tools/repository_bumper.sh diff --git a/.gitignore b/.gitignore index 6d7fadef..31bc423a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ single-node/config/wazuh_indexer_ssl_certs/*.pem single-node/config/wazuh_indexer_ssl_certs/*.key multi-node/config/wazuh_indexer_ssl_certs/*.pem -multi-node/config/wazuh_indexer_ssl_certs/*.key \ No newline at end of file +multi-node/config/wazuh_indexer_ssl_certs/*.key +*.log \ No newline at end of file diff --git a/tools/repository_bumper.sh b/tools/repository_bumper.sh new file mode 100644 index 00000000..ea8b938f --- /dev/null +++ b/tools/repository_bumper.sh @@ -0,0 +1,145 @@ +#!/bin/bash + +# This script is used to update the version of a repository in the specified files. +# It takes a version number as an argument and updates the version in the specified files. +# Usage: ./repository_bumper.sh + +# Global variables +DIR=$(dirname "$(pwd)") +LOG_FILE="${DIR}/tools/repository_bumper_$(date +"%Y-%m-%d_%H-%M-%S-%3N").log" +VERSION="" +STAGE="" +FILES_EDITED=() + +get_old_version_and_stage() { + local VERSION_FILE="../VERSION.json" + + OLD_VERSION=$(jq -r '.version' "${VERSION_FILE}") + OLD_STAGE=$(jq -r '.stage' "${VERSION_FILE}") + echo "Old version: ${OLD_VERSION}" | tee -a "${LOG_FILE}" + echo "Old stage: ${OLD_STAGE}" | tee -a "${LOG_FILE}" +} + +grep_command() { + # This function is used to search for a specific string in the specified directory. + # It takes two arguments: the string to search for and the directory to search in. + # Usage: grep_command + eval grep -Rl "${1}" "${2}" --exclude-dir=".git" --exclude="repository_bumper_*.log" "${3}" +} + +update_version_in_files() { + + local OLD_MAYOR="$(echo "${OLD_VERSION}" | cut -d '.' -f 1)" + local OLD_MINOR="$(echo "${OLD_VERSION}" | cut -d '.' -f 2)" + local OLD_PATCH="$(echo "${OLD_VERSION}" | cut -d '.' -f 3)" + local NEW_MAYOR="$(echo "${VERSION}" | cut -d '.' -f 1)" + local NEW_MINOR="$(echo "${VERSION}" | cut -d '.' -f 2)" + local NEW_PATCH="$(echo "${VERSION}" | cut -d '.' -f 3)" + m_m_p_files=( $(grep_command "${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}" "${DIR}") ) + for file in "${m_m_p_files[@]}"; do + if [[ "${file}" == *"CHANGELOG.md"* ]]; then + sed -i "/^All notable changes to this project will be documented in this file.$/a \\\n## [${VERSION}]\\n\\n### Added\\n\\n- None\\n\\n### Changed\\n\\n- None\\n\\n### Fixed\\n\\n- None\\n\\n### Deleted\\n\\n- None" "${file}" + elif [[ "${file}" == *"README.md"* ]]; then + sed -i "/^| v${OLD_VERSION} | | |/i | v${VERSION} | | |" "${file}" + sed -i "/^| v${OLD_VERSION} | | |/!s/${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" + else + sed -i "s/${OLD_VERSION}/${VERSION}/g" "${file}" + fi + if [[ $(git diff --name-only "${file}") ]]; then + FILES_EDITED+=("${file}") + fi + done + m_m_files=( $(grep_command "${OLD_MAYOR}\.${OLD_MINOR}" "${DIR}" --exclude="CHANGELOG.md") ) + for file in "${m_m_files[@]}"; do + sed -i "/^${OLD_MAYOR}\.${OLD_MINOR}./!s/\\b${OLD_MAYOR}\.${OLD_MINOR}\b/${NEW_MAYOR}\.${NEW_MINOR}/g" "${file}" + if [[ $(git diff --name-only "${file}") ]]; then + FILES_EDITED+=("${file}") + fi + done + m_x_files=( $(grep_command "${OLD_MAYOR}\.x" "${DIR}" --exclude="CHANGELOG.md") ) + for file in "${m_x_files[@]}"; do + sed -i "s/\b${OLD_MAYOR}\.x\b/${NEW_MAYOR}\.x/g" "${file}" + if [[ $(git diff --name-only "${file}") ]]; then + FILES_EDITED+=("${file}") + fi + done + mmp_files=( $(grep_command "${OLD_MAYOR}${OLD_MINOR}${OLD_PATCH}" "${DIR}" --exclude="CHANGELOG.md") ) + for file in "${mmp_files[@]}"; do + sed -i "s/\b${OLD_MAYOR}${OLD_MINOR}${OLD_PATCH}\b/${NEW_MAYOR}${NEW_MINOR}${NEW_PATCH}/g" "${file}" + if [[ $(git diff --name-only "${file}") ]]; then + FILES_EDITED+=("${file}") + fi + done +} + +update_stage_in_files() { + local OLD_STAGE="$(echo "${OLD_STAGE}")" + files=( $(grep_command "${OLD_STAGE}" "${DIR}") ) + for file in "${files[@]}"; do + sed -i "s/${OLD_STAGE}/${STAGE}/g" "${file}" + if [[ $(git diff --name-only "${file}") ]]; then + FILES_EDITED+=("${file}") + fi + done +} + +main() { + + echo "Starting repository version bumping process..." | tee -a "${LOG_FILE}" + echo "Log file: ${LOG_FILE}" + # Parse arguments + while [[ $# -gt 0 ]]; do + case $1 in + --version) + VERSION="$2" + shift 2 + ;; + --stage) + STAGE="$2" + shift 2 + ;; + *) + echo "Unknown argument: $1" + exit 1 + ;; + esac + done + + # Validate arguments + if [[ -z "$VERSION" ]]; then + echo "Error: --version argument is required." | tee -a "${LOG_FILE}" + exit 1 + fi + + if [[ -z "$STAGE" ]]; then + echo "Error: --stage argument is required." | tee -a "${LOG_FILE}" + exit 1 + fi + + # Get old version and stage + get_old_version_and_stage + + if [[ "$OLD_VERSION" == "$VERSION" && "$OLD_STAGE" == "$STAGE" ]]; then + echo "Version and stage are already up to date." | tee -a "${LOG_FILE}" + echo "No changes needed." | tee -a "${LOG_FILE}" + exit 0 + fi + if [[ "$OLD_VERSION" != "$VERSION" ]]; then + echo "Updating version from $OLD_VERSION to $VERSION" | tee -a "${LOG_FILE}" + update_version_in_files "$VERSION" + fi + if [[ "$OLD_STAGE" != "$STAGE" ]]; then + echo "Updating stage from $OLD_STAGE to $STAGE" | tee -a "${LOG_FILE}" + update_stage_in_files "$STAGE" + fi + + echo "The following files were edited:" | tee -a "${LOG_FILE}" + for file in $(printf "%s\n" "${FILES_EDITED[@]}" | sort -u); do + echo "${file}" | tee -a "${LOG_FILE}" + done + + echo "Version and stage updated successfully." | tee -a "${LOG_FILE}" +} + +# Call the main method with all arguments +main "$@" From 1445bdc4209ed9a794f04a77e7ed727e0bf41178 Mon Sep 17 00:00:00 2001 From: c-bordon Date: Tue, 15 Apr 2025 14:21:49 -0300 Subject: [PATCH 08/38] Removed mmp version replacement --- tools/repository_bumper.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/tools/repository_bumper.sh b/tools/repository_bumper.sh index ea8b938f..92513718 100644 --- a/tools/repository_bumper.sh +++ b/tools/repository_bumper.sh @@ -43,7 +43,7 @@ update_version_in_files() { sed -i "/^| v${OLD_VERSION} | | |/i | v${VERSION} | | |" "${file}" sed -i "/^| v${OLD_VERSION} | | |/!s/${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" else - sed -i "s/${OLD_VERSION}/${VERSION}/g" "${file}" + sed -i "s/${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" fi if [[ $(git diff --name-only "${file}") ]]; then FILES_EDITED+=("${file}") @@ -63,18 +63,11 @@ update_version_in_files() { FILES_EDITED+=("${file}") fi done - mmp_files=( $(grep_command "${OLD_MAYOR}${OLD_MINOR}${OLD_PATCH}" "${DIR}" --exclude="CHANGELOG.md") ) - for file in "${mmp_files[@]}"; do - sed -i "s/\b${OLD_MAYOR}${OLD_MINOR}${OLD_PATCH}\b/${NEW_MAYOR}${NEW_MINOR}${NEW_PATCH}/g" "${file}" - if [[ $(git diff --name-only "${file}") ]]; then - FILES_EDITED+=("${file}") - fi - done } update_stage_in_files() { local OLD_STAGE="$(echo "${OLD_STAGE}")" - files=( $(grep_command "${OLD_STAGE}" "${DIR}") ) + files=( $(grep_command "${OLD_STAGE}" "${DIR}" --exclude="README.md") ) for file in "${files[@]}"; do sed -i "s/${OLD_STAGE}/${STAGE}/g" "${file}" if [[ $(git diff --name-only "${file}") ]]; then From e161490f4d17b01b6c25dbe1b5f98c7512eae495 Mon Sep 17 00:00:00 2001 From: c-bordon Date: Tue, 15 Apr 2025 14:37:50 -0300 Subject: [PATCH 09/38] Updated changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5acd3b90..f2b141d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. ### Added -- None +- Added repository_bumper script. ([#1781](https://github.com/wazuh/wazuh-docker/pull/1781)) ### Changed From 2e22add312cfe6f5a29bff57461d278101b94a5b Mon Sep 17 00:00:00 2001 From: c-bordon Date: Tue, 15 Apr 2025 16:37:41 -0300 Subject: [PATCH 10/38] Removed README exception --- README.md | 45 +------------------------------------- tools/repository_bumper.sh | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index 5fcaf40c..2071f81f 100644 --- a/README.md +++ b/README.md @@ -177,50 +177,7 @@ WAZUH_MONITORING_REPLICAS=0 ## | Wazuh version | ODFE | XPACK | |---------------|---------|--------| -| v4.13.0 | | | -| v4.12.1 | | | -| v4.12.0 | | | -| v4.11.2 | | | -| v4.11.1 | | | -| v4.11.0 | | | -| v4.10.1 | | | -| v4.10.0 | | | -| v4.9.2 | | | -| v4.9.1 | | | -| v4.9.0 | | | -| v4.8.2 | | | -| v4.8.1 | | | -| v4.8.0 | | | -| v4.7.5 | | | -| v4.7.4 | | | -| v4.7.3 | | | -| v4.7.2 | | | -| v4.7.1 | | | -| v4.7.0 | | | -| v4.6.0 | | | -| v4.5.4 | | | -| v4.5.3 | | | -| v4.5.2 | | | -| v4.5.1 | | | -| v4.5.0 | | | -| v4.4.5 | | | -| v4.4.4 | | | -| v4.4.3 | | | -| v4.4.2 | | | -| v4.4.1 | | | -| v4.4.0 | | | -| v4.3.11 | | | -| v4.3.10 | | | -| v4.3.9 | | | -| v4.3.8 | | | -| v4.3.7 | | | -| v4.3.6 | | | -| v4.3.5 | | | -| v4.3.4 | | | -| v4.3.3 | | | -| v4.3.2 | | | -| v4.3.1 | | | -| v4.3.0 | | | +| v4.3.0+ | N/A | N/A | | v4.2.7 | 1.13.2 | 7.11.2 | | v4.2.6 | 1.13.2 | 7.11.2 | | v4.2.5 | 1.13.2 | 7.11.2 | diff --git a/tools/repository_bumper.sh b/tools/repository_bumper.sh index 92513718..48795bfe 100644 --- a/tools/repository_bumper.sh +++ b/tools/repository_bumper.sh @@ -12,7 +12,7 @@ STAGE="" FILES_EDITED=() get_old_version_and_stage() { - local VERSION_FILE="../VERSION.json" + local VERSION_FILE="${DIR}/VERSION.json" OLD_VERSION=$(jq -r '.version' "${VERSION_FILE}") OLD_STAGE=$(jq -r '.stage' "${VERSION_FILE}") @@ -38,10 +38,9 @@ update_version_in_files() { m_m_p_files=( $(grep_command "${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}" "${DIR}") ) for file in "${m_m_p_files[@]}"; do if [[ "${file}" == *"CHANGELOG.md"* ]]; then - sed -i "/^All notable changes to this project will be documented in this file.$/a \\\n## [${VERSION}]\\n\\n### Added\\n\\n- None\\n\\n### Changed\\n\\n- None\\n\\n### Fixed\\n\\n- None\\n\\n### Deleted\\n\\n- None" "${file}" - elif [[ "${file}" == *"README.md"* ]]; then - sed -i "/^| v${OLD_VERSION} | | |/i | v${VERSION} | | |" "${file}" - sed -i "/^| v${OLD_VERSION} | | |/!s/${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" + if ! sed -i "/^All notable changes to this project will be documented in this file.$/a \\\n## [${VERSION}]\\n\\n### Added\\n\\n- None\\n\\n### Changed\\n\\n- None\\n\\n### Fixed\\n\\n- None\\n\\n### Deleted\\n\\n- None" "${file}"; then + echo "Error: Failed to update CHANGELOG.md" | tee -a "${LOG_FILE}" + fi else sed -i "s/${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" fi @@ -109,6 +108,19 @@ main() { exit 1 fi + # Validate if version is in the correct format + if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Error: Version must be in the format X.Y.Z (e.g., 1.2.3)." | tee -a "${LOG_FILE}" + exit 1 + fi + + # Validate if stage is in the correct format + STAGE=$(echo "$STAGE" | tr '[:upper:]' '[:lower:]') + if ! [[ "$STAGE" =~ ^(alpha[0-9]*|beta[0-9]*|rc[0-9]*|stable)$ ]]; then + echo "Error: Stage must be one of the following examples: alpha1, beta1, rc1, stable." | tee -a "${LOG_FILE}" + exit 1 + fi + # Get old version and stage get_old_version_and_stage From 4b04578cf5b3f0e084e7f47101106e1c676777df Mon Sep 17 00:00:00 2001 From: c-bordon Date: Tue, 22 Apr 2025 12:08:13 -0300 Subject: [PATCH 11/38] Updated major.minor replacement --- tools/repository_bumper.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/repository_bumper.sh b/tools/repository_bumper.sh index 48795bfe..8223e54b 100644 --- a/tools/repository_bumper.sh +++ b/tools/repository_bumper.sh @@ -24,7 +24,7 @@ grep_command() { # This function is used to search for a specific string in the specified directory. # It takes two arguments: the string to search for and the directory to search in. # Usage: grep_command - eval grep -Rl "${1}" "${2}" --exclude-dir=".git" --exclude="repository_bumper_*.log" "${3}" + eval grep -Rl "${1}" "${2}" --exclude-dir=".git" --exclude="repository_bumper_*.log" --exclude="CHANGELOG.md" "${3}" } update_version_in_files() { @@ -37,31 +37,31 @@ update_version_in_files() { local NEW_PATCH="$(echo "${VERSION}" | cut -d '.' -f 3)" m_m_p_files=( $(grep_command "${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}" "${DIR}") ) for file in "${m_m_p_files[@]}"; do - if [[ "${file}" == *"CHANGELOG.md"* ]]; then - if ! sed -i "/^All notable changes to this project will be documented in this file.$/a \\\n## [${VERSION}]\\n\\n### Added\\n\\n- None\\n\\n### Changed\\n\\n- None\\n\\n### Fixed\\n\\n- None\\n\\n### Deleted\\n\\n- None" "${file}"; then - echo "Error: Failed to update CHANGELOG.md" | tee -a "${LOG_FILE}" - fi - else - sed -i "s/${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" - fi + sed -i "s/\bv${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}\b/v${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g; s/\b${OLD_MAYOR}\.${OLD_MINOR}\.${OLD_PATCH}/${NEW_MAYOR}\.${NEW_MINOR}\.${NEW_PATCH}/g" "${file}" if [[ $(git diff --name-only "${file}") ]]; then FILES_EDITED+=("${file}") fi done - m_m_files=( $(grep_command "${OLD_MAYOR}\.${OLD_MINOR}" "${DIR}" --exclude="CHANGELOG.md") ) + m_m_files=( $(grep_command "${OLD_MAYOR}\.${OLD_MINOR}" "${DIR}") ) for file in "${m_m_files[@]}"; do - sed -i "/^${OLD_MAYOR}\.${OLD_MINOR}./!s/\\b${OLD_MAYOR}\.${OLD_MINOR}\b/${NEW_MAYOR}\.${NEW_MINOR}/g" "${file}" + sed -i -E "/[0-9]+\.[0-9]+\.[0-9]+/! s/(^|[^0-9.])(${OLD_MAYOR}\.${OLD_MINOR})([^0-9.]|$)/\1${NEW_MAYOR}.${NEW_MINOR}\3/g" "$file" if [[ $(git diff --name-only "${file}") ]]; then FILES_EDITED+=("${file}") fi done - m_x_files=( $(grep_command "${OLD_MAYOR}\.x" "${DIR}" --exclude="CHANGELOG.md") ) + m_x_files=( $(grep_command "${OLD_MAYOR}\.x" "${DIR}") ) for file in "${m_x_files[@]}"; do sed -i "s/\b${OLD_MAYOR}\.x\b/${NEW_MAYOR}\.x/g" "${file}" if [[ $(git diff --name-only "${file}") ]]; then FILES_EDITED+=("${file}") fi done + if ! sed -i "/^All notable changes to this project will be documented in this file.$/a \\\n## [${VERSION}]\\n\\n### Added\\n\\n- None\\n\\n### Changed\\n\\n- None\\n\\n### Fixed\\n\\n- None\\n\\n### Deleted\\n\\n- None" "${DIR}/CHANGELOG.md"; then + echo "Error: Failed to update CHANGELOG.md" | tee -a "${LOG_FILE}" + fi + if [[ $(git diff --name-only "${DIR}/CHANGELOG.md") ]]; then + FILES_EDITED+=("${DIR}/CHANGELOG.md") + fi } update_stage_in_files() { From 81a41f93eda0608c7e5fd8459e2370317ae3a5c1 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 6 May 2025 13:56:32 -0300 Subject: [PATCH 12/38] Bump 4.12.2 version --- .env | 6 +++--- .github/.goss.yaml | 2 +- .../workflows/Procedure_push_docker_images.yml | 8 ++++---- CHANGELOG.md | 18 ++++++++++++++++++ README.md | 1 + VERSION.json | 2 +- build-docker-images/README.md | 4 ++-- build-docker-images/build-images.sh | 4 ++-- multi-node/docker-compose.yml | 12 ++++++------ single-node/docker-compose.yml | 6 +++--- 10 files changed, 41 insertions(+), 22 deletions(-) diff --git a/.env b/.env index 4b0e478f..0a4fe28d 100755 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ -WAZUH_VERSION=4.12.1 -WAZUH_IMAGE_VERSION=4.12.1 +WAZUH_VERSION=4.12.2 +WAZUH_IMAGE_VERSION=4.12.2 WAZUH_TAG_REVISION=1 -FILEBEAT_TEMPLATE_BRANCH=4.12.1 +FILEBEAT_TEMPLATE_BRANCH=4.12.2 WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz WAZUH_UI_REVISION=1 diff --git a/.github/.goss.yaml b/.github/.goss.yaml index 7c4716c8..14f628f8 100644 --- a/.github/.goss.yaml +++ b/.github/.goss.yaml @@ -56,7 +56,7 @@ package: wazuh-manager: installed: true versions: - - 4.12.1 + - 4.12.2 port: tcp:1514: listening: true diff --git a/.github/workflows/Procedure_push_docker_images.yml b/.github/workflows/Procedure_push_docker_images.yml index b9eb62e5..2b0e2c06 100644 --- a/.github/workflows/Procedure_push_docker_images.yml +++ b/.github/workflows/Procedure_push_docker_images.yml @@ -6,11 +6,11 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '4.12.1' + default: '4.12.2' required: true docker_reference: description: 'wazuh-docker reference' - default: 'v4.12.1' + default: 'v4.12.2' required: true products: description: 'Comma-separated list of the image names to build and push' @@ -42,12 +42,12 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '4.12.1' + default: '4.12.2' required: true type: string docker_reference: description: 'wazuh-docker reference' - default: 'v4.12.1' + default: 'v4.12.2' required: false type: string products: diff --git a/CHANGELOG.md b/CHANGELOG.md index dc7adb32..20c8f705 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,24 @@ # Change Log All notable changes to this project will be documented in this file. +## [4.12.2] + +### Added + +- None + +### Changed + +- None + +### Fixed + +- None + +### Deleted + +- None + ## [4.12.1] ### Added diff --git a/README.md b/README.md index 8c34880f..deb9cf43 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ WAZUH_MONITORING_REPLICAS=0 ## | Wazuh version | ODFE | XPACK | |---------------|---------|--------| +| v4.12.2 | | | | v4.12.1 | | | | v4.12.0 | | | | v4.11.2 | | | diff --git a/VERSION.json b/VERSION.json index 116fc47a..73d8ee41 100644 --- a/VERSION.json +++ b/VERSION.json @@ -1,4 +1,4 @@ { - "version": "4.12.1", + "version": "4.12.2", "stage": "alpha0" } diff --git a/build-docker-images/README.md b/build-docker-images/README.md index f6db713a..58a7c734 100644 --- a/build-docker-images/README.md +++ b/build-docker-images/README.md @@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument: ``` -$ build-docker-images/build-images.sh -v 4.12.1 +$ build-docker-images/build-images.sh -v 4.12.2 ``` To get all the available script options use the -h or --help option: @@ -26,7 +26,7 @@ Usage: build-docker-images/build-images.sh [OPTIONS] -d, --dev [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default. -f, --filebeat-module [Optional] Set Filebeat module version. By default 0.4. -r, --revision [Optional] Package revision. By default 1 - -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.12.1. + -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.12.2. -h, --help Show this help. ``` \ No newline at end of file diff --git a/build-docker-images/build-images.sh b/build-docker-images/build-images.sh index a5cce2d0..fb16dc4f 100755 --- a/build-docker-images/build-images.sh +++ b/build-docker-images/build-images.sh @@ -1,4 +1,4 @@ -WAZUH_IMAGE_VERSION=4.12.1 +WAZUH_IMAGE_VERSION=4.12.2 WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g') WAZUH_TAG_REVISION=1 WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') @@ -12,7 +12,7 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION} # License (version 2) as published by the FSF - Free Software # Foundation. -WAZUH_IMAGE_VERSION="4.12.1" +WAZUH_IMAGE_VERSION="4.12.2" WAZUH_TAG_REVISION="1" WAZUH_DEV_STAGE="" FILEBEAT_MODULE_VERSION="0.4" diff --git a/multi-node/docker-compose.yml b/multi-node/docker-compose.yml index 7896aa85..dd9d0c53 100644 --- a/multi-node/docker-compose.yml +++ b/multi-node/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: wazuh.master: - image: wazuh/wazuh-manager:4.12.1 + image: wazuh/wazuh-manager:4.12.2 hostname: wazuh.master restart: always ulimits: @@ -45,7 +45,7 @@ services: - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf wazuh.worker: - image: wazuh/wazuh-manager:4.12.1 + image: wazuh/wazuh-manager:4.12.2 hostname: wazuh.worker restart: always ulimits: @@ -81,7 +81,7 @@ services: - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf wazuh1.indexer: - image: wazuh/wazuh-indexer:4.12.1 + image: wazuh/wazuh-indexer:4.12.2 hostname: wazuh1.indexer restart: always ports: @@ -107,7 +107,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh2.indexer: - image: wazuh/wazuh-indexer:4.12.1 + image: wazuh/wazuh-indexer:4.12.2 hostname: wazuh2.indexer restart: always environment: @@ -129,7 +129,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh3.indexer: - image: wazuh/wazuh-indexer:4.12.1 + image: wazuh/wazuh-indexer:4.12.2 hostname: wazuh3.indexer restart: always environment: @@ -151,7 +151,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh.dashboard: - image: wazuh/wazuh-dashboard:4.12.1 + image: wazuh/wazuh-dashboard:4.12.2 hostname: wazuh.dashboard restart: always ports: diff --git a/single-node/docker-compose.yml b/single-node/docker-compose.yml index 607a7ef8..207fc9fb 100644 --- a/single-node/docker-compose.yml +++ b/single-node/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: wazuh.manager: - image: wazuh/wazuh-manager:4.12.1 + image: wazuh/wazuh-manager:4.12.2 hostname: wazuh.manager restart: always ulimits: @@ -46,7 +46,7 @@ services: - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf wazuh.indexer: - image: wazuh/wazuh-indexer:4.12.1 + image: wazuh/wazuh-indexer:4.12.2 hostname: wazuh.indexer restart: always ports: @@ -71,7 +71,7 @@ services: - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml wazuh.dashboard: - image: wazuh/wazuh-dashboard:4.12.1 + image: wazuh/wazuh-dashboard:4.12.2 hostname: wazuh.dashboard restart: always ports: From 5e5ea1065536923415fe2a81c2cdf82c645d3d05 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Mon, 12 May 2025 12:43:28 -0300 Subject: [PATCH 13/38] Modify PR number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88e732d6..ca63ebb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. ### Added -- Add Wazuh agent image build and deploy ([#1801](https://github.com/wazuh/wazuh-docker/pull/1801)) +- Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816)) ### Changed From 4348acbb834b91d296bd3444baf3f5544dafe54b Mon Sep 17 00:00:00 2001 From: vcerenu Date: Mon, 12 May 2025 12:47:10 -0300 Subject: [PATCH 14/38] Modify PR number --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 83a54908..06cb1076 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,8 @@ All notable changes to this project will be documented in this file. ### Added -- Add wazuh agent test and push ([#1809](https://github.com/wazuh/wazuh-docker/pull/1809)) -- Add Wazuh agent image build and deploy ([#1801](https://github.com/wazuh/wazuh-docker/pull/1801)) +- Add wazuh agent test and push ([#1817](https://github.com/wazuh/wazuh-docker/pull/1817)) +- Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816)) ### Changed From ce480d5c75ba121d65cbc060164f455d49d9703f Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 13 May 2025 16:43:59 -0300 Subject: [PATCH 15/38] Add mdbook documentation --- docs/.gitignore | 1 + docs/README.md | 260 ++++++++++++++++++ docs/SUMMARY.md | 29 ++ docs/book.toml | 7 + docs/build.sh | 3 + docs/dev/README.md | 2 + docs/dev/build-image.md | 1 + docs/dev/run-tests.md | 1 + docs/dev/setup.md | 3 + docs/ref/Introduction/README.md | 1 + docs/ref/Introduction/compatibility.md | 1 + docs/ref/Introduction/description.md | 1 + docs/ref/README.md | 7 + docs/ref/backup-restore.md | 1 + docs/ref/configuration/README.md | 1 + docs/ref/configuration/configuration-files.md | 1 + .../configuration/environment-variables.md | 1 + docs/ref/getting-started/README.md | 1 + docs/ref/getting-started/installation.md | 1 + docs/ref/getting-started/requirements.md | 1 + docs/ref/glossary.md | 1 + docs/ref/performance.md | 1 + docs/ref/security.md | 1 + docs/ref/uninstall.md | 1 + docs/ref/upgrade.md | 1 + docs/server.sh | 3 + 26 files changed, 332 insertions(+) create mode 100644 docs/.gitignore create mode 100644 docs/README.md create mode 100644 docs/SUMMARY.md create mode 100644 docs/book.toml create mode 100755 docs/build.sh create mode 100644 docs/dev/README.md create mode 100644 docs/dev/build-image.md create mode 100644 docs/dev/run-tests.md create mode 100644 docs/dev/setup.md create mode 100644 docs/ref/Introduction/README.md create mode 100644 docs/ref/Introduction/compatibility.md create mode 100644 docs/ref/Introduction/description.md create mode 100644 docs/ref/README.md create mode 100644 docs/ref/backup-restore.md create mode 100644 docs/ref/configuration/README.md create mode 100644 docs/ref/configuration/configuration-files.md create mode 100644 docs/ref/configuration/environment-variables.md create mode 100644 docs/ref/getting-started/README.md create mode 100644 docs/ref/getting-started/installation.md create mode 100644 docs/ref/getting-started/requirements.md create mode 100644 docs/ref/glossary.md create mode 100644 docs/ref/performance.md create mode 100644 docs/ref/security.md create mode 100644 docs/ref/uninstall.md create mode 100644 docs/ref/upgrade.md create mode 100755 docs/server.sh diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..7585238e --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +book diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..3e32ea9c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,260 @@ +# Wazuh containers for Docker + +[![Slack](https://img.shields.io/badge/slack-join-blue.svg)](https://wazuh.com/community/join-us-on-slack/) +[![Email](https://img.shields.io/badge/email-join-blue.svg)](https://groups.google.com/forum/#!forum/wazuh) +[![Documentation](https://img.shields.io/badge/docs-view-green.svg)](https://documentation.wazuh.com) +[![Documentation](https://img.shields.io/badge/web-view-green.svg)](https://wazuh.com) + +In this repository you will find the containers to run: + +* Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS +* Wazuh dashboard: provides a web user interface to browse through alert data and allows you to visualize the agents configuration and status. +* Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).** + +The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets. +The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets. +The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard. +The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexers, and one Wazuh dashboard. + +## Documentation + +* [Wazuh full documentation](http://documentation.wazuh.com) +* [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html) +* [Docker Hub](https://hub.docker.com/u/wazuh) + + +### Setup SSL certificate + +Before starting the environment it is required to provide an SSL certificate (or just generate one self-signed). + +Documentation on how to provide these two can be found at [Wazuh Docker Documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#production-deployment). + + +## Environment Variables + +Default values are included when available. + +### Wazuh +``` +API_USERNAME="wazuh-wui" # Wazuh API username +API_PASSWORD="MyS3cr37P450r.*-" # Wazuh API password - Must comply with requirements + # (8+ length, uppercase, lowercase, special chars) + +INDEXER_URL=https://wazuh.indexer:9200 # Wazuh indexer URL +INDEXER_USERNAME=admin # Wazuh indexer Username +INDEXER_PASSWORD=SecretPassword # Wazuh indexer Password +FILEBEAT_SSL_VERIFICATION_MODE=full # Filebeat SSL Verification mode (full or none) +SSL_CERTIFICATE_AUTHORITIES="" # Path of Filebeat SSL CA +SSL_CERTIFICATE="" # Path of Filebeat SSL Certificate +SSL_KEY="" # Path of Filebeat SSL Key +``` + +### Dashboard +``` +PATTERN="wazuh-alerts-*" # Default index pattern to use + +CHECKS_PATTERN=true # Defines which checks must be considered by the healthcheck +CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must be true or false +CHECKS_API=true +CHECKS_SETUP=true + +APP_TIMEOUT=20000 # Defines maximum timeout to be used on the Wazuh app requests + +API_SELECTOR=true Defines if the user is allowed to change the selected API directly from the Wazuh app top menu +IP_SELECTOR=true # Defines if the user is allowed to change the selected index pattern directly from the Wazuh app top menu +IP_IGNORE="[]" # List of index patterns to be ignored + +DASHBOARD_USERNAME=kibanaserver # Custom user saved in the dashboard keystore +DASHBOARD_PASSWORD=kibanaserver # Custom password saved in the dashboard keystore +WAZUH_MONITORING_ENABLED=true # Custom settings to enable/disable wazuh-monitoring indices +WAZUH_MONITORING_FREQUENCY=900 # Custom setting to set the frequency for wazuh-monitoring indices cron task +WAZUH_MONITORING_SHARDS=2 # Configure wazuh-monitoring-* indices shards and replicas +WAZUH_MONITORING_REPLICAS=0 ## +``` + +## Directory structure + + ├── build-docker-images + │   ├── build-images.sh + │   ├── build-images.yml + │   ├── README.md + │   ├── wazuh-agent + │   │   ├── config + │   │   │   ├── check_repository.sh + │   │   │   └── etc + │   │   │   ├── cont-init.d + │   │   │   │   ├── 0-wazuh-init + │   │   │   │   └── 1-agent + │   │   │   └── services.d + │   │   │   └── ossec-logs + │   │   │   └── run + │   │   └── Dockerfile + │   ├── wazuh-dashboard + │   │   ├── config + │   │   │   ├── check_repository.sh + │   │   │   ├── config.sh + │   │   │   ├── config.yml + │   │   │   ├── entrypoint.sh + │   │   │   ├── wazuh_app_config.sh + │   │   │   └── wazuh.yml + │   │   └── Dockerfile + │   ├── wazuh-indexer + │   │   ├── config + │   │   │   ├── action_groups.yml + │   │   │   ├── check_repository.sh + │   │   │   ├── config.sh + │   │   │   ├── config.yml + │   │   │   ├── entrypoint.sh + │   │   │   ├── internal_users.yml + │   │   │   ├── opensearch.yml + │   │   │   ├── roles_mapping.yml + │   │   │   ├── roles.yml + │   │   │   └── securityadmin.sh + │   │   └── Dockerfile + │   └── wazuh-manager + │   ├── config + │   │   ├── check_repository.sh + │   │   ├── create_user.py + │   │   ├── etc + │   │   │   ├── cont-init.d + │   │   │   │   ├── 0-wazuh-init + │   │   │   │   ├── 1-config-filebeat + │   │   │   │   └── 2-manager + │   │   │   └── services.d + │   │   │   ├── filebeat + │   │   │   │   ├── finish + │   │   │   │   └── run + │   │   │   └── ossec-logs + │   │   │   └── run + │   │   ├── filebeat_module.sh + │   │   ├── filebeat.yml + │   │   ├── permanent_data.env + │   │   └── permanent_data.sh + │   └── Dockerfile + ├── CHANGELOG.md + ├── docs + │   ├── book.toml + │   ├── build.sh + │   ├── dev + │   │   ├── build-image.md + │   │   ├── README.md + │   │   ├── run-tests.md + │   │   └── setup.md + │   ├── README.md + │   ├── ref + │   │   ├── backup-restore.md + │   │   ├── configuration + │   │   │   ├── configuration-files.md + │   │   │   ├── environment-variables.md + │   │   │   └── README.md + │   │   ├── getting-started + │   │   │   ├── installation.md + │   │   │   ├── README.md + │   │   │   └── requirements.md + │   │   ├── glossary.md + │   │   ├── Introduction + │   │   │   ├── compatibility.md + │   │   │   ├── description.md + │   │   │   └── README.md + │   │   ├── performance.md + │   │   ├── README.md + │   │   ├── security.md + │   │   ├── uninstall.md + │   │   └── upgrade.md + │   ├── server.sh + │   └── SUMMARY.md + ├── indexer-certs-creator + │   ├── config + │   │   └── entrypoint.sh + │   ├── Dockerfile + │   └── README.md + ├── LICENSE + ├── multi-node + │   ├── config + │   │   ├── certs.yml + │   │   ├── nginx + │   │   │   └── nginx.conf + │   │   ├── wazuh_cluster + │   │   │   ├── wazuh_manager.conf + │   │   │   └── wazuh_worker.conf + │   │   ├── wazuh_dashboard + │   │   │   ├── opensearch_dashboards.yml + │   │   │   └── wazuh.yml + │   │   └── wazuh_indexer + │   │   ├── internal_users.yml + │   │   ├── wazuh1.indexer.yml + │   │   ├── wazuh2.indexer.yml + │   │   └── wazuh3.indexer.yml + │   ├── docker-compose.yml + │   ├── generate-indexer-certs.yml + │   ├── Migration-to-Wazuh-4.4.md + │   ├── README.md + │   └── volume-migrator.sh + ├── README.md + ├── SECURITY.md + ├── single-node + │   ├── config + │   │   ├── certs.yml + │   │   ├── wazuh_cluster + │   │   │   └── wazuh_manager.conf + │   │   ├── wazuh_dashboard + │   │   │   ├── opensearch_dashboards.yml + │   │   │   └── wazuh.yml + │   │   ├── wazuh_indexer + │   │   │   ├── internal_users.yml + │   │   │   └── wazuh.indexer.yml + │   │   └── wazuh_indexer_ssl_certs [error opening dir] + │   ├── docker-compose.yml + │   ├── generate-indexer-certs.yml + │   └── README.md + ├── VERSION.json + └── wazuh-agent + ├── config + │   └── wazuh-agent-conf + └── docker-compose.yml + +## Branches + +* `main` branch contains the latest code, be aware of possible bugs on this branch. + +## Compatibility Matrix + +| Wazuh version | ODFE | XPACK | +|---------------|---------|--------| +| v4.3.0+ | | | +| v4.2.7 | 1.13.2 | 7.11.2 | +| v4.2.6 | 1.13.2 | 7.11.2 | +| v4.2.5 | 1.13.2 | 7.11.2 | +| v4.2.4 | 1.13.2 | 7.11.2 | +| v4.2.3 | 1.13.2 | 7.11.2 | +| v4.2.2 | 1.13.2 | 7.11.2 | +| v4.2.1 | 1.13.2 | 7.11.2 | +| v4.2.0 | 1.13.2 | 7.10.2 | +| v4.1.5 | 1.13.2 | 7.10.2 | +| v4.1.4 | 1.12.0 | 7.10.2 | +| v4.1.3 | 1.12.0 | 7.10.2 | +| v4.1.2 | 1.12.0 | 7.10.2 | +| v4.1.1 | 1.12.0 | 7.10.2 | +| v4.1.0 | 1.12.0 | 7.10.2 | +| v4.0.4 | 1.11.0 | | +| v4.0.3 | 1.11.0 | | +| v4.0.2 | 1.11.0 | | +| v4.0.1 | 1.11.0 | | +| v4.0.0 | 1.10.1 | | + +## Credits and Thank you + +These Docker containers are based on: + +* "deviantony" dockerfiles which can be found at [https://github.com/deviantony/docker-elk](https://github.com/deviantony/docker-elk) +* "xetus-oss" dockerfiles, which can be found at [https://github.com/xetus-oss/docker-ossec-server](https://github.com/xetus-oss/docker-ossec-server) + +We thank them and everyone else who has contributed to this project. + +## License and copyright + +Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2) + +## Web references + +[Wazuh website](http://wazuh.com) \ No newline at end of file diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md new file mode 100644 index 00000000..37807166 --- /dev/null +++ b/docs/SUMMARY.md @@ -0,0 +1,29 @@ +# Summary + +- [Introduction](README.md) + +# Development Guide + +- [Introduction](dev/README.md) +- [Setup Environment](dev/setup.md) +- [Build Image](dev/build-image.md) +- [Run Tests](dev/run-tests.md) + +# Reference Manual + +- [Reference](ref/README.md) +- [Introduction](ref/Introduction/README.md) + - [Description](ref/Introduction/description.md) + - [Compatibility](ref/Introduction/compatibility.md) +- [Getting Started](ref/getting-started/README.md) + - [Requirements](ref/getting-started/requirements.md) + - [Installation](ref/getting-started/installation.md) +- [Configuration](ref/configuration/README.md) + - [CEnvironment Variabless](ref/configuration/environment-variables.md) + - [Configuration files](ref/configuration/configuration-files.md) +- [Upgrade](ref/upgrade.md) +- [Uninstall](ref/uninstall.md) +- [Back Up and Restore](ref/backup-restore.md) +- [Security](ref/security.md) +- [Performance](ref/performance.md) +- [Glossary](ref/glossary.md) \ No newline at end of file diff --git a/docs/book.toml b/docs/book.toml new file mode 100644 index 00000000..d9b94462 --- /dev/null +++ b/docs/book.toml @@ -0,0 +1,7 @@ +[book] +title = "Wazuh Docker Documentation" +description = "Technical documentation for Wazuh Docker deployment." +authors = ["Victor Erenu"] +multilingual = false +src = "." +language = "en" \ No newline at end of file diff --git a/docs/build.sh b/docs/build.sh new file mode 100755 index 00000000..e031edfc --- /dev/null +++ b/docs/build.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +mdbook build \ No newline at end of file diff --git a/docs/dev/README.md b/docs/dev/README.md new file mode 100644 index 00000000..14c0f7aa --- /dev/null +++ b/docs/dev/README.md @@ -0,0 +1,2 @@ +# Development documentation + diff --git a/docs/dev/build-image.md b/docs/dev/build-image.md new file mode 100644 index 00000000..d04dc0dc --- /dev/null +++ b/docs/dev/build-image.md @@ -0,0 +1 @@ +# Build Image diff --git a/docs/dev/run-tests.md b/docs/dev/run-tests.md new file mode 100644 index 00000000..7dce2402 --- /dev/null +++ b/docs/dev/run-tests.md @@ -0,0 +1 @@ +# How to run the tests. diff --git a/docs/dev/setup.md b/docs/dev/setup.md new file mode 100644 index 00000000..f5baeef0 --- /dev/null +++ b/docs/dev/setup.md @@ -0,0 +1,3 @@ +# Set up the toolchain. + +# Set up editor/debugger. \ No newline at end of file diff --git a/docs/ref/Introduction/README.md b/docs/ref/Introduction/README.md new file mode 100644 index 00000000..dc648ce6 --- /dev/null +++ b/docs/ref/Introduction/README.md @@ -0,0 +1 @@ +# Introduction. \ No newline at end of file diff --git a/docs/ref/Introduction/compatibility.md b/docs/ref/Introduction/compatibility.md new file mode 100644 index 00000000..4399fdf7 --- /dev/null +++ b/docs/ref/Introduction/compatibility.md @@ -0,0 +1 @@ +# Compatibility. \ No newline at end of file diff --git a/docs/ref/Introduction/description.md b/docs/ref/Introduction/description.md new file mode 100644 index 00000000..7234fb04 --- /dev/null +++ b/docs/ref/Introduction/description.md @@ -0,0 +1 @@ +# Description. \ No newline at end of file diff --git a/docs/ref/README.md b/docs/ref/README.md new file mode 100644 index 00000000..8847bd5a --- /dev/null +++ b/docs/ref/README.md @@ -0,0 +1,7 @@ +# Introduction + +## Description + +## Architecture + +## Compatibility \ No newline at end of file diff --git a/docs/ref/backup-restore.md b/docs/ref/backup-restore.md new file mode 100644 index 00000000..d2f033ad --- /dev/null +++ b/docs/ref/backup-restore.md @@ -0,0 +1 @@ +# Back Up and Restore diff --git a/docs/ref/configuration/README.md b/docs/ref/configuration/README.md new file mode 100644 index 00000000..af4abbfe --- /dev/null +++ b/docs/ref/configuration/README.md @@ -0,0 +1 @@ +# Configuration \ No newline at end of file diff --git a/docs/ref/configuration/configuration-files.md b/docs/ref/configuration/configuration-files.md new file mode 100644 index 00000000..af8ac432 --- /dev/null +++ b/docs/ref/configuration/configuration-files.md @@ -0,0 +1 @@ +# Configuration files \ No newline at end of file diff --git a/docs/ref/configuration/environment-variables.md b/docs/ref/configuration/environment-variables.md new file mode 100644 index 00000000..be8e682f --- /dev/null +++ b/docs/ref/configuration/environment-variables.md @@ -0,0 +1 @@ +# Environment Variables \ No newline at end of file diff --git a/docs/ref/getting-started/README.md b/docs/ref/getting-started/README.md new file mode 100644 index 00000000..bad55622 --- /dev/null +++ b/docs/ref/getting-started/README.md @@ -0,0 +1 @@ +# Getting Started diff --git a/docs/ref/getting-started/installation.md b/docs/ref/getting-started/installation.md new file mode 100644 index 00000000..25267fe2 --- /dev/null +++ b/docs/ref/getting-started/installation.md @@ -0,0 +1 @@ +# Installation diff --git a/docs/ref/getting-started/requirements.md b/docs/ref/getting-started/requirements.md new file mode 100644 index 00000000..1fa9034a --- /dev/null +++ b/docs/ref/getting-started/requirements.md @@ -0,0 +1 @@ +# Requirements diff --git a/docs/ref/glossary.md b/docs/ref/glossary.md new file mode 100644 index 00000000..ca3c8276 --- /dev/null +++ b/docs/ref/glossary.md @@ -0,0 +1 @@ +# Glossary diff --git a/docs/ref/performance.md b/docs/ref/performance.md new file mode 100644 index 00000000..6babb314 --- /dev/null +++ b/docs/ref/performance.md @@ -0,0 +1 @@ +# Performance diff --git a/docs/ref/security.md b/docs/ref/security.md new file mode 100644 index 00000000..8dbb2f9b --- /dev/null +++ b/docs/ref/security.md @@ -0,0 +1 @@ +# Security diff --git a/docs/ref/uninstall.md b/docs/ref/uninstall.md new file mode 100644 index 00000000..316df265 --- /dev/null +++ b/docs/ref/uninstall.md @@ -0,0 +1 @@ +# Uninstall diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md new file mode 100644 index 00000000..dab017fb --- /dev/null +++ b/docs/ref/upgrade.md @@ -0,0 +1 @@ +# Upgrade diff --git a/docs/server.sh b/docs/server.sh new file mode 100755 index 00000000..8de52373 --- /dev/null +++ b/docs/server.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +mdbook serve \ No newline at end of file From 3a69f6aabca3607a00e6ea9deecb1e50ec03c06f Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 14 May 2025 14:04:44 -0300 Subject: [PATCH 16/38] Add build and deploy doc --- docs/SUMMARY.md | 7 ++-- docs/dev/build-image.md | 33 ++++++++++++++++++- docs/ref/getting-started/deployment/README.md | 0 .../getting-started/deployment/multi-node.md | 32 ++++++++++++++++++ .../getting-started/deployment/single-node.md | 31 +++++++++++++++++ .../getting-started/deployment/wazuh-agent.md | 24 ++++++++++++++ docs/ref/getting-started/installation.md | 1 - docs/ref/performance.md | 1 - docs/ref/uninstall.md | 1 - 9 files changed, 123 insertions(+), 7 deletions(-) create mode 100644 docs/ref/getting-started/deployment/README.md create mode 100644 docs/ref/getting-started/deployment/multi-node.md create mode 100644 docs/ref/getting-started/deployment/single-node.md create mode 100644 docs/ref/getting-started/deployment/wazuh-agent.md delete mode 100644 docs/ref/getting-started/installation.md delete mode 100644 docs/ref/performance.md delete mode 100644 docs/ref/uninstall.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 37807166..823255e8 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -17,13 +17,14 @@ - [Compatibility](ref/Introduction/compatibility.md) - [Getting Started](ref/getting-started/README.md) - [Requirements](ref/getting-started/requirements.md) - - [Installation](ref/getting-started/installation.md) + - [Deployment](ref/getting-started/deployment/README.md) + - [Single Node Wazuh Stack](ref/getting-started/deployment/single-node.md) + - [Multi Node Wazuh Stack](ref/getting-started/deployment/multi-node.md) + - [Wazuh Agent](ref/getting-started/deployment/wazuh-agent.md) - [Configuration](ref/configuration/README.md) - [CEnvironment Variabless](ref/configuration/environment-variables.md) - [Configuration files](ref/configuration/configuration-files.md) - [Upgrade](ref/upgrade.md) -- [Uninstall](ref/uninstall.md) - [Back Up and Restore](ref/backup-restore.md) - [Security](ref/security.md) -- [Performance](ref/performance.md) - [Glossary](ref/glossary.md) \ No newline at end of file diff --git a/docs/dev/build-image.md b/docs/dev/build-image.md index d04dc0dc..58a7c734 100644 --- a/docs/dev/build-image.md +++ b/docs/dev/build-image.md @@ -1 +1,32 @@ -# Build Image +# Wazuh Docker Image Builder + +The creation of the images for the Wazuh stack deployment in Docker is done with the build-images.yml script + +To execute the process, the following must be executed in the root of the wazuh-docker repository: + +``` +$ build-docker-images/build-images.sh +``` + +This script initializes the environment variables needed to build each of the images. + +The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument: + +``` +$ build-docker-images/build-images.sh -v 4.12.2 +``` + +To get all the available script options use the -h or --help option: + +``` +$ build-docker-images/build-images.sh -h + +Usage: build-docker-images/build-images.sh [OPTIONS] + + -d, --dev [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default. + -f, --filebeat-module [Optional] Set Filebeat module version. By default 0.4. + -r, --revision [Optional] Package revision. By default 1 + -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.12.2. + -h, --help Show this help. + +``` \ No newline at end of file diff --git a/docs/ref/getting-started/deployment/README.md b/docs/ref/getting-started/deployment/README.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/ref/getting-started/deployment/multi-node.md b/docs/ref/getting-started/deployment/multi-node.md new file mode 100644 index 00000000..32e7980e --- /dev/null +++ b/docs/ref/getting-started/deployment/multi-node.md @@ -0,0 +1,32 @@ +# Wazuh Docker deployment + +## Deploy Wazuh Docker in multi node configuration + +This deployment is defined in the `multi-node/docker-compose.yml` file with two Wazuh manager containers, three Wazuh indexer containers, and one Wazuh dashboard container. It can be deployed by following these steps: + +1) Enter the multi-node directory of the repository: +``` +$ cd multi-node +``` +2) Increase max_map_count on your host (Linux). This command must be run with root permissions: +``` +$ sysctl -w vm.max_map_count=262144 +``` +3) Run the certificate creation script: +``` +$ docker-compose -f generate-indexer-certs.yml run --rm generator +``` +4) Start the environment with docker-compose: + +- In the foregroud: +``` +$ docker-compose up +``` + +- In the background: +``` +$ docker-compose up -d +``` + + +The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated. \ No newline at end of file diff --git a/docs/ref/getting-started/deployment/single-node.md b/docs/ref/getting-started/deployment/single-node.md new file mode 100644 index 00000000..b34f58a3 --- /dev/null +++ b/docs/ref/getting-started/deployment/single-node.md @@ -0,0 +1,31 @@ +# Wazuh Docker deployment + +## Deploy Wazuh Docker in single node configuration + +This deployment is defined in the `single-node/docker-compose.yml` file with one Wazuh manager containers, one Wazuh indexer containers, and one Wazuh dashboard container. It can be deployed by following these steps: + +1) Enter the single-node directory of the repository: +``` +$ cd single-node +``` +2) Increase max_map_count on your host (Linux). This command must be run with root permissions: +``` +$ sysctl -w vm.max_map_count=262144 +``` +3) Run the certificate creation script: +``` +$ docker-compose -f generate-indexer-certs.yml run --rm generator +``` +4) Start the environment with docker-compose: + +- In the foregroud: +``` +$ docker-compose up +``` +- In the background: +``` +$ docker-compose up -d +``` + +The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated. + diff --git a/docs/ref/getting-started/deployment/wazuh-agent.md b/docs/ref/getting-started/deployment/wazuh-agent.md new file mode 100644 index 00000000..7ec70984 --- /dev/null +++ b/docs/ref/getting-started/deployment/wazuh-agent.md @@ -0,0 +1,24 @@ +# Wazuh Docker deployment + +## Deploy Wazuh agent + +1) Enter the `wazuh-agent` directory of the repository. +``` +$ cd wazuh-agent +``` +2) Edit the `docker-compose.yml` file, changing the current value of the `WAZUH_MANAGER_SERVER` variable to the IP or URL of the Wazuh manager: +``` + environment: + - WAZUH_MANAGER_SERVER= +``` +3) Start the environment with docker-compose: + +- In the foregroud: +``` +$ docker-compose up +``` + +- In the background: +``` +$ docker-compose up -d +``` \ No newline at end of file diff --git a/docs/ref/getting-started/installation.md b/docs/ref/getting-started/installation.md deleted file mode 100644 index 25267fe2..00000000 --- a/docs/ref/getting-started/installation.md +++ /dev/null @@ -1 +0,0 @@ -# Installation diff --git a/docs/ref/performance.md b/docs/ref/performance.md deleted file mode 100644 index 6babb314..00000000 --- a/docs/ref/performance.md +++ /dev/null @@ -1 +0,0 @@ -# Performance diff --git a/docs/ref/uninstall.md b/docs/ref/uninstall.md deleted file mode 100644 index 316df265..00000000 --- a/docs/ref/uninstall.md +++ /dev/null @@ -1 +0,0 @@ -# Uninstall From 16c6984a8ad2a2604dd1c32f100df2cfdc032a01 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 14 May 2025 14:52:21 -0300 Subject: [PATCH 17/38] Add upgrade process --- docs/ref/upgrade.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md index dab017fb..d4e04967 100644 --- a/docs/ref/upgrade.md +++ b/docs/ref/upgrade.md @@ -1 +1,11 @@ -# Upgrade +# Upgrade Process + +The upgrade process for Wazuh using Docker can vary depending on the version you are currently using. Each version may introduce specific changes or requirements that must be considered before proceeding with the upgrade. + +To ensure a smooth and successful upgrade, we recommend following the official Wazuh documentation, which provides detailed instructions tailored to different upgrade paths. + +You can find the most up-to-date upgrade guide at the following link: + +[Upgrading Wazuh Docker](https://documentation.wazuh.com/current/deployment-options/docker/upgrading-wazuh-docker.html) + +Please review the guide carefully and make sure to follow the steps applicable to your current setup and Wazuh version. From 4bb6cc9a29df00b4c447d9d94397304ced9c0b69 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 14 May 2025 15:44:12 -0300 Subject: [PATCH 18/38] Change deploy process --- docs/SUMMARY.md | 2 - docs/ref/backup-restore.md | 1 - .../getting-started/deployment/multi-node.md | 52 +++++++++--------- .../getting-started/deployment/single-node.md | 54 ++++++++++--------- .../getting-started/deployment/wazuh-agent.md | 50 ++++++++++------- docs/ref/security.md | 1 - 6 files changed, 87 insertions(+), 73 deletions(-) delete mode 100644 docs/ref/backup-restore.md delete mode 100644 docs/ref/security.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 823255e8..137950c8 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -25,6 +25,4 @@ - [CEnvironment Variabless](ref/configuration/environment-variables.md) - [Configuration files](ref/configuration/configuration-files.md) - [Upgrade](ref/upgrade.md) -- [Back Up and Restore](ref/backup-restore.md) -- [Security](ref/security.md) - [Glossary](ref/glossary.md) \ No newline at end of file diff --git a/docs/ref/backup-restore.md b/docs/ref/backup-restore.md deleted file mode 100644 index d2f033ad..00000000 --- a/docs/ref/backup-restore.md +++ /dev/null @@ -1 +0,0 @@ -# Back Up and Restore diff --git a/docs/ref/getting-started/deployment/multi-node.md b/docs/ref/getting-started/deployment/multi-node.md index 32e7980e..5df93e21 100644 --- a/docs/ref/getting-started/deployment/multi-node.md +++ b/docs/ref/getting-started/deployment/multi-node.md @@ -1,32 +1,34 @@ -# Wazuh Docker deployment +# Wazuh Docker Deployment -## Deploy Wazuh Docker in multi node configuration +## Deploying Wazuh Docker in a Multi-Node Configuration -This deployment is defined in the `multi-node/docker-compose.yml` file with two Wazuh manager containers, three Wazuh indexer containers, and one Wazuh dashboard container. It can be deployed by following these steps: +This deployment utilizes the `multi-node/docker-compose.yml` file, which defines a cluster setup with two Wazuh manager containers, three Wazuh indexer containers, and one Wazuh dashboard container. Follow these steps to deploy this configuration: -1) Enter the multi-node directory of the repository: -``` -$ cd multi-node -``` -2) Increase max_map_count on your host (Linux). This command must be run with root permissions: -``` -$ sysctl -w vm.max_map_count=262144 -``` -3) Run the certificate creation script: -``` -$ docker-compose -f generate-indexer-certs.yml run --rm generator -``` -4) Start the environment with docker-compose: +1. Navigate to the `multi-node` directory within your repository: + ```bash + cd multi-node + ``` -- In the foregroud: -``` -$ docker-compose up -``` +2. Increase `vm.max_map_count` on each Docker host that will run a Wazuh Indexer container (Linux). This setting is crucial for Wazuh Indexer to operate correctly. This command requires root permissions: + ```bash + sudo sysctl -w vm.max_map_count=262144 + ``` + **Note:** This change is temporary and will revert upon reboot. To make it permanent on each relevant host, you'll need to edit the `/etc/sysctl.conf` file, add `vm.max_map_count=262144`, and then apply the change with `sudo sysctl -p`. -- In the background: -``` -$ docker-compose up -d -``` +3. Run the script to generate the necessary certificates for the Wazuh Stack. This ensures secure communication between the nodes: + ```bash + docker-compose -f generate-indexer-certs.yml run --rm generator + ``` +4. Start the Wazuh environment using `docker-compose`: -The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated. \ No newline at end of file + * To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop): + ```bash + docker-compose up + ``` + * To run in the background (detached mode, allowing the containers to run independently of your terminal): + ```bash + docker-compose up -d + ``` + +Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated. \ No newline at end of file diff --git a/docs/ref/getting-started/deployment/single-node.md b/docs/ref/getting-started/deployment/single-node.md index b34f58a3..b36f8190 100644 --- a/docs/ref/getting-started/deployment/single-node.md +++ b/docs/ref/getting-started/deployment/single-node.md @@ -1,31 +1,35 @@ -# Wazuh Docker deployment +# Wazuh Docker Deployment -## Deploy Wazuh Docker in single node configuration +## Deploying Wazuh Docker in a Single-Node Configuration -This deployment is defined in the `single-node/docker-compose.yml` file with one Wazuh manager containers, one Wazuh indexer containers, and one Wazuh dashboard container. It can be deployed by following these steps: +This deployment uses the `single-node/docker-compose.yml` file, which defines a setup with one Wazuh manager container, one Wazuh indexer container, and one Wazuh dashboard container. Follow these steps to deploy it: -1) Enter the single-node directory of the repository: -``` -$ cd single-node -``` -2) Increase max_map_count on your host (Linux). This command must be run with root permissions: -``` -$ sysctl -w vm.max_map_count=262144 -``` -3) Run the certificate creation script: -``` -$ docker-compose -f generate-indexer-certs.yml run --rm generator -``` -4) Start the environment with docker-compose: +1. Navigate to the `single-node` directory within your repository: + ```bash + cd single-node + ``` -- In the foregroud: -``` -$ docker-compose up -``` -- In the background: -``` -$ docker-compose up -d -``` +2. Increase `vm.max_map_count` on each Docker host that will run a Wazuh Indexer container (Linux). This setting is crucial for Wazuh Indexer to operate correctly. This command requires root permissions: + ```bash + sudo sysctl -w vm.max_map_count=262144 + ``` + **Note:** This change is temporary and will revert upon reboot. To make it permanent, you'll need to edit the `/etc/sysctl.conf` file and add `vm.max_map_count=262144`, then apply with `sudo sysctl -p`. -The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated. +3. Run the script to generate the necessary certificates for the Wazuh Stack. This ensures secure communication between the nodes: + ```bash + docker-compose -f generate-indexer-certs.yml run --rm generator + ``` + +4. Start the Wazuh environment using `docker-compose`: + + * To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop): + ```bash + docker-compose up + ``` + * To run in the background (detached mode, allowing the containers to run independently of your terminal): + ```bash + docker-compose up -d + ``` + +Please allow some time for the environment to initialize, especially on the first run. It can take approximately a minute or two (depending on your host's resources) as the Wazuh Indexer starts up and generates the necessary indexes and index patterns. diff --git a/docs/ref/getting-started/deployment/wazuh-agent.md b/docs/ref/getting-started/deployment/wazuh-agent.md index 7ec70984..82773d8d 100644 --- a/docs/ref/getting-started/deployment/wazuh-agent.md +++ b/docs/ref/getting-started/deployment/wazuh-agent.md @@ -1,24 +1,36 @@ -# Wazuh Docker deployment +# Wazuh Docker Deployment -## Deploy Wazuh agent +## Deploying the Wazuh Agent -1) Enter the `wazuh-agent` directory of the repository. -``` -$ cd wazuh-agent -``` -2) Edit the `docker-compose.yml` file, changing the current value of the `WAZUH_MANAGER_SERVER` variable to the IP or URL of the Wazuh manager: -``` +Follow these steps to deploy the Wazuh agent using Docker. + +1. Navigate to the `wazuh-agent` directory within your repository: + ```bash + cd wazuh-agent + ``` + +2. Edit the `docker-compose.yml` file. You need to update the `WAZUH_MANAGER_SERVER` environment variable with the IP address or hostname of your Wazuh manager. + + Locate the `environment` section for the agent service and update it as follows: + ```yaml + # Inside your docker-compose.yml file + # services: + # wazuh-agent: + # ... environment: - - WAZUH_MANAGER_SERVER= -``` -3) Start the environment with docker-compose: + - WAZUH_MANAGER_SERVER= + # ... + ``` + **Note:** Replace `` with the actual IP address or hostname of your Wazuh manager. -- In the foregroud: -``` -$ docker-compose up -``` +3. Start the environment using `docker-compose`: -- In the background: -``` -$ docker-compose up -d -``` \ No newline at end of file + * To run in the foreground (logs will be displayed in your current terminal, and you can stop it with `Ctrl+C`): + ```bash + docker-compose up + ``` + + * To run in the background (detached mode, allowing the container to run independently of your terminal): + ```bash + docker-compose up -d + ``` \ No newline at end of file diff --git a/docs/ref/security.md b/docs/ref/security.md deleted file mode 100644 index 8dbb2f9b..00000000 --- a/docs/ref/security.md +++ /dev/null @@ -1 +0,0 @@ -# Security From 027ebadd6eecf1d211916b3b1e27830793114a23 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 14 May 2025 16:03:50 -0300 Subject: [PATCH 19/38] Change directory structure --- README.md | 234 +++++++++++++++++++++++++++++-------------------- docs/README.md | 10 +-- 2 files changed, 144 insertions(+), 100 deletions(-) diff --git a/README.md b/README.md index deb9cf43..ecb5beeb 100644 --- a/README.md +++ b/README.md @@ -74,105 +74,149 @@ WAZUH_MONITORING_REPLICAS=0 ## ## Directory structure - ├── build-docker-images - │   ├── build-images.sh - │   ├── build-images.yml - │   ├── README.md - │   ├── wazuh-dashboard - │   │   ├── config - │   │   │   ├── config.sh - │   │   │   ├── config.yml - │   │   │   ├── dl_base.sh - │   │   │   ├── entrypoint.sh - │   │   │   ├── install_wazuh_app.sh - │   │   │   ├── opensearch_dashboards.yml - │   │   │   ├── wazuh_app_config.sh - │   │   │   └── wazuh.yml - │   │   └── Dockerfile - │   ├── wazuh-indexer - │   │   ├── config - │   │   │   ├── action_groups.yml - │   │   │   ├── config.sh - │   │   │   ├── config.yml - │   │   │   ├── entrypoint.sh - │   │   │   ├── internal_users.yml - │   │   │   ├── opensearch.yml - │   │   │   ├── roles_mapping.yml - │   │   │   ├── roles.yml - │   │   │   └── securityadmin.sh - │   │   └── Dockerfile - │   └── wazuh-manager - │   ├── config - │   │   ├── check_repository.sh - │   │   ├── create_user.py - │   │   ├── etc - │   │   │   ├── cont-init.d - │   │   │   │   ├── 0-wazuh-init - │   │   │   │   ├── 1-config-filebeat - │   │   │   │   └── 2-manager - │   │   │   └── services.d - │   │   │   ├── filebeat - │   │   │   │   ├── finish - │   │   │   │   └── run - │   │   │   └── ossec-logs - │   │   │   └── run - │   │   ├── filebeat_module.sh - │   │   ├── filebeat.yml - │   │   ├── permanent_data.env - │   │   └── permanent_data.sh - │   └── Dockerfile - ├── CHANGELOG.md - ├── indexer-certs-creator - │   ├── config - │   │   └── entrypoint.sh - │   ├── Dockerfile - │   └── README.md - ├── LICENSE - ├── multi-node - │   ├── config - │   │   ├── certs.yml - │   │   ├── nginx - │   │   │   └── nginx.conf - │   │   ├── wazuh_cluster - │   │   │   ├── wazuh_manager.conf - │   │   │   └── wazuh_worker.conf - │   │   ├── wazuh_dashboard - │   │   │   ├── opensearch_dashboards.yml - │   │   │   └── wazuh.yml - │   │   └── wazuh_indexer - │   │   ├── internal_users.yml - │   │   ├── wazuh1.indexer.yml - │   │   ├── wazuh2.indexer.yml - │   │   └── wazuh3.indexer.yml - │   ├── docker-compose.yml - │   ├── generate-indexer-certs.yml - │   ├── Migration-to-Wazuh-4.4.md - │   ├── README.md - │   └── volume-migrator.sh - ├── README.md - ├── SECURITY.md - ├── single-node - │   ├── config - │   │   ├── certs.yml - │   │   ├── wazuh_cluster - │   │   │   └── wazuh_manager.conf - │   │   ├── wazuh_dashboard - │   │   │   ├── opensearch_dashboards.yml - │   │   │   └── wazuh.yml - │   │   └── wazuh_indexer - │   │   ├── internal_users.yml - │   │   └── wazuh.indexer.yml - │   ├── docker-compose.yml - │   ├── generate-indexer-certs.yml - │   └── README.md - └── VERSION.json - + ├── build-docker-images + │   ├── build-images.sh + │   ├── build-images.yml + │   ├── README.md + │   ├── wazuh-agent + │   │   ├── config + │   │   │   ├── check_repository.sh + │   │   │   └── etc + │   │   │   ├── cont-init.d + │   │   │   │   ├── 0-wazuh-init + │   │   │   │   └── 1-agent + │   │   │   └── services.d + │   │   │   └── ossec-logs + │   │   │   └── run + │   │   └── Dockerfile + │   ├── wazuh-dashboard + │   │   ├── config + │   │   │   ├── check_repository.sh + │   │   │   ├── config.sh + │   │   │   ├── config.yml + │   │   │   ├── entrypoint.sh + │   │   │   ├── wazuh_app_config.sh + │   │   │   └── wazuh.yml + │   │   └── Dockerfile + │   ├── wazuh-indexer + │   │   ├── config + │   │   │   ├── action_groups.yml + │   │   │   ├── check_repository.sh + │   │   │   ├── config.sh + │   │   │   ├── config.yml + │   │   │   ├── entrypoint.sh + │   │   │   ├── internal_users.yml + │   │   │   ├── opensearch.yml + │   │   │   ├── roles_mapping.yml + │   │   │   ├── roles.yml + │   │   │   └── securityadmin.sh + │   │   └── Dockerfile + │   └── wazuh-manager + │   ├── config + │   │   ├── check_repository.sh + │   │   ├── create_user.py + │   │   ├── etc + │   │   │   ├── cont-init.d + │   │   │   │   ├── 0-wazuh-init + │   │   │   │   ├── 1-config-filebeat + │   │   │   │   └── 2-manager + │   │   │   └── services.d + │   │   │   ├── filebeat + │   │   │   │   ├── finish + │   │   │   │   └── run + │   │   │   └── ossec-logs + │   │   │   └── run + │   │   ├── filebeat_module.sh + │   │   ├── filebeat.yml + │   │   ├── permanent_data.env + │   │   └── permanent_data.sh + │   └── Dockerfile + ├── CHANGELOG.md + ├── docs + │   ├── book.toml + │   ├── build.sh + │   ├── dev + │   │   ├── build-image.md + │   │   ├── README.md + │   │   ├── run-tests.md + │   │   └── setup.md + │   ├── README.md + │   ├── ref + │   │   ├── configuration + │   │   │   ├── configuration-files.md + │   │   │   ├── environment-variables.md + │   │   │   └── README.md + │   │   ├── getting-started + │   │   │   ├── deployment + │   │   │   │   ├── multi-node.md + │   │   │   │   ├── README.md + │   │   │   │   ├── single-node.md + │   │   │   │   └── wazuh-agent.md + │   │   │   ├── README.md + │   │   │   └── requirements.md + │   │   ├── glossary.md + │   │   ├── Introduction + │   │   │   ├── compatibility.md + │   │   │   ├── description.md + │   │   │   └── README.md + │   │   ├── README.md + │   │   └── upgrade.md + │   ├── server.sh + │   └── SUMMARY.md + ├── indexer-certs-creator + │   ├── config + │   │   └── entrypoint.sh + │   ├── Dockerfile + │   └── README.md + ├── LICENSE + ├── multi-node + │   ├── config + │   │   ├── certs.yml + │   │   ├── nginx + │   │   │   └── nginx.conf + │   │   ├── wazuh_cluster + │   │   │   ├── wazuh_manager.conf + │   │   │   └── wazuh_worker.conf + │   │   ├── wazuh_dashboard + │   │   │   ├── opensearch_dashboards.yml + │   │   │   └── wazuh.yml + │   │   └── wazuh_indexer + │   │   ├── internal_users.yml + │   │   ├── wazuh1.indexer.yml + │   │   ├── wazuh2.indexer.yml + │   │   └── wazuh3.indexer.yml + │   ├── docker-compose.yml + │   ├── generate-indexer-certs.yml + │   ├── Migration-to-Wazuh-4.4.md + │   ├── README.md + │   └── volume-migrator.sh + ├── README.md + ├── SECURITY.md + ├── single-node + │   ├── config + │   │   ├── certs.yml + │   │   ├── wazuh_cluster + │   │   │   └── wazuh_manager.conf + │   │   ├── wazuh_dashboard + │   │   │   ├── opensearch_dashboards.yml + │   │   │   └── wazuh.yml + │   │   ├── wazuh_indexer + │   │   │   ├── internal_users.yml + │   │   │   └── wazuh.indexer.yml + │   │   └── wazuh_indexer_ssl_certs [error opening dir] + │   ├── docker-compose.yml + │   ├── generate-indexer-certs.yml + │   └── README.md + ├── VERSION.json + └── wazuh-agent + ├── config + │   └── wazuh-agent-conf + └── docker-compose.yml ## Branches -* `master` branch contains the latest code, be aware of possible bugs on this branch. -* `stable` branch corresponds to the last Wazuh stable version. +* `main` branch contains the latest code, be aware of possible bugs on this branch. ## Compatibility Matrix diff --git a/docs/README.md b/docs/README.md index 3e32ea9c..767aa057 100644 --- a/docs/README.md +++ b/docs/README.md @@ -142,13 +142,16 @@ WAZUH_MONITORING_REPLICAS=0 ## │   │   └── setup.md │   ├── README.md │   ├── ref - │   │   ├── backup-restore.md │   │   ├── configuration │   │   │   ├── configuration-files.md │   │   │   ├── environment-variables.md │   │   │   └── README.md │   │   ├── getting-started - │   │   │   ├── installation.md + │   │   │   ├── deployment + │   │   │   │   ├── multi-node.md + │   │   │   │   ├── README.md + │   │   │   │   ├── single-node.md + │   │   │   │   └── wazuh-agent.md │   │   │   ├── README.md │   │   │   └── requirements.md │   │   ├── glossary.md @@ -156,10 +159,7 @@ WAZUH_MONITORING_REPLICAS=0 ## │   │   │   ├── compatibility.md │   │   │   ├── description.md │   │   │   └── README.md - │   │   ├── performance.md │   │   ├── README.md - │   │   ├── security.md - │   │   ├── uninstall.md │   │   └── upgrade.md │   ├── server.sh │   └── SUMMARY.md From f3a74ffff78827cd9e664946cd543eac3993be50 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 14 May 2025 16:10:58 -0300 Subject: [PATCH 20/38] Add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c61ed54..2bcbf9ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. ### Added +- Add technical documentation ([#1822](https://github.com/wazuh/wazuh-docker/pull/1822)) - Add wazuh agent test and push ([#1817](https://github.com/wazuh/wazuh-docker/pull/1817)) - Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816)) From 74c34e87b12407ce7dbbed31cd886added623a6e Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 16 May 2025 09:25:36 -0300 Subject: [PATCH 21/38] Migrate to Docker Compose v2 --- .../Procedure_push_docker_images.yml | 6 ----- .github/workflows/push.yml | 23 +++------------- build-docker-images/build-images.sh | 2 +- build-docker-images/build-images.yml | 2 -- indexer-certs-creator/README.md | 2 +- multi-node/Migration-to-Wazuh-4.4.md | 27 ++----------------- multi-node/README.md | 10 +++---- multi-node/docker-compose.yml | 2 -- multi-node/generate-indexer-certs.yml | 2 -- single-node/README.md | 8 +++--- single-node/docker-compose.yml | 2 -- single-node/generate-indexer-certs.yml | 2 -- 12 files changed, 17 insertions(+), 71 deletions(-) diff --git a/.github/workflows/Procedure_push_docker_images.yml b/.github/workflows/Procedure_push_docker_images.yml index d02f14c9..259f45fb 100644 --- a/.github/workflows/Procedure_push_docker_images.yml +++ b/.github/workflows/Procedure_push_docker_images.yml @@ -116,12 +116,6 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Install Docker Compose - run: | - sudo apt-get update - sudo apt-get install -y docker-compose - echo "Installed Docker Compose version: $(docker-compose --version)" - - name: Build Wazuh images run: | IMAGE_TAG=${{ inputs.image_tag }} diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 94bf3b7c..931bde01 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -10,11 +10,6 @@ jobs: - name: Check out code uses: actions/checkout@v3 - - name: Install docker-compose - run: | - curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - - name: Build Wazuh images run: build-docker-images/build-images.sh @@ -68,11 +63,6 @@ jobs: - name: Check out code uses: actions/checkout@v3 - - name: Install docker-compose - run: | - curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - - name: Create enviroment variables run: cat .env > $GITHUB_ENV @@ -99,10 +89,10 @@ jobs: - name: Create single node certficates - run: docker-compose -f single-node/generate-indexer-certs.yml run --rm generator + run: docker compose -f single-node/generate-indexer-certs.yml run --rm generator - name: Start single node stack - run: docker-compose -f single-node/docker-compose.yml up -d + run: docker compose -f single-node/docker-compose.yml up -d - name: Check Wazuh indexer start run: | @@ -196,11 +186,6 @@ jobs: - name: Check out code uses: actions/checkout@v3 - - name: Install docker-compose - run: | - curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - - name: Create enviroment variables run: cat .env > $GITHUB_ENV @@ -230,10 +215,10 @@ jobs: rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar - name: Create multi node certficates - run: docker-compose -f multi-node/generate-indexer-certs.yml run --rm generator + run: docker compose -f multi-node/generate-indexer-certs.yml run --rm generator - name: Start multi node stack - run: docker-compose -f multi-node/docker-compose.yml up -d + run: docker compose -f multi-node/docker-compose.yml up -d - name: Check Wazuh indexer start run: | diff --git a/build-docker-images/build-images.sh b/build-docker-images/build-images.sh index d0551e48..21f0e5f0 100755 --- a/build-docker-images/build-images.sh +++ b/build-docker-images/build-images.sh @@ -65,7 +65,7 @@ build() { echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env - docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache || clean 1 + docker compose -f build-docker-images/build-images.yml --env-file .env build --no-cache || clean 1 return 0 } diff --git a/build-docker-images/build-images.yml b/build-docker-images/build-images.yml index 90fbb897..6620b17e 100644 --- a/build-docker-images/build-images.yml +++ b/build-docker-images/build-images.yml @@ -1,6 +1,4 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) -version: '3.7' - services: wazuh.manager: build: diff --git a/indexer-certs-creator/README.md b/indexer-certs-creator/README.md index b7dbc565..10965097 100644 --- a/indexer-certs-creator/README.md +++ b/indexer-certs-creator/README.md @@ -5,5 +5,5 @@ The dockerfile hosted in this directory is used to build the image used to boot To create the image, the following command must be executed: ``` -$ docker build -t wazuh/wazuh-certs-generator:0.0.1 . +$ docker build -t wazuh/wazuh-certs-generator:0.0.2 . ``` diff --git a/multi-node/Migration-to-Wazuh-4.4.md b/multi-node/Migration-to-Wazuh-4.4.md index 3ff10a84..06450e4c 100644 --- a/multi-node/Migration-to-Wazuh-4.4.md +++ b/multi-node/Migration-to-Wazuh-4.4.md @@ -6,35 +6,12 @@ The example is migrating from v4.2 to v4.4. Assuming that you have a v4.2 production deployment, perform the following steps. **1. Stop 4.2 environment** -`docker-compose -f production-cluster.yml stop` +`docker compose -f production-cluster.yml stop` **2. List elasticsearch volumes** `docker volume ls --filter name='wazuh-docker_elastic-data'` -**3. Inspect elasticsearch volume** -`docker volume inspect wazuh-docker_elastic-data-1` - -**4. Spin down the 4.2 environment.** -`docker-compose -f production-cluster.yml down` - -**Steps 5 and 6 can be done with the volume-migrator.sh script, specifying Docker compose version and project name as parameters.** - -Ex: $ multi-node/volume-migrator.sh 1.25.0 multi-node - -**5. Run the volume create command:** create new indexer and Wazuh manager volumes using the `com.docker.compose.version` label value from the previous command. - -``` -docker volume create \ - --label com.docker.compose.project=multi-node \ - --label com.docker.compose.version=1.25.0 \ - --label com.docker.compose.volume=wazuh-indexer-data-1 \ - multi-node_wazuh-indexer-data-1 -``` -``` -docker volume create \ - --label com.docker.compose.project=multi-node \ - --label com.docker.compose.version=1.25.0 \ - --label com.docker.compose.volume=wazuh-indexer-data-2 \ +**3. Inspect elasticsearch volume**docker-compose multi-node_wazuh-indexer-data-2 ``` ``` diff --git a/multi-node/README.md b/multi-node/README.md index c1e8b998..678fa782 100644 --- a/multi-node/README.md +++ b/multi-node/README.md @@ -1,6 +1,6 @@ # Deploy Wazuh Docker in multi node configuration -This deployment is defined in the `docker-compose.yml` file with two Wazuh manager containers, three Wazuh indexer containers, and one Wazuh dashboard container. It can be deployed by following these steps: +This deployment is defined in the `docker-compose.yml` file with two Wazuh manager containers, three Wazuh indexer containers, and one Wazuh dashboard container. It can be deployed by following these steps: 1) Increase max_map_count on your host (Linux). This command must be run with root permissions: ``` @@ -8,18 +8,18 @@ $ sysctl -w vm.max_map_count=262144 ``` 2) Run the certificate creation script: ``` -$ docker-compose -f generate-indexer-certs.yml run --rm generator +$ docker compose -f generate-indexer-certs.yml run --rm generator ``` -3) Start the environment with docker-compose: +3) Start the environment with docker compose: - In the foregroud: ``` -$ docker-compose up +$ docker compose up ``` - In the background: ``` -$ docker-compose up -d +$ docker compose up -d ``` diff --git a/multi-node/docker-compose.yml b/multi-node/docker-compose.yml index 2d9ad309..a482fef0 100644 --- a/multi-node/docker-compose.yml +++ b/multi-node/docker-compose.yml @@ -1,6 +1,4 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) -version: '3.7' - services: wazuh.master: image: wazuh/wazuh-manager:4.12.0 diff --git a/multi-node/generate-indexer-certs.yml b/multi-node/generate-indexer-certs.yml index dbf2b079..3142ab1a 100644 --- a/multi-node/generate-indexer-certs.yml +++ b/multi-node/generate-indexer-certs.yml @@ -1,6 +1,4 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) -version: '3' - services: generator: image: wazuh/wazuh-certs-generator:0.0.2 diff --git a/single-node/README.md b/single-node/README.md index efd303c7..1a93b6c9 100644 --- a/single-node/README.md +++ b/single-node/README.md @@ -8,17 +8,17 @@ $ sysctl -w vm.max_map_count=262144 ``` 2) Run the certificate creation script: ``` -$ docker-compose -f generate-indexer-certs.yml run --rm generator +$ docker compose -f generate-indexer-certs.yml run --rm generator ``` -3) Start the environment with docker-compose: +3) Start the environment with docker compose: - In the foregroud: ``` -$ docker-compose up +$ docker compose up ``` - In the background: ``` -$ docker-compose up -d +$ docker compose up -d ``` The environment takes about 1 minute to get up (depending on your Docker host) for the first time since Wazuh Indexer must be started for the first time and the indexes and index patterns must be generated. diff --git a/single-node/docker-compose.yml b/single-node/docker-compose.yml index bdcc695c..f1a84fa5 100644 --- a/single-node/docker-compose.yml +++ b/single-node/docker-compose.yml @@ -1,6 +1,4 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) -version: '3.7' - services: wazuh.manager: image: wazuh/wazuh-manager:4.12.0 diff --git a/single-node/generate-indexer-certs.yml b/single-node/generate-indexer-certs.yml index 3e0eb6fd..b7b7efb6 100644 --- a/single-node/generate-indexer-certs.yml +++ b/single-node/generate-indexer-certs.yml @@ -1,6 +1,4 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) -version: '3' - services: generator: image: wazuh/wazuh-certs-generator:0.0.2 From 6861e077b683cce388e7d97388924a33f3e74402 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 16 May 2025 09:32:21 -0300 Subject: [PATCH 22/38] Migrate to Docker Compose v2 --- multi-node/Migration-to-Wazuh-4.4.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/multi-node/Migration-to-Wazuh-4.4.md b/multi-node/Migration-to-Wazuh-4.4.md index 06450e4c..3ff10a84 100644 --- a/multi-node/Migration-to-Wazuh-4.4.md +++ b/multi-node/Migration-to-Wazuh-4.4.md @@ -6,12 +6,35 @@ The example is migrating from v4.2 to v4.4. Assuming that you have a v4.2 production deployment, perform the following steps. **1. Stop 4.2 environment** -`docker compose -f production-cluster.yml stop` +`docker-compose -f production-cluster.yml stop` **2. List elasticsearch volumes** `docker volume ls --filter name='wazuh-docker_elastic-data'` -**3. Inspect elasticsearch volume**docker-compose +**3. Inspect elasticsearch volume** +`docker volume inspect wazuh-docker_elastic-data-1` + +**4. Spin down the 4.2 environment.** +`docker-compose -f production-cluster.yml down` + +**Steps 5 and 6 can be done with the volume-migrator.sh script, specifying Docker compose version and project name as parameters.** + +Ex: $ multi-node/volume-migrator.sh 1.25.0 multi-node + +**5. Run the volume create command:** create new indexer and Wazuh manager volumes using the `com.docker.compose.version` label value from the previous command. + +``` +docker volume create \ + --label com.docker.compose.project=multi-node \ + --label com.docker.compose.version=1.25.0 \ + --label com.docker.compose.volume=wazuh-indexer-data-1 \ + multi-node_wazuh-indexer-data-1 +``` +``` +docker volume create \ + --label com.docker.compose.project=multi-node \ + --label com.docker.compose.version=1.25.0 \ + --label com.docker.compose.volume=wazuh-indexer-data-2 \ multi-node_wazuh-indexer-data-2 ``` ``` From b120eff7712baa1d5375d545cd8e4deeef299b23 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 16 May 2025 14:02:00 -0300 Subject: [PATCH 23/38] Add reference documentation --- docs/SUMMARY.md | 14 ++- docs/dev/README.md | 2 - docs/dev/introduction.md | 40 +++++++++ docs/dev/run-tests.md | 2 +- docs/dev/setup.md | 56 +++++++++++- docs/ref/Introduction/README.md | 1 - docs/ref/Introduction/compatibility.md | 1 - docs/ref/Introduction/description.md | 46 +++++++++- docs/ref/Introduction/introduction.md | 47 ++++++++++ docs/ref/README.md | 7 -- docs/ref/configuration/README.md | 1 - docs/ref/configuration/configuration-files.md | 33 ++++++- docs/ref/configuration/configuration.md | 28 ++++++ .../configuration/environment-variables.md | 2 +- docs/ref/getting-started/README.md | 1 - docs/ref/getting-started/deployment/README.md | 0 .../getting-started/deployment/deployment.md | 46 ++++++++++ .../getting-started/deployment/multi-node.md | 2 +- docs/ref/getting-started/getting-started.md | 58 ++++++++++++ docs/ref/getting-started/requirements.md | 74 ++++++++++++++- docs/ref/glossary.md | 90 ++++++++++++++++++- docs/ref/upgrade.md | 12 +-- 22 files changed, 522 insertions(+), 41 deletions(-) delete mode 100644 docs/dev/README.md create mode 100644 docs/dev/introduction.md delete mode 100644 docs/ref/Introduction/README.md delete mode 100644 docs/ref/Introduction/compatibility.md create mode 100644 docs/ref/Introduction/introduction.md delete mode 100644 docs/ref/README.md delete mode 100644 docs/ref/configuration/README.md create mode 100644 docs/ref/configuration/configuration.md delete mode 100644 docs/ref/getting-started/README.md delete mode 100644 docs/ref/getting-started/deployment/README.md create mode 100644 docs/ref/getting-started/deployment/deployment.md create mode 100644 docs/ref/getting-started/getting-started.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 137950c8..fa09fd2c 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -4,25 +4,23 @@ # Development Guide -- [Introduction](dev/README.md) +- [Introduction](dev/introduction.md) - [Setup Environment](dev/setup.md) - [Build Image](dev/build-image.md) - [Run Tests](dev/run-tests.md) # Reference Manual -- [Reference](ref/README.md) -- [Introduction](ref/Introduction/README.md) +- [Introduction](ref/Introduction/introduction.md) - [Description](ref/Introduction/description.md) - - [Compatibility](ref/Introduction/compatibility.md) -- [Getting Started](ref/getting-started/README.md) +- [Getting Started](ref/getting-started/getting-started.md) - [Requirements](ref/getting-started/requirements.md) - - [Deployment](ref/getting-started/deployment/README.md) + - [Deployment](ref/getting-started/deployment/deployment.md) - [Single Node Wazuh Stack](ref/getting-started/deployment/single-node.md) - [Multi Node Wazuh Stack](ref/getting-started/deployment/multi-node.md) - [Wazuh Agent](ref/getting-started/deployment/wazuh-agent.md) -- [Configuration](ref/configuration/README.md) - - [CEnvironment Variabless](ref/configuration/environment-variables.md) +- [Configuration](ref/configuration/configuration.md) + - [Environment Variabless](ref/configuration/environment-variables.md) - [Configuration files](ref/configuration/configuration-files.md) - [Upgrade](ref/upgrade.md) - [Glossary](ref/glossary.md) \ No newline at end of file diff --git a/docs/dev/README.md b/docs/dev/README.md deleted file mode 100644 index 14c0f7aa..00000000 --- a/docs/dev/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Development documentation - diff --git a/docs/dev/introduction.md b/docs/dev/introduction.md new file mode 100644 index 00000000..e243459a --- /dev/null +++ b/docs/dev/introduction.md @@ -0,0 +1,40 @@ +# Development Guide - Introduction + +Welcome to the Development Guide for Wazuh-Docker version 4.12.0. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development. + +## Purpose of This Guide + +The primary goals of this guide are: + +- To provide a clear understanding of the development environment setup. +- To outline the process for building Wazuh Docker images from source. +- To explain how to run tests to ensure the integrity and functionality of the images. +- To offer insights into the project structure and contribution guidelines (though detailed contribution guidelines are typically found in `CONTRIBUTING.md` in the repository). + +## Who Should Use This Guide? + +This guide is for you if you want to: + +- Modify existing Wazuh Docker images. +- Build Wazuh Docker images for a specific Wazuh version or with custom configurations. +- Understand the build process and scripts used in this project. +- Contribute code, features, or bug fixes to the Wazuh-Docker repository. + +## What This Guide Covers + +This guide is organized into the following sections: + +- **[Setup Environment](setup.md)**: Instructions on how to prepare your local machine for Wazuh-Docker development, including necessary tools and dependencies. +- **[Build Image](build-image.md)**: Step-by-step procedures for building the various Wazuh Docker images (Wazuh manager, Wazuh indexer, Wazuh dashboard). +- **[Run Tests](run-tests.md)**: Information on how to execute automated tests to validate the built images and configurations. + +## Prerequisites + +Before you begin, it's assumed that you have a basic understanding of: + +- Docker and Docker Compose. +- Linux command-line interface. +- Version control systems like Git. +- The Wazuh platform and its components. + +We encourage you to explore the Wazuh-Docker repository and familiarize yourself with its structure. If you plan to contribute, please also review the project's contribution guidelines. diff --git a/docs/dev/run-tests.md b/docs/dev/run-tests.md index 7dce2402..65798746 100644 --- a/docs/dev/run-tests.md +++ b/docs/dev/run-tests.md @@ -1 +1 @@ -# How to run the tests. +# Run Tests diff --git a/docs/dev/setup.md b/docs/dev/setup.md index f5baeef0..707405ab 100644 --- a/docs/dev/setup.md +++ b/docs/dev/setup.md @@ -1,3 +1,55 @@ -# Set up the toolchain. +# Development Guide - Setup Environment + +This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.12.0). A proper setup is crucial for building images, running tests, and contributing effectively. + +## Prerequisites + +Before you begin, ensure your system meets the following requirements: + +1. **Operating System**: + * A Linux-based distribution is recommended (e.g., Ubuntu, RedHat). + * macOS or Windows with WSL 2 can also be used, but some scripts might require adjustments. + +2. **Docker and Docker Compose**: + * **Docker Engine**: Install the latest stable version of Docker Engine. Refer to the [official Docker documentation](https://docs.docker.com/engine/install/) for installation instructions specific to your OS. + +3. **Git**: + * Install Git for cloning the repository and managing versions. Most systems have Git pre-installed. If not, visit [https://git-scm.com/downloads](https://git-scm.com/downloads). + +5. **Sufficient System Resources**: + * **RAM**: At least 8GB of RAM is recommended, especially if you plan to run multiple Wazuh components locally. 16GB or more is ideal. + * **CPU**: A multi-core processor (2+ cores) is recommended. + * **Disk Space**: Ensure you have sufficient disk space (at least 20-30GB) for Docker images, containers, and Wazuh data. + +## Setting Up the Environment + +Follow these steps to prepare your development environment: + +1. **Clone the Repository**: + Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.12.0`. + + ```bash + git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) + cd wazuh-docker + git checkout 4.12.2 + ``` + +2. **Verify Docker Installation**: + Ensure Docker is running and accessible by your user (you might need to add your user to the `docker` group or use `sudo`). + + ```bash + docker --version + docker info + ``` + These commands should output the versions of Docker and information about your Docker setup without errors. + +3. **Review Project Structure**: + Familiarize yourself with the directory structure of the cloned repository. Key directories often include: + * `build-docker-images/wazuh-manager/`: Dockerfile and related files for the Wazuh manager. + * `build-docker-images/wazuh-indexer/`: Dockerfile and related files for the Wazuh indexer. + * `build-docker-images/wazuh-dashboard/`: Dockerfile and related files for the Wazuh dashboard. + * `build-docker-images/wazuh-agent/` : Dockerfile and related files for Wazuh agents. + * `single-node/` : Compose and configuration files for Wazuh deployment with 1 container of each Wazuh component. + * `multi-node/` : Compose and configuration files for Wazuh deployment with 1 container of Wazuh dashboardm 2 containers of Wazuh manager (1 master and 1 worker) and 3 containers of Wazuh indexer. + * `wazuh-agent/` : Compose and configuration files for Wazuh agent deployment. -# Set up editor/debugger. \ No newline at end of file diff --git a/docs/ref/Introduction/README.md b/docs/ref/Introduction/README.md deleted file mode 100644 index dc648ce6..00000000 --- a/docs/ref/Introduction/README.md +++ /dev/null @@ -1 +0,0 @@ -# Introduction. \ No newline at end of file diff --git a/docs/ref/Introduction/compatibility.md b/docs/ref/Introduction/compatibility.md deleted file mode 100644 index 4399fdf7..00000000 --- a/docs/ref/Introduction/compatibility.md +++ /dev/null @@ -1 +0,0 @@ -# Compatibility. \ No newline at end of file diff --git a/docs/ref/Introduction/description.md b/docs/ref/Introduction/description.md index 7234fb04..b5ded907 100644 --- a/docs/ref/Introduction/description.md +++ b/docs/ref/Introduction/description.md @@ -1 +1,45 @@ -# Description. \ No newline at end of file +# Reference Manual - Description + +This section provides a detailed description of Wazuh-docker (version 4.12.0), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment. + +## What is Wazuh? + +Wazuh is a free, open-source, and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response, and compliance. It consists of several key components that work together to provide comprehensive security visibility. + +## What is Wazuh-docker? + +Wazuh-docker is a project that provides Docker images and `docker compose` configurations to simplify the deployment and management of the Wazuh platform. By containerizing Wazuh components, Wazuh-docker offers: + +- **Rapid Deployment**: Quickly set up a full Wazuh environment. +- **Consistency**: Ensures that Wazuh runs the same way across different environments. +- **Scalability**: Easier to scale components as needed (especially with orchestrators like Kubernetes, though this documentation primarily focuses on Docker Compose). +- **Isolation**: Components run in isolated containers, reducing conflicts. +- **Portability**: Run Wazuh on Linux system that supports Docker. + +## Core Components in Wazuh-Docker + +The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.12.0: + +1. **Wazuh Manager**: + - The central component that collects and analyzes data from deployed Wazuh agents. + - It performs log analysis, file integrity checking, rootkit detection, real-time alerting, and active response. + - In a Docker deployment, the Wazuh manager runs in its own container. It exposes ports for agent communication and API access. + +2. **Wazuh Indexer**: + - A highly scalable, full-text search and analytics engine. + - Based on OpenSearch (or historically Elasticsearch), it stores and indexes alerts and monitoring data generated by the Wazuh manager. + - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.12.0, this is typically an OpenSearch-based component. + +3. **Wazuh Dashboard**: + - A flexible visualization tool based on OpenSearch Dashboards (or historically Kibana). + - It provides a web interface for querying, visualizing, and analyzing Wazuh data stored in the Wazuh indexer. + - Users can explore security events, manage agent configurations (via the Wazuh plugin), and generate reports. + +## Key Features of Wazuh-Docker Deployments + +- **Docker Compose**: Most deployments are orchestrated using `docker-compose.yml` files, which define the services, networks, volumes, and configurations for the Wazuh stack. +- **Persistent Data**: Docker volumes are used to persist critical data, such as Wazuh manager configurations, agent keys, Wazuh indexer data, and Wazuh dashboard settings, even if containers are stopped or recreated. +- **Networking**: Docker networks are configured to allow communication between the Wazuh components. +- **Environment Variables**: Configuration of containers is often managed through environment variables passed at runtime. + +Understanding this architecture and the role of each component is fundamental for successful deployment, troubleshooting, and scaling of your Wazuh environment using Wazuh-Docker. diff --git a/docs/ref/Introduction/introduction.md b/docs/ref/Introduction/introduction.md new file mode 100644 index 00000000..fe5aecac --- /dev/null +++ b/docs/ref/Introduction/introduction.md @@ -0,0 +1,47 @@ +# Reference Manual - Introduction + +Welcome to the Reference Manual for Wazuh-Docker, version 4.12.0. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker. + +## Purpose of This Manual + +This Reference Manual is designed to be your go-to resource for understanding the intricacies of Wazuh-Docker. It aims to cover: + +- The core concepts and architecture of Wazuh when deployed with Docker. +- Step-by-step guidance for getting started, from requirements to various deployment scenarios. +- Detailed explanations of configuration options, including environment variables and persistent data management. +- Procedures for common operational tasks like upgrading your deployment. +- A glossary of terms to help you understand Wazuh and Docker-specific terminology. + +## Who Should Use This Manual? + +This manual is intended for: + +- **System Administrators** responsible for deploying and maintaining Wazuh. +- **Security Analysts** who use Wazuh and need to understand its Dockerized deployment. +- **DevOps Engineers** integrating Wazuh into their CI/CD pipelines or containerized infrastructure. +- Anyone seeking detailed technical information about Wazuh-Docker. + +## How This Manual is Organized + +This manual is structured to help you find information efficiently: + +- **[Description](description.md)**: Provides a detailed overview of Wazuh-Docker, its components, and how they work together in a containerized setup. +- **[Getting Started](getting-started/getting-started.md)**: Guides you through the initial setup, from prerequisites to deploying your first Wazuh stack. + - **[Requirements](getting-started/requirements.md)**: Lists the necessary hardware and software. + - **[Deployment](getting-started/deployment/README.md)**: Offers instructions for different deployment models: + - [Single Node Wazuh Stack](getting-started/deployment/single-node.md) + - [Multi Node Wazuh Stack](getting-started/deployment/multi-node.md) + - [Wazuh Agent](getting-started/deployment/wazuh-agent.md) +- **[Configuration](configuration/configuration.md)**: Explains how to customize your Wazuh-Docker deployment. + - [Environment Variables](configuration/environment-variables.md) + - [Configuration Files](configuration/configuration-files.md) +- **[Upgrade](upgrade.md)**: Provides instructions for upgrading your Wazuh-Docker deployment to a newer version. +- **[Glossary](glossary.md)**: Defines key terms and concepts. + +## Using This Manual + +- If you are new to Wazuh-docker, we recommend starting with the [Description](description.md) and then proceeding to the [Getting Started](getting-started/getting-started.md) section. +- If you need to customize your deployment, refer to the [Configuration](configuration/configuration.md) section. +- For specific terms or concepts, consult the [Glossary](glossary.md). + +This manual refers to version 4.12.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. diff --git a/docs/ref/README.md b/docs/ref/README.md deleted file mode 100644 index 8847bd5a..00000000 --- a/docs/ref/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Introduction - -## Description - -## Architecture - -## Compatibility \ No newline at end of file diff --git a/docs/ref/configuration/README.md b/docs/ref/configuration/README.md deleted file mode 100644 index af4abbfe..00000000 --- a/docs/ref/configuration/README.md +++ /dev/null @@ -1 +0,0 @@ -# Configuration \ No newline at end of file diff --git a/docs/ref/configuration/configuration-files.md b/docs/ref/configuration/configuration-files.md index af8ac432..4689286f 100644 --- a/docs/ref/configuration/configuration-files.md +++ b/docs/ref/configuration/configuration-files.md @@ -1 +1,32 @@ -# Configuration files \ No newline at end of file +# Configuration files + +### 1. Wazuh Manager Configuration + +* **`ossec.conf`**: The main configuration file for the Wazuh manager. It controls rules, decoders, agent enrollment, active responses, integrations, clustering, and more. + * **Customization**: Mount a custom `ossec.conf` or specific configuration snippets (e.g., local rules in `local_rules.xml`) into the manager container at `/wazuh-mount-point/`, which will be copied to the path `/var/ossec` (e.g., the file `/var/ossec/etc/ossec.conf` must be mounted at `/wazuh-mount-point/etc/ossec.conf`) . + +### 2. Wazuh Indexer Configuration + +* **`opensearch.yml`**: The primary configuration file for OpenSearch. Controls cluster settings, network binding, path settings, discovery, memory allocation, etc. + * **Customization**: Mount a custom `opensearch.yml` into the indexer container(s) at `/usr/share/wazuh-indexer/config/opensearch.yml`. +* **JVM Settings (`jvm.options`)**: Manages Java Virtual Machine settings, especially heap size (`-Xms`, `-Xmx`). Critical for performance and stability. + * **Customization**: Mount a custom `jvm.options` file or set `OPENSEARCH_JAVA_OPTS` environment variable. + +### 3. Wazuh Dashboard (OpenSearch Dashboards) Configuration + +* **`opensearch_dashboards.yml`**: The main configuration file for OpenSearch Dashboards. Controls server host/port, OpenSearch connection URL, SSL settings, and Wazuh plugin settings. + * **Customization**: Mount a custom `opensearch_dashboards.yml` into the dashboard container at `/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml` and custom `wazuh.yml` into the dashboard container at `/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml` . +* **Wazuh Plugin Settings**: The Wazuh plugin for the dashboard has its own configuration, often within `opensearch_dashboards.yml` or managed through environment variables, specifying the Wazuh API URL and credentials. + +## Applying Configuration Changes + +1. **Modify `docker-compose.yml`**: + * For changes to environment variables, port mappings, or volume mounts. + * After changes, you typically need to stop and restart the containers: + ```bash + docker compose down + docker compose up -d + ``` + + +Consult the official Wazuh documentation for version 4.12.2 for detailed information on all possible configuration parameters for each component. \ No newline at end of file diff --git a/docs/ref/configuration/configuration.md b/docs/ref/configuration/configuration.md new file mode 100644 index 00000000..003c1d22 --- /dev/null +++ b/docs/ref/configuration/configuration.md @@ -0,0 +1,28 @@ +# Reference Manual - Configuration + +This section details how to configure your Wazuh-Docker deployment (version 4.12.0). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment. + +## Overview of Configuration Methods + +Configuring Wazuh components within a Docker environment typically involves several methods: + +1. **[Environment Variables](environment-variables.md)**: + * Many container settings are controlled by passing environment variables at runtime (e.g., via the `docker-compose.yml` file or `docker run` commands). + * These are often used for setting up initial passwords, component versions, cluster names, or basic operational parameters. + +2. **[Configuration Files](configuration-files.md)**: + * Core Wazuh components (manager, indexer, dashboard) rely on their traditional configuration files (e.g., `ossec.conf`, `opensearch.yml`, `opensearch_dashboards.yml`). + * To customize these, you typically mount your custom configuration files into the containers, replacing or supplementing the defaults. This is managed using Docker volumes in your `docker-compose.yml`. + +3. **Docker Compose File (`docker-compose.yml`)**: + * The `docker-compose.yml` file itself is a primary configuration tool. It defines: + * Which services (containers) to run. + * The Docker images to use. + * Port mappings. + * Volume mounts for persistent data and custom configurations. + * Network configurations. + * Resource limits (CPU, memory). + * Dependencies between services. + +4. **Persistent Data Volumes**: + * Configuration related to data storage (e.g., paths for Wazuh Indexer data, Wazuh manager logs and agent keys) is managed through Docker volumes. Persisting these volumes ensures your data and critical configurations survive container restarts or recreations. diff --git a/docs/ref/configuration/environment-variables.md b/docs/ref/configuration/environment-variables.md index be8e682f..a0428bb4 100644 --- a/docs/ref/configuration/environment-variables.md +++ b/docs/ref/configuration/environment-variables.md @@ -1 +1 @@ -# Environment Variables \ No newline at end of file +# Environment Variabless diff --git a/docs/ref/getting-started/README.md b/docs/ref/getting-started/README.md deleted file mode 100644 index bad55622..00000000 --- a/docs/ref/getting-started/README.md +++ /dev/null @@ -1 +0,0 @@ -# Getting Started diff --git a/docs/ref/getting-started/deployment/README.md b/docs/ref/getting-started/deployment/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/ref/getting-started/deployment/deployment.md b/docs/ref/getting-started/deployment/deployment.md new file mode 100644 index 00000000..13dd1263 --- /dev/null +++ b/docs/ref/getting-started/deployment/deployment.md @@ -0,0 +1,46 @@ +# Reference Manual - Deployment + +This section provides detailed instructions for deploying Wazuh-Docker (version 4.12.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments. + +## Overview of Deployment Options + +Wazuh-Docker offers flexibility in how you can deploy the Wazuh stack. The primary methods covered in this documentation are: + +1. **[Single Node Wazuh Stack](single-node.md)**: + * **Description**: Deploys all core Wazuh components (Wazuh manager, Wazuh indexer, Wazuh dashboard) as Docker containers on a single host machine. + * **Use Cases**: Ideal for development, testing, demonstrations, proof-of-concepts, and small-scale production environments where simplicity is prioritized and high availability is not a critical concern. + * **Pros**: Easiest and quickest to set up. + * **Cons**: Single point of failure; limited scalability compared to multi-node. + +2. **[Multi Node Wazuh Stack](multi-node.md)**: + * **Description**: This typically refers to deploying a Wazuh Indexer cluster and potentially multiple Wazuh managers for improved scalability and resilience. While true multi-host orchestration often uses tools like Kubernetes, this section may cover configurations achievable with Docker Compose, possibly across multiple Docker hosts or with clustered services on a single powerful host. + * **Use Cases**: Production environments requiring higher availability, data redundancy (for Wazuh Indexer), and the ability to handle a larger number of agents. + * **Pros**: Improved fault tolerance (for clustered components like the Indexer), better performance distribution. + * **Cons**: More complex to set up and manage than a single-node deployment. + +## Before You Begin Deployment + +Ensure you have: + +- Met all the [System Requirements](ref/getting-started/requirements.md). +- Installed Docker and Docker Compose on your host(s). +- Cloned the `wazuh-docker` repository (version `4.12.2`) or downloaded the necessary deployment files. + ```bash + git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) + cd wazuh-docker + git checkout v4.12.2 + ``` +- Made a backup of any existing Wazuh data if you are migrating or upgrading. + +## Choosing the Right Deployment + +Consider the following factors when choosing a deployment model: + +- **Scale**: How many agents do you plan to connect? +- **Availability**: What are your uptime requirements? +- **Resources**: What hardware resources (CPU, RAM, disk) are available? +- **Complexity**: What is your team's familiarity with Docker and distributed systems? + +For most new users, starting with the [Single Node Wazuh Stack](single-node.md) is recommended to familiarize themselves with Wazuh-Docker. You can then explore more complex setups as your needs grow. + +Navigate to the specific deployment guide linked above for detailed, step-by-step instructions. diff --git a/docs/ref/getting-started/deployment/multi-node.md b/docs/ref/getting-started/deployment/multi-node.md index 5df93e21..8c096fea 100644 --- a/docs/ref/getting-started/deployment/multi-node.md +++ b/docs/ref/getting-started/deployment/multi-node.md @@ -31,4 +31,4 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines docker-compose up -d ``` -Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated. \ No newline at end of file +Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated. diff --git a/docs/ref/getting-started/getting-started.md b/docs/ref/getting-started/getting-started.md new file mode 100644 index 00000000..edd583f7 --- /dev/null +++ b/docs/ref/getting-started/getting-started.md @@ -0,0 +1,58 @@ +# Reference Manual - Getting Started + +This section guides you through the initial steps to get your Wazuh-docker (version 4.12.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions. + +## Overview + +Getting started with Wazuh-Docker involves the following general steps: + +1. **Understanding Requirements**: Ensuring your system meets the necessary hardware and software prerequisites. +2. **Choosing a Deployment Type**: Deciding whether a single-node or multi-node deployment is suitable for your needs. +3. **Setting up Docker**: Installing Docker and Docker Compose if you haven't already. +4. **Obtaining Wazuh-Docker Files**: Cloning the `wazuh-docker` repository or downloading the necessary `docker-compose.yml` and configuration files. +5. **Deploying the Stack**: Running `docker compose up` to launch the Wazuh components. +6. **Initial Configuration & Verification**: Performing any initial setup steps and verifying that all components are working correctly. +7. **Deploying Wazuh Agents**: Installing and configuring Wazuh agents on the endpoints you want to monitor and connecting them to your Wazuh manager. + +## Before You Begin + +Before diving into the deployment, please ensure you have reviewed: + +- The [Description](ref/Introduction/description.md) of Wazuh-docker to understand the components and architecture. +- The [Requirements](ref/getting-started/requirements.md) to confirm your environment is suitable. + +## Steps to Get Started + +1. **Meet the [Requirements](requirements.md)**: + Verify that your host system has sufficient RAM, CPU, and disk space. Ensure Docker and Docker Compose are installed and functioning correctly. + +2. **Obtain Wazuh-docker Configuration**: + You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.12.0. + ```bash + git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) + cd wazuh-docker + git checkout 4.12.0 + # Navigate to the specific docker-compose directory, e.g., single-node or multi-node + # cd docker-compose/single-node/ (example path) + ``` + Alternatively, you might download specific `docker-compose.yml` files if provided as part of a release package. + +3. **Choose Your [Deployment Strategy](deployment/deployment.md)**: + Wazuh-docker supports different deployment models. Select the one that best fits your use case: + * **[Single Node Wazuh Stack](deployment/single-node.md)**: Ideal for testing, small environments, or proof-of-concept deployments. All main components (Wazuh manager, Wazuh indexer, Wazuh dashboard) run on a single Docker host. + * **[Multi Node Wazuh Stack](deployment/multi-node.md)**: Suitable for production environments requiring high availability and scalability. Components might be distributed across multiple hosts or configured in a clustered mode. (Note: True multi-host orchestration often involves Kubernetes, but multi-node within Docker Compose typically refers to clustered Wazuh Indexer/Manager setups on one or more Docker hosts managed carefully). + * **[Wazuh Agent Deployment](deployment/wazuh-agent.md)**: Instructions for deploying Wazuh agents on your endpoints and connecting them to the Wazuh manager running in Docker. + +4. **Follow Deployment Instructions**: + Once you've chosen a deployment strategy, follow the detailed instructions provided in the respective sections linked above. This will typically involve: + * Configuring environment variables (if necessary). + * Initializing persistent volumes. + * Starting the services. + +5. **Post-Deployment**: + After the stack is running: + * Access the Wazuh Dashboard via your web browser. + * Verify that all services are healthy. + * Begin enrolling Wazuh agents. + +This Getting Started guide provides a high-level overview. For detailed, step-by-step instructions, please refer to the specific pages linked within this section. diff --git a/docs/ref/getting-started/requirements.md b/docs/ref/getting-started/requirements.md index 1fa9034a..c1307c10 100644 --- a/docs/ref/getting-started/requirements.md +++ b/docs/ref/getting-started/requirements.md @@ -1 +1,73 @@ -# Requirements +# Reference Manual - Requirements + +Before deploying Wazuh-Docker (version 4.12.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment. + +## Host System Requirements + +These are general recommendations. Actual needs may vary based on the number of agents, data volume, and usage patterns. + +### Hardware: + +* **CPU**: + * **Minimum**: 2 CPU cores. + * **Recommended**: 4 CPU cores or more, especially for production environments or deployments with a significant number of agents. +* **RAM**: + * **Minimum (Single-Node Test/Small Environment)**: 4 GB RAM. This is a tight minimum; 6 GB is safer. + * Wazuh Indexer (OpenSearch): Typically requires at least 1 GB RAM allocated to its JVM heap. + * Wazuh Manager: Resource usage depends on the number of agents. + * Wazuh Dashboard (OpenSearch Dashboards): Also consumes memory. + * **Recommended (Production/Multiple Agents)**: 8 GB RAM or more. +* **Disk Space**: + * **Minimum**: 50 GB of free disk space. + * **Recommended**: 100 GB or more, particularly for the Wazuh Indexer data. Disk space requirements will grow over time as more data is collected and indexed. + * **Disk Type**: SSDs (Solid State Drives) are highly recommended for the Wazuh Indexer data volumes for optimal performance. +* **Network**: + * A stable network connection with sufficient bandwidth, especially if agents are reporting from remote locations. + +### Software: + +* **Operating System**: + * A 64-bit Linux distribution is preferred (e.g., Ubuntu, CentOS, RHEL, Debian). +* **Docker Engine**: + * Version `20.10.0` or newer. + * Install Docker by following the official instructions: [Install Docker Engine](https://docs.docker.com/engine/install/). +* **Git Client**: + * Required for cloning the `wazuh-docker` repository. +* **Web Browser**: + * A modern web browser (e.g., Chrome, Firefox, Edge, Safari) for accessing the Wazuh Dashboard. +* **`vm.max_map_count` (Linux Hosts for Wazuh Indexer/OpenSearch)**: + * The Wazuh Indexer (OpenSearch) requires a higher `vm.max_map_count` setting than the default on most Linux systems. + * Set it permanently: + 1. Edit `/etc/sysctl.conf` and add/modify the line: + ``` + vm.max_map_count=262144 + ``` + 2. Apply the change without rebooting: + ```bash + sudo sysctl -p + ``` + * This is crucial for the stability of the Wazuh Indexer. + +## Network Ports + +Ensure that the necessary network ports are open and available on the Docker host and any firewalls: + +* **Wazuh Manager**: + * `1514/UDP`: For agent communication (syslog). + * `1514/TCP`: For agent communication (if using TCP). + * `1515/TCP`: For agent enrollment. + * `55000/TCP`: For Wazuh API (default). +* **Wazuh Indexer**: + * `9200/TCP`: For HTTP REST API. + * `9300/TCP`: For inter-node communication (if clustered). +* **Wazuh Dashboard**: + * `5601/TCP` (or `443/TCP` if HTTPS is configured via a reverse proxy): For web access. + +Port mappings in `docker-compose.yml` will expose these container ports on the host. Adjust host ports if defaults cause conflicts. + +## Important Considerations + +* **Production Environments**: For production, it's highly recommended to follow best practices for securing Docker and your host system. Consider using a multi-node setup for resilience. +* **Resource Allocation**: Monitor resource usage after deployment and adjust allocations (CPU, RAM for Docker, JVM heap for Wazuh Indexer) as necessary. + +Meeting these requirements will pave the way for a smoother deployment and a more stable Wazuh-Docker experience. diff --git a/docs/ref/glossary.md b/docs/ref/glossary.md index ca3c8276..4dbcdefa 100644 --- a/docs/ref/glossary.md +++ b/docs/ref/glossary.md @@ -1 +1,89 @@ -# Glossary +# Reference Manual - Glossary + +This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.12.0). + +--- + +**A** + +- **Active Response**: A Wazuh capability that allows automatic actions to be taken on an agent or manager in response to specific triggers or alerts (e.g., blocking an IP address, stopping a process). +- **Agent (Wazuh Agent)**: Software installed on monitored endpoints (servers, workstations, cloud instances) that collects security data (logs, file integrity, configuration assessments, etc.) and forwards it to the Wazuh Manager. +- **Alert**: A notification generated by the Wazuh Manager when an event or a series of events matches a predefined rule, indicating a potential security issue, misconfiguration, or policy violation. +- **API (Wazuh API)**: An application programming interface provided by the Wazuh Manager that allows for programmatic interaction with the Wazuh system, such as managing agents, retrieving alerts, updating rulesets, and checking system health. + +**C** + +- **CDB List (Constant DataBase List)**: Key-value pair files used by Wazuh rules for fast lookups. Useful for whitelisting, blacklisting, or correlating events with known indicators. +- **Cluster**: + - **Wazuh Indexer Cluster (OpenSearch/Elasticsearch Cluster)**: A group of interconnected Wazuh Indexer nodes that work together to store, index, and search data, providing scalability and high availability. + - **Wazuh Manager Cluster**: A group of Wazuh managers working together to provide load balancing and high availability for agent connections and event processing. +- **Container (Docker Container)**: A lightweight, standalone, executable package of software that includes everything needed to run it: code, runtime, system tools, system libraries, and settings. Wazuh-Docker runs each Wazuh component (manager, indexer, dashboard) in its own container. +- **Containerization**: The process of packaging an application and its dependencies into a container. + +**D** + +- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.12.0, this is typically OpenSearch Dashboards. +- **Decoder**: A component in the Wazuh Manager that parses and extracts relevant information (fields) from raw log messages or event data. +- **Docker**: An open platform for developing, shipping, and running applications inside containers. +- **Docker Compose**: A tool for defining and running multi-container Docker applications. It uses a YAML file (`docker-compose.yml`) to configure the application's services, networks, and volumes. +- **Dockerfile**: A text document that contains all the commands a user could call on the command line to assemble an image. Docker can build images automatically by reading the instructions from a Dockerfile. +- **Docker Hub**: A cloud-based registry service that allows you to link to code repositories, build your images and test them, stores manually pushed images, and links to Docker Cloud so you can deploy images to your hosts. Wazuh Docker images are often hosted here. +- **Docker Image**: A read-only template with instructions for creating a Docker container. Images are used to instantiate containers. +- **Docker Volume**: A mechanism for persisting data generated by and used by Docker containers. Volumes are managed by Docker and are stored on the host filesystem, separate from the container's lifecycle. Essential for storing Wazuh data, configurations, and logs. + +**E** + +- **Endpoint**: Any device (server, desktop, laptop, virtual machine, cloud instance) that is monitored by a Wazuh agent. +- **Environment Variable**: A variable whose value is set outside the program, typically by the operating system or a container runtime, and can be accessed by the program to modify its behavior. Used extensively in Wazuh-Docker for configuration. + +**F** + +- **File Integrity Monitoring (FIM)**: A Wazuh capability that monitors files and directories for changes, additions, or deletions, helping to detect unauthorized modifications. + +**I** + +- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.12.0, this is typically OpenSearch. + +**L** + +- **Log Analysis**: A core function of the Wazuh Manager, involving the collection, normalization, parsing, and analysis of log data from various sources. + +**M** + +- **Manager (Wazuh Manager)**: The central component of the Wazuh platform. It collects data from agents, analyzes it using rules and decoders, generates alerts, and manages agents. + +**N** + +- **Node**: + - **Wazuh Indexer Node**: A single instance of a Wazuh Indexer (OpenSearch/Elasticsearch) process, typically running in a container. Multiple nodes can form a cluster. + - **Wazuh Manager Node**: A single instance of a Wazuh manager, which can operate standalone or as part of a manager cluster. + +**O** + +- **`ossec.conf`**: The main configuration file for the Wazuh Manager and Wazuh Agent. + +**R** + +- **Rule**: A set of conditions defined in the Wazuh Manager that, when met by an event or a sequence of events, trigger an alert. +- **Ruleset**: The collection of all rules and decoders used by the Wazuh Manager. + +**S** + +- **Scalability**: The ability of the system to handle a growing amount of work by adding resources. In Wazuh-Docker, this can refer to scaling the number of agents, or the capacity of the indexer/manager cluster. +- **Security Information and Event Management (SIEM)**: A field of computer security that combines security information management (SIM) and security event management (SEM) to provide real-time analysis of security alerts generated by applications and network hardware. Wazuh is a SIEM solution. +- **Service (Docker Compose Service)**: A definition of a container within a `docker-compose.yml` file, including its image, ports, volumes, environment variables, etc. + +**V** + +- **Volume (Docker Volume)**: See Docker Volume. + +**W** + +- **Wazuh**: An open-source security platform that provides threat prevention, detection, and response. +- **Wazuh API**: See API. +- **Wazuh Dashboard**: See Dashboard. +- **Wazuh Indexer**: See Indexer. +- **Wazuh Manager**: See Manager. + +--- +This glossary provides a starting point. For more detailed definitions or terms not listed here, please refer to the official Wazuh and Docker documentation. diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md index d4e04967..dab017fb 100644 --- a/docs/ref/upgrade.md +++ b/docs/ref/upgrade.md @@ -1,11 +1 @@ -# Upgrade Process - -The upgrade process for Wazuh using Docker can vary depending on the version you are currently using. Each version may introduce specific changes or requirements that must be considered before proceeding with the upgrade. - -To ensure a smooth and successful upgrade, we recommend following the official Wazuh documentation, which provides detailed instructions tailored to different upgrade paths. - -You can find the most up-to-date upgrade guide at the following link: - -[Upgrading Wazuh Docker](https://documentation.wazuh.com/current/deployment-options/docker/upgrading-wazuh-docker.html) - -Please review the guide carefully and make sure to follow the steps applicable to your current setup and Wazuh version. +# Upgrade From 1eae96ee4df68eb33e760c05efa44e97f7dcd1c1 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 16 May 2025 14:09:15 -0300 Subject: [PATCH 24/38] Add reference documentation --- docs/dev/introduction.md | 2 +- docs/dev/setup.md | 4 ++-- docs/ref/Introduction/description.md | 6 +++--- docs/ref/Introduction/introduction.md | 4 ++-- docs/ref/configuration/configuration.md | 2 +- docs/ref/getting-started/deployment/deployment.md | 2 +- docs/ref/getting-started/getting-started.md | 6 +++--- docs/ref/getting-started/requirements.md | 2 +- docs/ref/glossary.md | 6 +++--- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/dev/introduction.md b/docs/dev/introduction.md index e243459a..56e13df2 100644 --- a/docs/dev/introduction.md +++ b/docs/dev/introduction.md @@ -1,6 +1,6 @@ # Development Guide - Introduction -Welcome to the Development Guide for Wazuh-Docker version 4.12.0. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development. +Welcome to the Development Guide for Wazuh-docker version 4.12.2. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development. ## Purpose of This Guide diff --git a/docs/dev/setup.md b/docs/dev/setup.md index 707405ab..3c9d37d5 100644 --- a/docs/dev/setup.md +++ b/docs/dev/setup.md @@ -1,6 +1,6 @@ # Development Guide - Setup Environment -This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.12.0). A proper setup is crucial for building images, running tests, and contributing effectively. +This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.12.2). A proper setup is crucial for building images, running tests, and contributing effectively. ## Prerequisites @@ -26,7 +26,7 @@ Before you begin, ensure your system meets the following requirements: Follow these steps to prepare your development environment: 1. **Clone the Repository**: - Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.12.0`. + Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.12.2`. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) diff --git a/docs/ref/Introduction/description.md b/docs/ref/Introduction/description.md index b5ded907..917fbfe1 100644 --- a/docs/ref/Introduction/description.md +++ b/docs/ref/Introduction/description.md @@ -1,6 +1,6 @@ # Reference Manual - Description -This section provides a detailed description of Wazuh-docker (version 4.12.0), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment. +This section provides a detailed description of Wazuh-docker (version 4.12.2), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment. ## What is Wazuh? @@ -18,7 +18,7 @@ Wazuh-docker is a project that provides Docker images and `docker compose` confi ## Core Components in Wazuh-Docker -The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.12.0: +The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.12.2: 1. **Wazuh Manager**: - The central component that collects and analyzes data from deployed Wazuh agents. @@ -28,7 +28,7 @@ The Wazuh-Docker project typically provides images for the following core Wazuh 2. **Wazuh Indexer**: - A highly scalable, full-text search and analytics engine. - Based on OpenSearch (or historically Elasticsearch), it stores and indexes alerts and monitoring data generated by the Wazuh manager. - - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.12.0, this is typically an OpenSearch-based component. + - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.12.2, this is typically an OpenSearch-based component. 3. **Wazuh Dashboard**: - A flexible visualization tool based on OpenSearch Dashboards (or historically Kibana). diff --git a/docs/ref/Introduction/introduction.md b/docs/ref/Introduction/introduction.md index fe5aecac..486322e4 100644 --- a/docs/ref/Introduction/introduction.md +++ b/docs/ref/Introduction/introduction.md @@ -1,6 +1,6 @@ # Reference Manual - Introduction -Welcome to the Reference Manual for Wazuh-Docker, version 4.12.0. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker. +Welcome to the Reference Manual for Wazuh-Docker, version 4.12.2. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker. ## Purpose of This Manual @@ -44,4 +44,4 @@ This manual is structured to help you find information efficiently: - If you need to customize your deployment, refer to the [Configuration](configuration/configuration.md) section. - For specific terms or concepts, consult the [Glossary](glossary.md). -This manual refers to version 4.12.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. +This manual refers to version 4.12.2 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. diff --git a/docs/ref/configuration/configuration.md b/docs/ref/configuration/configuration.md index 003c1d22..dba9730e 100644 --- a/docs/ref/configuration/configuration.md +++ b/docs/ref/configuration/configuration.md @@ -1,6 +1,6 @@ # Reference Manual - Configuration -This section details how to configure your Wazuh-Docker deployment (version 4.12.0). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment. +This section details how to configure your Wazuh-Docker deployment (version 4.12.2). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment. ## Overview of Configuration Methods diff --git a/docs/ref/getting-started/deployment/deployment.md b/docs/ref/getting-started/deployment/deployment.md index 13dd1263..c5d3e43f 100644 --- a/docs/ref/getting-started/deployment/deployment.md +++ b/docs/ref/getting-started/deployment/deployment.md @@ -1,6 +1,6 @@ # Reference Manual - Deployment -This section provides detailed instructions for deploying Wazuh-Docker (version 4.12.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments. +This section provides detailed instructions for deploying Wazuh-Docker (version 4.12.2) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments. ## Overview of Deployment Options diff --git a/docs/ref/getting-started/getting-started.md b/docs/ref/getting-started/getting-started.md index edd583f7..4744e477 100644 --- a/docs/ref/getting-started/getting-started.md +++ b/docs/ref/getting-started/getting-started.md @@ -1,6 +1,6 @@ # Reference Manual - Getting Started -This section guides you through the initial steps to get your Wazuh-docker (version 4.12.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions. +This section guides you through the initial steps to get your Wazuh-docker (version 4.12.2) environment up and running. We will cover the prerequisites and point you to the deployment instructions. ## Overview @@ -27,11 +27,11 @@ Before diving into the deployment, please ensure you have reviewed: Verify that your host system has sufficient RAM, CPU, and disk space. Ensure Docker and Docker Compose are installed and functioning correctly. 2. **Obtain Wazuh-docker Configuration**: - You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.12.0. + You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.12.2. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout 4.12.0 + git checkout v4.12.2 # Navigate to the specific docker-compose directory, e.g., single-node or multi-node # cd docker-compose/single-node/ (example path) ``` diff --git a/docs/ref/getting-started/requirements.md b/docs/ref/getting-started/requirements.md index c1307c10..180a315f 100644 --- a/docs/ref/getting-started/requirements.md +++ b/docs/ref/getting-started/requirements.md @@ -1,6 +1,6 @@ # Reference Manual - Requirements -Before deploying Wazuh-Docker (version 4.12.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment. +Before deploying Wazuh-Docker (version 4.12.2), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment. ## Host System Requirements diff --git a/docs/ref/glossary.md b/docs/ref/glossary.md index 4dbcdefa..fb3e6445 100644 --- a/docs/ref/glossary.md +++ b/docs/ref/glossary.md @@ -1,6 +1,6 @@ # Reference Manual - Glossary -This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.12.0). +This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.12.2). --- @@ -22,7 +22,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their **D** -- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.12.0, this is typically OpenSearch Dashboards. +- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.12.2, this is typically OpenSearch Dashboards. - **Decoder**: A component in the Wazuh Manager that parses and extracts relevant information (fields) from raw log messages or event data. - **Docker**: An open platform for developing, shipping, and running applications inside containers. - **Docker Compose**: A tool for defining and running multi-container Docker applications. It uses a YAML file (`docker-compose.yml`) to configure the application's services, networks, and volumes. @@ -42,7 +42,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their **I** -- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.12.0, this is typically OpenSearch. +- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.12.2, this is typically OpenSearch. **L** From ed4674215e9184701f6290165300eaab3e310aa3 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 16 May 2025 14:12:54 -0300 Subject: [PATCH 25/38] Add reference documentation --- README.md | 45 +-------------------------------------------- 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/README.md b/README.md index ecb5beeb..b5200e66 100644 --- a/README.md +++ b/README.md @@ -222,50 +222,7 @@ WAZUH_MONITORING_REPLICAS=0 ## | Wazuh version | ODFE | XPACK | |---------------|---------|--------| -| v4.12.2 | | | -| v4.12.1 | | | -| v4.12.0 | | | -| v4.11.2 | | | -| v4.11.1 | | | -| v4.11.0 | | | -| v4.10.1 | | | -| v4.10.0 | | | -| v4.9.2 | | | -| v4.9.1 | | | -| v4.9.0 | | | -| v4.8.2 | | | -| v4.8.1 | | | -| v4.8.0 | | | -| v4.7.5 | | | -| v4.7.4 | | | -| v4.7.3 | | | -| v4.7.2 | | | -| v4.7.1 | | | -| v4.7.0 | | | -| v4.6.0 | | | -| v4.5.4 | | | -| v4.5.3 | | | -| v4.5.2 | | | -| v4.5.1 | | | -| v4.5.0 | | | -| v4.4.5 | | | -| v4.4.4 | | | -| v4.4.3 | | | -| v4.4.2 | | | -| v4.4.1 | | | -| v4.4.0 | | | -| v4.3.11 | | | -| v4.3.10 | | | -| v4.3.9 | | | -| v4.3.8 | | | -| v4.3.7 | | | -| v4.3.6 | | | -| v4.3.5 | | | -| v4.3.4 | | | -| v4.3.3 | | | -| v4.3.2 | | | -| v4.3.1 | | | -| v4.3.0 | | | +| v4.3.0+ | | | | v4.2.7 | 1.13.2 | 7.11.2 | | v4.2.6 | 1.13.2 | 7.11.2 | | v4.2.5 | 1.13.2 | 7.11.2 | From 6bc6569dc1616ef1e8d2c2ee94d85993fbac6fa8 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Mon, 19 May 2025 16:08:01 -0300 Subject: [PATCH 26/38] Add env vars, tests and upgrade doc --- README.md | 257 ++---------------- docs/dev/run-tests.md | 29 +- .../configuration/environment-variables.md | 117 +++++++- docs/ref/upgrade.md | 11 +- 4 files changed, 182 insertions(+), 232 deletions(-) diff --git a/README.md b/README.md index b5200e66..0532e977 100644 --- a/README.md +++ b/README.md @@ -5,251 +5,50 @@ [![Documentation](https://img.shields.io/badge/docs-view-green.svg)](https://documentation.wazuh.com) [![Documentation](https://img.shields.io/badge/web-view-green.svg)](https://wazuh.com) -In this repository you will find the containers to run: +## Description -* Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS -* Wazuh dashboard: provides a web user interface to browse through alert data and allows you to visualize the agents configuration and status. -* Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).** +The `wazuh/wazuh-docker` repository provides resources to deploy the Wazuh cybersecurity platform using Docker containers. This setup enables easy installation and orchestration of the full Wazuh stack, including the Wazuh server, dashboard (based on OpenSearch Dashboards), and OpenSearch for indexing and search. -The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets. -The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets. -The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard. -The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexers, and one Wazuh dashboard. +## Capabilities + +- Full deployment of the Wazuh stack using Docker. +- `docker compose` support for orchestration. +- Scalable architecture with multi-node support. +- Data persistence through configurable volumes. +- Ready-to-use configurations for production or testing environments. + +## Branch Convention + +- `main`: Developing and testing of new features. +- `X.Y.Z`: Version-specific branches (e.g., `4.12.2`, `4.11.0`, etc.). ## Documentation -* [Wazuh full documentation](http://documentation.wazuh.com) -* [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html) -* [Docker Hub](https://hub.docker.com/u/wazuh) +Official documentation is available at: +[https://documentation.wazuh.com/current/deployment-options/docker/index.html](https://documentation.wazuh.com/current/deployment-options/docker/index.html) -### Setup SSL certificate +You can also explore internal documentation in the [`docs`](https://github.com/wazuh/wazuh-docker/tree/main/docs) folder of this repository. -Before starting the environment it is required to provide an SSL certificate (or just generate one self-signed). +## Get Involved -Documentation on how to provide these two can be found at [Wazuh Docker Documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#production-deployment). +- **Fork the repository** and create your own branches to add features or fix bugs. +- **Open issues** to report bugs or request features. +- **Submit pull requests** following the contributing guidelines. +- Participate in [discussions](https://github.com/wazuh/wazuh-docker/discussions) if available. - -## Environment Variables - -Default values are included when available. - -### Wazuh -``` -API_USERNAME="wazuh-wui" # Wazuh API username -API_PASSWORD="MyS3cr37P450r.*-" # Wazuh API password - Must comply with requirements - # (8+ length, uppercase, lowercase, special chars) - -INDEXER_URL=https://wazuh.indexer:9200 # Wazuh indexer URL -INDEXER_USERNAME=admin # Wazuh indexer Username -INDEXER_PASSWORD=SecretPassword # Wazuh indexer Password -FILEBEAT_SSL_VERIFICATION_MODE=full # Filebeat SSL Verification mode (full or none) -SSL_CERTIFICATE_AUTHORITIES="" # Path of Filebeat SSL CA -SSL_CERTIFICATE="" # Path of Filebeat SSL Certificate -SSL_KEY="" # Path of Filebeat SSL Key -``` - -### Dashboard -``` -PATTERN="wazuh-alerts-*" # Default index pattern to use - -CHECKS_PATTERN=true # Defines which checks must be considered by the healthcheck -CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must be true or false -CHECKS_API=true -CHECKS_SETUP=true - -APP_TIMEOUT=20000 # Defines maximum timeout to be used on the Wazuh app requests - -API_SELECTOR=true Defines if the user is allowed to change the selected API directly from the Wazuh app top menu -IP_SELECTOR=true # Defines if the user is allowed to change the selected index pattern directly from the Wazuh app top menu -IP_IGNORE="[]" # List of index patterns to be ignored - -DASHBOARD_USERNAME=kibanaserver # Custom user saved in the dashboard keystore -DASHBOARD_PASSWORD=kibanaserver # Custom password saved in the dashboard keystore -WAZUH_MONITORING_ENABLED=true # Custom settings to enable/disable wazuh-monitoring indices -WAZUH_MONITORING_FREQUENCY=900 # Custom setting to set the frequency for wazuh-monitoring indices cron task -WAZUH_MONITORING_SHARDS=2 # Configure wazuh-monitoring-* indices shards and replicas -WAZUH_MONITORING_REPLICAS=0 ## -``` - -## Directory structure - - ├── build-docker-images - │   ├── build-images.sh - │   ├── build-images.yml - │   ├── README.md - │   ├── wazuh-agent - │   │   ├── config - │   │   │   ├── check_repository.sh - │   │   │   └── etc - │   │   │   ├── cont-init.d - │   │   │   │   ├── 0-wazuh-init - │   │   │   │   └── 1-agent - │   │   │   └── services.d - │   │   │   └── ossec-logs - │   │   │   └── run - │   │   └── Dockerfile - │   ├── wazuh-dashboard - │   │   ├── config - │   │   │   ├── check_repository.sh - │   │   │   ├── config.sh - │   │   │   ├── config.yml - │   │   │   ├── entrypoint.sh - │   │   │   ├── wazuh_app_config.sh - │   │   │   └── wazuh.yml - │   │   └── Dockerfile - │   ├── wazuh-indexer - │   │   ├── config - │   │   │   ├── action_groups.yml - │   │   │   ├── check_repository.sh - │   │   │   ├── config.sh - │   │   │   ├── config.yml - │   │   │   ├── entrypoint.sh - │   │   │   ├── internal_users.yml - │   │   │   ├── opensearch.yml - │   │   │   ├── roles_mapping.yml - │   │   │   ├── roles.yml - │   │   │   └── securityadmin.sh - │   │   └── Dockerfile - │   └── wazuh-manager - │   ├── config - │   │   ├── check_repository.sh - │   │   ├── create_user.py - │   │   ├── etc - │   │   │   ├── cont-init.d - │   │   │   │   ├── 0-wazuh-init - │   │   │   │   ├── 1-config-filebeat - │   │   │   │   └── 2-manager - │   │   │   └── services.d - │   │   │   ├── filebeat - │   │   │   │   ├── finish - │   │   │   │   └── run - │   │   │   └── ossec-logs - │   │   │   └── run - │   │   ├── filebeat_module.sh - │   │   ├── filebeat.yml - │   │   ├── permanent_data.env - │   │   └── permanent_data.sh - │   └── Dockerfile - ├── CHANGELOG.md - ├── docs - │   ├── book.toml - │   ├── build.sh - │   ├── dev - │   │   ├── build-image.md - │   │   ├── README.md - │   │   ├── run-tests.md - │   │   └── setup.md - │   ├── README.md - │   ├── ref - │   │   ├── configuration - │   │   │   ├── configuration-files.md - │   │   │   ├── environment-variables.md - │   │   │   └── README.md - │   │   ├── getting-started - │   │   │   ├── deployment - │   │   │   │   ├── multi-node.md - │   │   │   │   ├── README.md - │   │   │   │   ├── single-node.md - │   │   │   │   └── wazuh-agent.md - │   │   │   ├── README.md - │   │   │   └── requirements.md - │   │   ├── glossary.md - │   │   ├── Introduction - │   │   │   ├── compatibility.md - │   │   │   ├── description.md - │   │   │   └── README.md - │   │   ├── README.md - │   │   └── upgrade.md - │   ├── server.sh - │   └── SUMMARY.md - ├── indexer-certs-creator - │   ├── config - │   │   └── entrypoint.sh - │   ├── Dockerfile - │   └── README.md - ├── LICENSE - ├── multi-node - │   ├── config - │   │   ├── certs.yml - │   │   ├── nginx - │   │   │   └── nginx.conf - │   │   ├── wazuh_cluster - │   │   │   ├── wazuh_manager.conf - │   │   │   └── wazuh_worker.conf - │   │   ├── wazuh_dashboard - │   │   │   ├── opensearch_dashboards.yml - │   │   │   └── wazuh.yml - │   │   └── wazuh_indexer - │   │   ├── internal_users.yml - │   │   ├── wazuh1.indexer.yml - │   │   ├── wazuh2.indexer.yml - │   │   └── wazuh3.indexer.yml - │   ├── docker-compose.yml - │   ├── generate-indexer-certs.yml - │   ├── Migration-to-Wazuh-4.4.md - │   ├── README.md - │   └── volume-migrator.sh - ├── README.md - ├── SECURITY.md - ├── single-node - │   ├── config - │   │   ├── certs.yml - │   │   ├── wazuh_cluster - │   │   │   └── wazuh_manager.conf - │   │   ├── wazuh_dashboard - │   │   │   ├── opensearch_dashboards.yml - │   │   │   └── wazuh.yml - │   │   ├── wazuh_indexer - │   │   │   ├── internal_users.yml - │   │   │   └── wazuh.indexer.yml - │   │   └── wazuh_indexer_ssl_certs [error opening dir] - │   ├── docker-compose.yml - │   ├── generate-indexer-certs.yml - │   └── README.md - ├── VERSION.json - └── wazuh-agent - ├── config - │   └── wazuh-agent-conf - └── docker-compose.yml - - -## Branches - -* `main` branch contains the latest code, be aware of possible bugs on this branch. - -## Compatibility Matrix - -| Wazuh version | ODFE | XPACK | -|---------------|---------|--------| -| v4.3.0+ | | | -| v4.2.7 | 1.13.2 | 7.11.2 | -| v4.2.6 | 1.13.2 | 7.11.2 | -| v4.2.5 | 1.13.2 | 7.11.2 | -| v4.2.4 | 1.13.2 | 7.11.2 | -| v4.2.3 | 1.13.2 | 7.11.2 | -| v4.2.2 | 1.13.2 | 7.11.2 | -| v4.2.1 | 1.13.2 | 7.11.2 | -| v4.2.0 | 1.13.2 | 7.10.2 | -| v4.1.5 | 1.13.2 | 7.10.2 | -| v4.1.4 | 1.12.0 | 7.10.2 | -| v4.1.3 | 1.12.0 | 7.10.2 | -| v4.1.2 | 1.12.0 | 7.10.2 | -| v4.1.1 | 1.12.0 | 7.10.2 | -| v4.1.0 | 1.12.0 | 7.10.2 | -| v4.0.4 | 1.11.0 | | -| v4.0.3 | 1.11.0 | | -| v4.0.2 | 1.11.0 | | -| v4.0.1 | 1.11.0 | | -| v4.0.0 | 1.10.1 | | - -## Credits and Thank you +## Authors / Maintainers These Docker containers are based on: * "deviantony" dockerfiles which can be found at [https://github.com/deviantony/docker-elk](https://github.com/deviantony/docker-elk) * "xetus-oss" dockerfiles, which can be found at [https://github.com/xetus-oss/docker-ossec-server](https://github.com/xetus-oss/docker-ossec-server) +This project is maintained by the [Wazuh](https://wazuh.com) team, with active contributions from the community. + +See the full list of contributors at: +[https://github.com/wazuh/wazuh-docker/graphs/contributors](https://github.com/wazuh/wazuh-docker/graphs/contributors) + We thank them and everyone else who has contributed to this project. ## License and copyright diff --git a/docs/dev/run-tests.md b/docs/dev/run-tests.md index 65798746..e4b1a9d3 100644 --- a/docs/dev/run-tests.md +++ b/docs/dev/run-tests.md @@ -1 +1,28 @@ -# Run Tests +# Pull Request Test Execution + +This repository includes automated tests designed to validate the correct deployment of Wazuh using Docker. These tests are executed on every pull request (PR) to ensure the integrity and stability of the system when changes are introduced. + +## Purpose + +The main objective of the tests is to verify that the Wazuh Docker environment can be successfully deployed and that all its core components (Wazuh Manager, Indexer, Dashboard, and Agents) operate as expected after any modification in the codebase. + +## When Tests Run + +- Tests are automatically triggered on every pull request (PR) opened against the repository. +- They also run when changes are pushed to an existing PR. + +## What Is Tested + +The tests aim to ensure: +- Successful build and startup of all Docker containers. +- Proper communication between components (e.g., Manager ↔ Indexer, Dashboard ↔ API). +- No critical errors appear in the logs. +- Key services are healthy and accessible. + +## Benefits + +- Reduces the risk of breaking the deployment flow. +- Ensures system consistency during feature development and refactoring. +- Provides early feedback on integration issues before merging. + +--- diff --git a/docs/ref/configuration/environment-variables.md b/docs/ref/configuration/environment-variables.md index a0428bb4..003ad165 100644 --- a/docs/ref/configuration/environment-variables.md +++ b/docs/ref/configuration/environment-variables.md @@ -1 +1,116 @@ -# Environment Variabless +# Environment Variables in Wazuh Docker Deployment + +This document outlines the environment variables applicable to the Wazuh Docker deployment, covering the Wazuh Manager, Indexer, Dashboard, and Agent components. It also explains how to override configuration settings using environment variables. + +## Table of Contents + +- [Wazuh Manager](#wazuh-manager) +- [Wazuh Indexer](#wazuh-indexer) +- [Wazuh Dashboard](#wazuh-dashboard) +- [Wazuh Agent](#wazuh-agent) +- [Overriding Configuration Files with Environment Variables](#overriding-configuration-files-with-environment-variables) + +--- + +## Wazuh Manager + +The Wazuh Manager container accepts the following environment variables, which can be set in the `docker-compose.yml` file under the `environment` section: + +```yaml +environment: + - INDEXER_USERNAME=admin + - INDEXER_PASSWORD=SecretPassword + - WAZUH_API_URL=https://wazuh.manager + - DASHBOARD_USERNAME=kibanaserver + - DASHBOARD_PASSWORD=kibanaserver + - API_USERNAME=wazuh-wui + - API_PASSWORD=MyS3cr37P450r.*- +``` + +**Variable Descriptions:** + +- `INDEXER_USERNAME` / `INDEXER_PASSWORD`: Credentials for accessing the Wazuh Indexer with `admin` user or a user with the same permissions. +- `WAZUH_API_URL`: URL of the Wazuh API, used by other services for communication. +- `DASHBOARD_USERNAME` / `DASHBOARD_PASSWORD`: Credentials for the Wazuh Dashboard to authenticate with the Indexer. +- `API_USERNAME` / `API_PASSWORD`: Credentials for the Wazuh API user, utilized by the Dashboard for API interactions. + +--- + +## Wazuh Indexer + +The Wazuh Indexer services (`single-node` and `multi-node`) use the following environment variable: + +```yaml +environment: + - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g" +``` + +**Variable Descriptions:** + +- `OPENSEARCH_JAVA_OPTS`: Sets JVM heap size and other Java options. + +--- + +## Wazuh Dashboard + +The Wazuh Dashboard container accepts the following environment variables, which should be set in the `docker-compose.yml` file: + +```yaml +environment: + - INDEXER_USERNAME=admin + - INDEXER_PASSWORD=SecretPassword + - WAZUH_API_URL=https://wazuh.manager + - DASHBOARD_USERNAME=kibanaserver + - DASHBOARD_PASSWORD=kibanaserver + - API_USERNAME=wazuh-wui + - API_PASSWORD=MyS3cr37P450r.*- +``` + +**Variable Descriptions:** + +- `INDEXER_USERNAME` / `INDEXER_PASSWORD`: Credentials used by the Dashboard to authenticate with the Wazuh Indexer. +- `WAZUH_API_URL`: Base URL of the Wazuh API, used for querying and visualizing security data. +- `DASHBOARD_USERNAME` / `DASHBOARD_PASSWORD`: User credentials for the Dashboard interface. +- `API_USERNAME` / `API_PASSWORD`: API user credentials for authenticating Wazuh API requests initiated by the Dashboard. + +These variables are critical for enabling communication between the Wazuh Dashboard, the Wazuh Indexer, and the Wazuh API. + +--- + +## Wazuh Agent + +The Wazuh Agent container uses the following environment variables to dynamically update the `ossec.conf` configuration file at runtime: + +```yaml +environment: + - WAZUH_MANAGER_SERVER=wazuh.manager + - WAZUH_MANAGER_PORT=1514 + - WAZUH_REGISTRATION_SERVER=wazuh.manager + - WAZUH_REGISTRATION_PORT=1515 + - WAZUH_AGENT_NAME=my-agent + - WAZUH_REGISTRATION_PASSWORD=StrongPassword +``` + +These variables are used by the `set_manager_conn()` function in the entrypoint script to replace placeholder values in `ossec.conf` and set the enrollment password. + +--- + +## Overriding Configuration Files with Environment Variables + +To override configuration values from files such as `opensearch.yml` and `opensearch_dashboards.yml` using environment variables: + +1. Convert the configuration key to uppercase. +2. Replace any dots (`.`) in the key with underscores (`_`). +3. Assign the corresponding value. + +### Examples: + +| YAML Key | Environment Variable | +|-----------------------------------------|--------------------------------------------| +| `discovery.type: single-node` | `DISCOVERY_TYPE=single-node` | +| `opensearch.hosts: https://url:9200` | `OPENSEARCH_HOSTS=https://url:9200` | +| `server.port: 5601` | `SERVER_PORT=5601` | + +This approach allows you to configure the services dynamically via Docker without modifying internal files. + +--- diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md index dab017fb..1d455258 100644 --- a/docs/ref/upgrade.md +++ b/docs/ref/upgrade.md @@ -1 +1,10 @@ -# Upgrade +# Upgrading Wazuh in Docker + +To upgrade your Wazuh deployment when using Docker, we recommend following the official Wazuh documentation. It contains the most accurate and up-to-date information for upgrading from previous versions to the current one. + +> 📘 Please refer to the official guide: +> [Upgrading Wazuh Docker](https://documentation.wazuh.com/current/deployment-options/docker/upgrading-wazuh-docker.html) + +This external guide provides detailed upgrade instructions that cover multiple scenarios and configurations. + +Following the official documentation ensures a smoother and safer upgrade process, with fewer risks of data loss or configuration issues. From 3cdebd42759ae9c9ad4dd05a42da1744ea873835 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 20 May 2025 10:15:24 -0300 Subject: [PATCH 27/38] Change filebeat output test for single node test --- .github/single-node-filebeat-check.sh | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/.github/single-node-filebeat-check.sh b/.github/single-node-filebeat-check.sh index 7f9ae7d3..5a84207f 100755 --- a/.github/single-node-filebeat-check.sh +++ b/.github/single-node-filebeat-check.sh @@ -1,9 +1,20 @@ -filebeatout=$(docker exec single-node_wazuh.manager_1 sh -c 'filebeat test output') -filebeatstatus=$(echo "${filebeatout}" | grep -c OK) -if [[ filebeatstatus -eq 7 ]]; then - echo "No errors in filebeat" +COMMAND_TO_EXECUTE="filebeat test output" + +MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E '*manager*') + +if [ -z "$CONTAINER_NAMES" ]; then + echo "No se encontraron contenedores con 'master' en su nombre." else - echo "Errors in filebeat" - echo "${filebeatout}" - exit 1 + for MASTER_CONTAINERS in $MASTER_CONTAINERS; do + FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) + FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK) + if [[ filebeatstatus -eq 7 ]]; then + echo "No errors in filebeat" + echo "${FILEBEAT_OUTPUT}" + else + echo "Errors in filebeat" + echo "${FILEBEAT_OUTPUT}" + exit 1 + fi + done fi \ No newline at end of file From 91a2566aa2303b389aa4f8b0b001ccd542279193 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 20 May 2025 14:22:44 -0300 Subject: [PATCH 28/38] Change grep filter --- .github/single-node-filebeat-check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/single-node-filebeat-check.sh b/.github/single-node-filebeat-check.sh index 5a84207f..b6c8d727 100755 --- a/.github/single-node-filebeat-check.sh +++ b/.github/single-node-filebeat-check.sh @@ -1,6 +1,6 @@ COMMAND_TO_EXECUTE="filebeat test output" -MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E '*manager*') +MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'manager') if [ -z "$CONTAINER_NAMES" ]; then echo "No se encontraron contenedores con 'master' en su nombre." From a1514129ff79b692046e60c3c5398ee01f61028a Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 20 May 2025 14:36:55 -0300 Subject: [PATCH 29/38] Change filebeat output test for multi node test --- .github/multi-node-filebeat-check.sh | 49 +++++++++++++++++++-------- .github/single-node-filebeat-check.sh | 4 +-- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/.github/multi-node-filebeat-check.sh b/.github/multi-node-filebeat-check.sh index 39a21827..2cadd516 100755 --- a/.github/multi-node-filebeat-check.sh +++ b/.github/multi-node-filebeat-check.sh @@ -1,18 +1,39 @@ -filebeatout1=$(docker exec multi-node_wazuh.master_1 sh -c 'filebeat test output') -filebeatstatus1=$(echo "${filebeatout1}" | grep -c OK) -if [[ filebeatstatus1 -eq 7 ]]; then - echo "No errors in master filebeat" +COMMAND_TO_EXECUTE="filebeat test output" + +MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'master') + +if [ -z "$MASTER_CONTAINERS" ]; then + echo "No containers were found with 'master' in their name." else - echo "Errors in master filebeat" - echo "${filebeatout1}" - exit 1 + for MASTER_CONTAINERS in $MASTER_CONTAINERS; do + FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) + FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK) + if [[ filebeatstatus -eq 7 ]]; then + echo "No errors in filebeat" + echo "${FILEBEAT_OUTPUT}" + else + echo "Errors in filebeat" + echo "${FILEBEAT_OUTPUT}" + exit 1 + fi + done fi -filebeatout2=$(docker exec multi-node_wazuh.worker_1 sh -c 'filebeat test output') -filebeatstatus2=$(echo "${filebeatout2}" | grep -c OK) -if [[ filebeatstatus2 -eq 7 ]]; then - echo "No errors in worker filebeat" + +MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'worker') + +if [ -z "$MASTER_CONTAINERS" ]; then + echo "No containers were found with 'worker' in their name." else - echo "Errors in worker filebeat" - echo "${filebeatout2}" - exit 1 + for MASTER_CONTAINERS in $MASTER_CONTAINERS; do + FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) + FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK) + if [[ filebeatstatus -eq 7 ]]; then + echo "No errors in filebeat" + echo "${FILEBEAT_OUTPUT}" + else + echo "Errors in filebeat" + echo "${FILEBEAT_OUTPUT}" + exit 1 + fi + done fi \ No newline at end of file diff --git a/.github/single-node-filebeat-check.sh b/.github/single-node-filebeat-check.sh index b6c8d727..e96b6cd5 100755 --- a/.github/single-node-filebeat-check.sh +++ b/.github/single-node-filebeat-check.sh @@ -2,8 +2,8 @@ COMMAND_TO_EXECUTE="filebeat test output" MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'manager') -if [ -z "$CONTAINER_NAMES" ]; then - echo "No se encontraron contenedores con 'master' en su nombre." +if [ -z "$MASTER_CONTAINERS" ]; then + echo "No containers were found with 'manager' in their name." else for MASTER_CONTAINERS in $MASTER_CONTAINERS; do FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) From 90cc26f0377675aad0347ed2b33ccd2352036c06 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Tue, 20 May 2025 14:52:12 -0300 Subject: [PATCH 30/38] Modify FILEBEAT_STATUS test --- .github/multi-node-filebeat-check.sh | 4 ++-- .github/single-node-filebeat-check.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/multi-node-filebeat-check.sh b/.github/multi-node-filebeat-check.sh index 2cadd516..3052f69e 100755 --- a/.github/multi-node-filebeat-check.sh +++ b/.github/multi-node-filebeat-check.sh @@ -8,7 +8,7 @@ else for MASTER_CONTAINERS in $MASTER_CONTAINERS; do FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK) - if [[ filebeatstatus -eq 7 ]]; then + if [[ $FILEBEAT_STATUS -eq 7 ]]; then echo "No errors in filebeat" echo "${FILEBEAT_OUTPUT}" else @@ -27,7 +27,7 @@ else for MASTER_CONTAINERS in $MASTER_CONTAINERS; do FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK) - if [[ filebeatstatus -eq 7 ]]; then + if [[ $FILEBEAT_STATUS -eq 7 ]]; then echo "No errors in filebeat" echo "${FILEBEAT_OUTPUT}" else diff --git a/.github/single-node-filebeat-check.sh b/.github/single-node-filebeat-check.sh index e96b6cd5..1979d25b 100755 --- a/.github/single-node-filebeat-check.sh +++ b/.github/single-node-filebeat-check.sh @@ -8,7 +8,7 @@ else for MASTER_CONTAINERS in $MASTER_CONTAINERS; do FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE) FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK) - if [[ filebeatstatus -eq 7 ]]; then + if [[ $FILEBEAT_STATUS -eq 7 ]]; then echo "No errors in filebeat" echo "${FILEBEAT_OUTPUT}" else From 0041c252185ef208fbce292f7c53261196802c3e Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 21 May 2025 09:05:55 -0300 Subject: [PATCH 31/38] Add changelog --- CHANGELOG.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd053c1d..65e1390b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,44 @@ # Change Log All notable changes to this project will be documented in this file. +## [4.12.2] + +### Added + +- Fix Warning message when migrating Docker compose v2 ([#1828](https://github.com/wazuh/wazuh-docker/pull/1828)) +- Add wazuh agent test and push ([#1817](https://github.com/wazuh/wazuh-docker/pull/1817)) +- Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816)) + +### Changed + +- None + +### Fixed + +- None + +### Deleted + +- None + +## [4.12.1] + +### Added + +- None + +### Changed + +- None + +### Fixed + +- None + +### Deleted + +- None + ## [4.12.0] ### Added From 2b61eeb74c720e3d4c8b756868c3f8e424aa9241 Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 21 May 2025 09:17:34 -0300 Subject: [PATCH 32/38] Add wazuh agent description into README.md file --- docs/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/README.md b/docs/README.md index 767aa057..0079ddff 100644 --- a/docs/README.md +++ b/docs/README.md @@ -10,6 +10,7 @@ In this repository you will find the containers to run: * Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS * Wazuh dashboard: provides a web user interface to browse through alert data and allows you to visualize the agents configuration and status. * Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).** +* Wazuh agent: This container contains the Wazuh agent services. Current functionality is limited. The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets. The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets. From b30ac0a2b6d925b6f85e3137d56b3d08c26f87ba Mon Sep 17 00:00:00 2001 From: vcerenu Date: Wed, 21 May 2025 10:59:50 -0300 Subject: [PATCH 33/38] Add wazuh agent description into README.md file --- README.md | 2 -- docs/README.md | 51 +------------------------------------------------- 2 files changed, 1 insertion(+), 52 deletions(-) diff --git a/README.md b/README.md index 0532e977..18e3a596 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ [![Slack](https://img.shields.io/badge/slack-join-blue.svg)](https://wazuh.com/community/join-us-on-slack/) [![Email](https://img.shields.io/badge/email-join-blue.svg)](https://groups.google.com/forum/#!forum/wazuh) -[![Documentation](https://img.shields.io/badge/docs-view-green.svg)](https://documentation.wazuh.com) -[![Documentation](https://img.shields.io/badge/web-view-green.svg)](https://wazuh.com) ## Description diff --git a/docs/README.md b/docs/README.md index 0079ddff..0eb31d50 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,6 +16,7 @@ The folder `build-docker-images` contains a README explaining how to build the W The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets. The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard. The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexers, and one Wazuh dashboard. +The folder `wazuh-agent` contains a README explaining how to run a container with Wazuh agent. ## Documentation @@ -23,56 +24,6 @@ The folder `multi-node` contains a README explaining how to run a Wazuh environm * [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html) * [Docker Hub](https://hub.docker.com/u/wazuh) - -### Setup SSL certificate - -Before starting the environment it is required to provide an SSL certificate (or just generate one self-signed). - -Documentation on how to provide these two can be found at [Wazuh Docker Documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#production-deployment). - - -## Environment Variables - -Default values are included when available. - -### Wazuh -``` -API_USERNAME="wazuh-wui" # Wazuh API username -API_PASSWORD="MyS3cr37P450r.*-" # Wazuh API password - Must comply with requirements - # (8+ length, uppercase, lowercase, special chars) - -INDEXER_URL=https://wazuh.indexer:9200 # Wazuh indexer URL -INDEXER_USERNAME=admin # Wazuh indexer Username -INDEXER_PASSWORD=SecretPassword # Wazuh indexer Password -FILEBEAT_SSL_VERIFICATION_MODE=full # Filebeat SSL Verification mode (full or none) -SSL_CERTIFICATE_AUTHORITIES="" # Path of Filebeat SSL CA -SSL_CERTIFICATE="" # Path of Filebeat SSL Certificate -SSL_KEY="" # Path of Filebeat SSL Key -``` - -### Dashboard -``` -PATTERN="wazuh-alerts-*" # Default index pattern to use - -CHECKS_PATTERN=true # Defines which checks must be considered by the healthcheck -CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must be true or false -CHECKS_API=true -CHECKS_SETUP=true - -APP_TIMEOUT=20000 # Defines maximum timeout to be used on the Wazuh app requests - -API_SELECTOR=true Defines if the user is allowed to change the selected API directly from the Wazuh app top menu -IP_SELECTOR=true # Defines if the user is allowed to change the selected index pattern directly from the Wazuh app top menu -IP_IGNORE="[]" # List of index patterns to be ignored - -DASHBOARD_USERNAME=kibanaserver # Custom user saved in the dashboard keystore -DASHBOARD_PASSWORD=kibanaserver # Custom password saved in the dashboard keystore -WAZUH_MONITORING_ENABLED=true # Custom settings to enable/disable wazuh-monitoring indices -WAZUH_MONITORING_FREQUENCY=900 # Custom setting to set the frequency for wazuh-monitoring indices cron task -WAZUH_MONITORING_SHARDS=2 # Configure wazuh-monitoring-* indices shards and replicas -WAZUH_MONITORING_REPLICAS=0 ## -``` - ## Directory structure ├── build-docker-images From c4f225cb1b8f8a8c6b5c8b43ca18c112bb846ffd Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Thu, 29 May 2025 09:22:27 -0300 Subject: [PATCH 34/38] Remove 4.12.2 references from 4.13.0 branch --- CHANGELOG.md | 26 +++---------------- .../config/wazuh_indexer_ssl_certs/certs.yml | 24 +++++++++++++++++ 2 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 multi-node/config/wazuh_indexer_ssl_certs/certs.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 154e2c80..94919027 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ All notable changes to this project will be documented in this file. ### Added - Added repository_bumper script. ([#1781](https://github.com/wazuh/wazuh-docker/pull/1781)) +- Fix Warning message when migrating Docker compose v2 ([#1828](https://github.com/wazuh/wazuh-docker/pull/1828)) +- Add technical documentation ([#1822](https://github.com/wazuh/wazuh-docker/pull/1822)) +- Add wazuh agent test and push ([#1817](https://github.com/wazuh/wazuh-docker/pull/1817)) +- Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816)) ### Changed @@ -20,28 +24,6 @@ All notable changes to this project will be documented in this file. - Remove default docker reference version from workflow ([#1761](https://github.com/wazuh/wazuh-docker/pull/1761)) - Remove 'stable' branch ocurrencies ([#1757](https://github.com/wazuh/wazuh-docker/pull/1757)) -## [4.12.2] - -### Added - -- Fix Warning message when migrating Docker compose v2 ([#1828](https://github.com/wazuh/wazuh-docker/pull/1828)) -- Add technical documentation ([#1822](https://github.com/wazuh/wazuh-docker/pull/1822)) -- Add wazuh agent test and push ([#1817](https://github.com/wazuh/wazuh-docker/pull/1817)) -- Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816)) - -### Changed - -- None - -### Fixed - -- None - -### Deleted - -- None - - ## [4.12.1] ### Added diff --git a/multi-node/config/wazuh_indexer_ssl_certs/certs.yml b/multi-node/config/wazuh_indexer_ssl_certs/certs.yml new file mode 100644 index 00000000..f88f5f7f --- /dev/null +++ b/multi-node/config/wazuh_indexer_ssl_certs/certs.yml @@ -0,0 +1,24 @@ +nodes: + # Wazuh indexer server nodes + indexer: + - name: wazuh1.indexer + ip: wazuh1.indexer + - name: wazuh2.indexer + ip: wazuh2.indexer + - name: wazuh3.indexer + ip: wazuh3.indexer + + # Wazuh server nodes + # Use node_type only with more than one Wazuh manager + server: + - name: wazuh.master + ip: wazuh.master + node_type: master + - name: wazuh.worker + ip: wazuh.worker + node_type: worker + + # Wazuh dashboard node + dashboard: + - name: wazuh.dashboard + ip: wazuh.dashboard \ No newline at end of file From d13127b5dec5af954689cfbf74570eaf013a44af Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Thu, 29 May 2025 09:23:59 -0300 Subject: [PATCH 35/38] Remove 4.12.2 references from 4.13.0 branch --- multi-node/config/wazuh_indexer_ssl_certs/certs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multi-node/config/wazuh_indexer_ssl_certs/certs.yml b/multi-node/config/wazuh_indexer_ssl_certs/certs.yml index f88f5f7f..5c3f4f1d 100644 --- a/multi-node/config/wazuh_indexer_ssl_certs/certs.yml +++ b/multi-node/config/wazuh_indexer_ssl_certs/certs.yml @@ -21,4 +21,4 @@ nodes: # Wazuh dashboard node dashboard: - name: wazuh.dashboard - ip: wazuh.dashboard \ No newline at end of file + ip: wazuh.dashboard From 08bc37198f8754767f968ab51aa693987bed28d3 Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Thu, 29 May 2025 09:25:52 -0300 Subject: [PATCH 36/38] Remove 4.12.2 references from 4.13.0 branch --- .../config/wazuh_indexer_ssl_certs/certs.yml | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 multi-node/config/wazuh_indexer_ssl_certs/certs.yml diff --git a/multi-node/config/wazuh_indexer_ssl_certs/certs.yml b/multi-node/config/wazuh_indexer_ssl_certs/certs.yml deleted file mode 100644 index 5c3f4f1d..00000000 --- a/multi-node/config/wazuh_indexer_ssl_certs/certs.yml +++ /dev/null @@ -1,24 +0,0 @@ -nodes: - # Wazuh indexer server nodes - indexer: - - name: wazuh1.indexer - ip: wazuh1.indexer - - name: wazuh2.indexer - ip: wazuh2.indexer - - name: wazuh3.indexer - ip: wazuh3.indexer - - # Wazuh server nodes - # Use node_type only with more than one Wazuh manager - server: - - name: wazuh.master - ip: wazuh.master - node_type: master - - name: wazuh.worker - ip: wazuh.worker - node_type: worker - - # Wazuh dashboard node - dashboard: - - name: wazuh.dashboard - ip: wazuh.dashboard From c32fa133e32ac6425b635ae4da439224a841c8bf Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 30 May 2025 09:36:37 -0300 Subject: [PATCH 37/38] Bump 4.13.0 technical documentation --- README.md | 2 +- docs/dev/build-image.md | 4 ++-- docs/dev/introduction.md | 2 +- docs/dev/setup.md | 6 +++--- docs/ref/Introduction/description.md | 6 +++--- docs/ref/Introduction/introduction.md | 4 ++-- docs/ref/configuration/configuration-files.md | 2 +- docs/ref/configuration/configuration.md | 2 +- docs/ref/getting-started/deployment/deployment.md | 6 +++--- docs/ref/getting-started/getting-started.md | 6 +++--- docs/ref/getting-started/requirements.md | 2 +- docs/ref/glossary.md | 6 +++--- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 18e3a596..11293e86 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The `wazuh/wazuh-docker` repository provides resources to deploy the Wazuh cyber ## Branch Convention - `main`: Developing and testing of new features. -- `X.Y.Z`: Version-specific branches (e.g., `4.12.2`, `4.11.0`, etc.). +- `X.Y.Z`: Version-specific branches (e.g., `4.13.0`, `4.12.0`, etc.). ## Documentation diff --git a/docs/dev/build-image.md b/docs/dev/build-image.md index 58a7c734..a10e1e9b 100644 --- a/docs/dev/build-image.md +++ b/docs/dev/build-image.md @@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument: ``` -$ build-docker-images/build-images.sh -v 4.12.2 +$ build-docker-images/build-images.sh -v 4.13.0 ``` To get all the available script options use the -h or --help option: @@ -26,7 +26,7 @@ Usage: build-docker-images/build-images.sh [OPTIONS] -d, --dev [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default. -f, --filebeat-module [Optional] Set Filebeat module version. By default 0.4. -r, --revision [Optional] Package revision. By default 1 - -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.12.2. + -v, --version [Optional] Set the Wazuh version should be builded. By default, 4.13.0. -h, --help Show this help. ``` \ No newline at end of file diff --git a/docs/dev/introduction.md b/docs/dev/introduction.md index 56e13df2..e639c535 100644 --- a/docs/dev/introduction.md +++ b/docs/dev/introduction.md @@ -1,6 +1,6 @@ # Development Guide - Introduction -Welcome to the Development Guide for Wazuh-docker version 4.12.2. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development. +Welcome to the Development Guide for Wazuh-docker version 4.13.0. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development. ## Purpose of This Guide diff --git a/docs/dev/setup.md b/docs/dev/setup.md index 3c9d37d5..5cee6d5f 100644 --- a/docs/dev/setup.md +++ b/docs/dev/setup.md @@ -1,6 +1,6 @@ # Development Guide - Setup Environment -This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.12.2). A proper setup is crucial for building images, running tests, and contributing effectively. +This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.13.0). A proper setup is crucial for building images, running tests, and contributing effectively. ## Prerequisites @@ -26,12 +26,12 @@ Before you begin, ensure your system meets the following requirements: Follow these steps to prepare your development environment: 1. **Clone the Repository**: - Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.12.2`. + Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.13.0`. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout 4.12.2 + git checkout 4.13.0 ``` 2. **Verify Docker Installation**: diff --git a/docs/ref/Introduction/description.md b/docs/ref/Introduction/description.md index 917fbfe1..3f478fdc 100644 --- a/docs/ref/Introduction/description.md +++ b/docs/ref/Introduction/description.md @@ -1,6 +1,6 @@ # Reference Manual - Description -This section provides a detailed description of Wazuh-docker (version 4.12.2), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment. +This section provides a detailed description of Wazuh-docker (version 4.13.0), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment. ## What is Wazuh? @@ -18,7 +18,7 @@ Wazuh-docker is a project that provides Docker images and `docker compose` confi ## Core Components in Wazuh-Docker -The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.12.2: +The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.13.0: 1. **Wazuh Manager**: - The central component that collects and analyzes data from deployed Wazuh agents. @@ -28,7 +28,7 @@ The Wazuh-Docker project typically provides images for the following core Wazuh 2. **Wazuh Indexer**: - A highly scalable, full-text search and analytics engine. - Based on OpenSearch (or historically Elasticsearch), it stores and indexes alerts and monitoring data generated by the Wazuh manager. - - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.12.2, this is typically an OpenSearch-based component. + - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.13.0, this is typically an OpenSearch-based component. 3. **Wazuh Dashboard**: - A flexible visualization tool based on OpenSearch Dashboards (or historically Kibana). diff --git a/docs/ref/Introduction/introduction.md b/docs/ref/Introduction/introduction.md index 486322e4..7c7881e2 100644 --- a/docs/ref/Introduction/introduction.md +++ b/docs/ref/Introduction/introduction.md @@ -1,6 +1,6 @@ # Reference Manual - Introduction -Welcome to the Reference Manual for Wazuh-Docker, version 4.12.2. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker. +Welcome to the Reference Manual for Wazuh-Docker, version 4.13.0. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker. ## Purpose of This Manual @@ -44,4 +44,4 @@ This manual is structured to help you find information efficiently: - If you need to customize your deployment, refer to the [Configuration](configuration/configuration.md) section. - For specific terms or concepts, consult the [Glossary](glossary.md). -This manual refers to version 4.12.2 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. +This manual refers to version 4.13.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. diff --git a/docs/ref/configuration/configuration-files.md b/docs/ref/configuration/configuration-files.md index 4689286f..07e6b0f8 100644 --- a/docs/ref/configuration/configuration-files.md +++ b/docs/ref/configuration/configuration-files.md @@ -29,4 +29,4 @@ ``` -Consult the official Wazuh documentation for version 4.12.2 for detailed information on all possible configuration parameters for each component. \ No newline at end of file +Consult the official Wazuh documentation for version 4.13.0 for detailed information on all possible configuration parameters for each component. \ No newline at end of file diff --git a/docs/ref/configuration/configuration.md b/docs/ref/configuration/configuration.md index dba9730e..b7d26444 100644 --- a/docs/ref/configuration/configuration.md +++ b/docs/ref/configuration/configuration.md @@ -1,6 +1,6 @@ # Reference Manual - Configuration -This section details how to configure your Wazuh-Docker deployment (version 4.12.2). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment. +This section details how to configure your Wazuh-Docker deployment (version 4.13.0). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment. ## Overview of Configuration Methods diff --git a/docs/ref/getting-started/deployment/deployment.md b/docs/ref/getting-started/deployment/deployment.md index c5d3e43f..00f8fd41 100644 --- a/docs/ref/getting-started/deployment/deployment.md +++ b/docs/ref/getting-started/deployment/deployment.md @@ -1,6 +1,6 @@ # Reference Manual - Deployment -This section provides detailed instructions for deploying Wazuh-Docker (version 4.12.2) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments. +This section provides detailed instructions for deploying Wazuh-Docker (version 4.13.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments. ## Overview of Deployment Options @@ -24,11 +24,11 @@ Ensure you have: - Met all the [System Requirements](ref/getting-started/requirements.md). - Installed Docker and Docker Compose on your host(s). -- Cloned the `wazuh-docker` repository (version `4.12.2`) or downloaded the necessary deployment files. +- Cloned the `wazuh-docker` repository (version `4.13.0`) or downloaded the necessary deployment files. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout v4.12.2 + git checkout v4.13.0 ``` - Made a backup of any existing Wazuh data if you are migrating or upgrading. diff --git a/docs/ref/getting-started/getting-started.md b/docs/ref/getting-started/getting-started.md index 4744e477..d8297628 100644 --- a/docs/ref/getting-started/getting-started.md +++ b/docs/ref/getting-started/getting-started.md @@ -1,6 +1,6 @@ # Reference Manual - Getting Started -This section guides you through the initial steps to get your Wazuh-docker (version 4.12.2) environment up and running. We will cover the prerequisites and point you to the deployment instructions. +This section guides you through the initial steps to get your Wazuh-docker (version 4.13.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions. ## Overview @@ -27,11 +27,11 @@ Before diving into the deployment, please ensure you have reviewed: Verify that your host system has sufficient RAM, CPU, and disk space. Ensure Docker and Docker Compose are installed and functioning correctly. 2. **Obtain Wazuh-docker Configuration**: - You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.12.2. + You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.13.0. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout v4.12.2 + git checkout v4.13.0 # Navigate to the specific docker-compose directory, e.g., single-node or multi-node # cd docker-compose/single-node/ (example path) ``` diff --git a/docs/ref/getting-started/requirements.md b/docs/ref/getting-started/requirements.md index 180a315f..e13e2295 100644 --- a/docs/ref/getting-started/requirements.md +++ b/docs/ref/getting-started/requirements.md @@ -1,6 +1,6 @@ # Reference Manual - Requirements -Before deploying Wazuh-Docker (version 4.12.2), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment. +Before deploying Wazuh-Docker (version 4.13.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment. ## Host System Requirements diff --git a/docs/ref/glossary.md b/docs/ref/glossary.md index fb3e6445..2c1e8ba9 100644 --- a/docs/ref/glossary.md +++ b/docs/ref/glossary.md @@ -1,6 +1,6 @@ # Reference Manual - Glossary -This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.12.2). +This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.13.0). --- @@ -22,7 +22,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their **D** -- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.12.2, this is typically OpenSearch Dashboards. +- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.13.0, this is typically OpenSearch Dashboards. - **Decoder**: A component in the Wazuh Manager that parses and extracts relevant information (fields) from raw log messages or event data. - **Docker**: An open platform for developing, shipping, and running applications inside containers. - **Docker Compose**: A tool for defining and running multi-container Docker applications. It uses a YAML file (`docker-compose.yml`) to configure the application's services, networks, and volumes. @@ -42,7 +42,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their **I** -- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.12.2, this is typically OpenSearch. +- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.13.0, this is typically OpenSearch. **L** From 7ae41672230f029fbe874588c8238a5b58a261ac Mon Sep 17 00:00:00 2001 From: vcerenu Date: Fri, 30 May 2025 09:47:37 -0300 Subject: [PATCH 38/38] Bump wazuh agent --- wazuh-agent/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wazuh-agent/docker-compose.yml b/wazuh-agent/docker-compose.yml index 3912908f..b4dc7d00 100644 --- a/wazuh-agent/docker-compose.yml +++ b/wazuh-agent/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: wazuh.agent: - image: wazuh/wazuh-agent:4.12.1 + image: wazuh/wazuh-agent:4.13.0 restart: always environment: - WAZUH_MANAGER_SERVER=