Add docker compose v2 compatibility

This commit is contained in:
vcerenu
2025-05-21 09:09:47 -03:00
14 changed files with 69 additions and 67 deletions

View File

@@ -1,18 +1,39 @@
filebeatout1=$(docker exec multi-node_wazuh.master_1 sh -c 'filebeat test output') COMMAND_TO_EXECUTE="filebeat test output"
filebeatstatus1=$(echo "${filebeatout1}" | grep -c OK)
if [[ filebeatstatus1 -eq 7 ]]; then MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'master')
echo "No errors in master filebeat"
if [ -z "$MASTER_CONTAINERS" ]; then
echo "No containers were found with 'master' in their name."
else else
echo "Errors in master filebeat" for MASTER_CONTAINERS in $MASTER_CONTAINERS; do
echo "${filebeatout1}" FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE)
exit 1 FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK)
if [[ $FILEBEAT_STATUS -eq 7 ]]; then
echo "No errors in filebeat"
echo "${FILEBEAT_OUTPUT}"
else
echo "Errors in filebeat"
echo "${FILEBEAT_OUTPUT}"
exit 1
fi
done
fi fi
filebeatout2=$(docker exec multi-node_wazuh.worker_1 sh -c 'filebeat test output')
filebeatstatus2=$(echo "${filebeatout2}" | grep -c OK) MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'worker')
if [[ filebeatstatus2 -eq 7 ]]; then
echo "No errors in worker filebeat" if [ -z "$MASTER_CONTAINERS" ]; then
echo "No containers were found with 'worker' in their name."
else else
echo "Errors in worker filebeat" for MASTER_CONTAINERS in $MASTER_CONTAINERS; do
echo "${filebeatout2}" FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE)
exit 1 FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK)
if [[ $FILEBEAT_STATUS -eq 7 ]]; then
echo "No errors in filebeat"
echo "${FILEBEAT_OUTPUT}"
else
echo "Errors in filebeat"
echo "${FILEBEAT_OUTPUT}"
exit 1
fi
done
fi fi

View File

@@ -1,9 +1,20 @@
filebeatout=$(docker exec single-node_wazuh.manager_1 sh -c 'filebeat test output') COMMAND_TO_EXECUTE="filebeat test output"
filebeatstatus=$(echo "${filebeatout}" | grep -c OK)
if [[ filebeatstatus -eq 7 ]]; then MASTER_CONTAINERS=$(docker ps --format '{{.Names}}' | grep -E 'manager')
echo "No errors in filebeat"
if [ -z "$MASTER_CONTAINERS" ]; then
echo "No containers were found with 'manager' in their name."
else else
echo "Errors in filebeat" for MASTER_CONTAINERS in $MASTER_CONTAINERS; do
echo "${filebeatout}" FILEBEAT_OUTPUT=$(docker exec "$MASTER_CONTAINERS" $COMMAND_TO_EXECUTE)
exit 1 FILEBEAT_STATUS=$(echo "${FILEBEAT_OUTPUT}" | grep -c OK)
if [[ $FILEBEAT_STATUS -eq 7 ]]; then
echo "No errors in filebeat"
echo "${FILEBEAT_OUTPUT}"
else
echo "Errors in filebeat"
echo "${FILEBEAT_OUTPUT}"
exit 1
fi
done
fi fi

View File

@@ -116,12 +116,6 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }} 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 - name: Build Wazuh images
run: | run: |
IMAGE_TAG=${{ inputs.image_tag }} IMAGE_TAG=${{ inputs.image_tag }}

View File

@@ -10,11 +10,6 @@ jobs:
- name: Check out code - name: Check out code
uses: actions/checkout@v4 uses: actions/checkout@v4
- 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 - name: Build Wazuh images
run: build-docker-images/build-images.sh run: build-docker-images/build-images.sh
@@ -76,11 +71,6 @@ jobs:
- name: Check out code - name: Check out code
uses: actions/checkout@v4 uses: actions/checkout@v4
- 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 - name: Create enviroment variables
run: cat .env > $GITHUB_ENV run: cat .env > $GITHUB_ENV
@@ -112,10 +102,10 @@ jobs:
docker load --input ./wazuh-agent.tar docker load --input ./wazuh-agent.tar
- name: Create single node certficates - 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 - 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 - name: Check Wazuh indexer start
run: | run: |
@@ -222,11 +212,6 @@ jobs:
- name: Check out code - name: Check out code
uses: actions/checkout@v4 uses: actions/checkout@v4
- 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 - name: Create enviroment variables
run: cat .env > $GITHUB_ENV run: cat .env > $GITHUB_ENV
@@ -262,10 +247,10 @@ jobs:
rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-agent.tar rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-agent.tar
- name: Create multi node certficates - 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 - 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 - name: Check Wazuh indexer start
run: | run: |

View File

@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
### Added ### 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 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)) - Add Wazuh agent image build and deploy ([#1816](https://github.com/wazuh/wazuh-docker/pull/1816))

View File

@@ -65,7 +65,7 @@ build() {
echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .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 return 0
} }

View File

@@ -1,6 +1,4 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
version: '3.7'
services: services:
wazuh.manager: wazuh.manager:
build: build:

View File

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

View File

@@ -1,6 +1,6 @@
# Deploy Wazuh Docker in multi node configuration # 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: 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: 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: - In the foregroud:
``` ```
$ docker-compose up $ docker compose up
``` ```
- In the background: - In the background:
``` ```
$ docker-compose up -d $ docker compose up -d
``` ```

View File

@@ -1,6 +1,4 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
version: '3.7'
services: services:
wazuh.master: wazuh.master:
image: wazuh/wazuh-manager:4.12.2 image: wazuh/wazuh-manager:4.12.2

View File

@@ -1,6 +1,4 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
version: '3'
services: services:
generator: generator:
image: wazuh/wazuh-certs-generator:0.0.2 image: wazuh/wazuh-certs-generator:0.0.2

View File

@@ -8,17 +8,17 @@ $ sysctl -w vm.max_map_count=262144
``` ```
2) Run the certificate creation script: 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: - In the foregroud:
``` ```
$ docker-compose up $ docker compose up
``` ```
- In the background: - 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. 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.

View File

@@ -1,6 +1,4 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
version: '3.7'
services: services:
wazuh.manager: wazuh.manager:
image: wazuh/wazuh-manager:4.12.2 image: wazuh/wazuh-manager:4.12.2

View File

@@ -1,6 +1,4 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
version: '3'
services: services:
generator: generator:
image: wazuh/wazuh-certs-generator:0.0.2 image: wazuh/wazuh-certs-generator:0.0.2