diff --git a/.env b/.env index d1589beb..d8df8611 100755 --- a/.env +++ b/.env @@ -1,2 +1,3 @@ WAZUH_VERSION=4.3.5 WAZUH_IMAGE_VERSION=4.3.5 +WAZUH_TAG_REVISION=1 diff --git a/build-docker-images/build-images.sh b/build-docker-images/build-images.sh index 47eb6cbd..357fad29 100755 --- a/build-docker-images/build-images.sh +++ b/build-docker-images/build-images.sh @@ -1,5 +1,6 @@ WAZUH_IMAGE_VERSION=4.3.5 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') ## If wazuh manager exists in apt dev repository, change variables, if not, exit 1 @@ -11,5 +12,6 @@ fi echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env echo WAZUH_IMAGE_VERSION=$IMAGE_VERSION >> .env +echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> .env docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache \ No newline at end of file diff --git a/build-docker-images/build-images.yml b/build-docker-images/build-images.yml index f842e7d6..52984bf9 100644 --- a/build-docker-images/build-images.yml +++ b/build-docker-images/build-images.yml @@ -6,7 +6,8 @@ services: build: context: wazuh-manager/ args: - - WAZUH_VERSION=${WAZUH_VERSION} + WAZUH_VERSION: ${WAZUH_VERSION} + WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION} hostname: wazuh.manager restart: always @@ -37,7 +38,8 @@ services: build: context: wazuh-indexer/ args: - - WAZUH_VERSION=${WAZUH_VERSION} + WAZUH_VERSION: ${WAZUH_VERSION} + WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} image: wazuh/wazuh-indexer:${WAZUH_IMAGE_VERSION} hostname: wazuh.indexer restart: always @@ -57,7 +59,8 @@ services: build: context: wazuh-dashboard/ args: - - WAZUH_VERSION=${WAZUH_VERSION} + WAZUH_VERSION: ${WAZUH_VERSION} + WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION} hostname: wazuh.dashboard restart: always diff --git a/build-docker-images/wazuh-dashboard/Dockerfile b/build-docker-images/wazuh-dashboard/Dockerfile index 2b08e7fa..990547a2 100644 --- a/build-docker-images/wazuh-dashboard/Dockerfile +++ b/build-docker-images/wazuh-dashboard/Dockerfile @@ -2,6 +2,7 @@ FROM ubuntu:focal AS builder ARG WAZUH_VERSION +ARG WAZUH_TAG_REVISION ARG INSTALL_DIR=/usr/share/wazuh-dashboard ARG WAZUH_UI_REVISION=1 @@ -12,8 +13,8 @@ RUN apt-get update && apt install curl libcap2-bin xz-utils -y RUN mkdir -p $INSTALL_DIR # Download and extract Wazuh dashboard base -RUN curl -o wazuh-dashboard-base.tar.xz https://packages.wazuh.com/stack/dashboard/base/wazuh-dashboard-base-${WAZUH_VERSION}-linux-x64.tar.xz && \ - tar -xf wazuh-dashboard-base.tar.xz --directory $INSTALL_DIR --strip-components=1 +COPY config/dl_base.sh . +RUN bash dl_base.sh # Generate certificates COPY config/config.sh . diff --git a/build-docker-images/wazuh-dashboard/config/dl_base.sh b/build-docker-images/wazuh-dashboard/config/dl_base.sh new file mode 100644 index 00000000..fdea501a --- /dev/null +++ b/build-docker-images/wazuh-dashboard/config/dl_base.sh @@ -0,0 +1,12 @@ +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') && \ +WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') && \ + + +if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then + REPOSITORY="packages.wazuh.com" +else + REPOSITORY="packages-dev.wazuh.com" +fi + +curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/base/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz +tar -xf wazuh-dashboard-base.tar.xz --directory $INSTALL_DIR --strip-components=1 diff --git a/build-docker-images/wazuh-indexer/Dockerfile b/build-docker-images/wazuh-indexer/Dockerfile index 216a8822..d126d18e 100644 --- a/build-docker-images/wazuh-indexer/Dockerfile +++ b/build-docker-images/wazuh-indexer/Dockerfile @@ -2,6 +2,7 @@ FROM ubuntu:focal AS builder ARG WAZUH_VERSION +ARG WAZUH_TAG_REVISION RUN apt-get update -y && apt-get install curl openssl xz-utils -y diff --git a/build-docker-images/wazuh-indexer/config/config.sh b/build-docker-images/wazuh-indexer/config/config.sh index 7647936f..54e49f57 100644 --- a/build-docker-images/wazuh-indexer/config/config.sh +++ b/build-docker-images/wazuh-indexer/config/config.sh @@ -4,11 +4,13 @@ export DH_OPTIONS export NAME=wazuh-indexer export TARGET_DIR=${CURDIR}/debian/${NAME} +export 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') +export WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') # Package build options export USER=${NAME} export GROUP=${NAME} -export VERSION=${WAZUH_VERSION} +export VERSION=${WAZUH_VERSION}-${WAZUH_TAG_REVISION} export LOG_DIR=/var/log/${NAME} export LIB_DIR=/var/lib/${NAME} export PID_DIR=/run/${NAME} @@ -19,10 +21,15 @@ export INDEXER_FILE=wazuh-indexer-base.tar.xz export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz export REPO_DIR=/unattended_installer - rm -rf ${INSTALLATION_DIR}/ -curl -o ${INDEXER_FILE} https://packages.wazuh.com/stack/indexer/base/${BASE_FILE} +if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then + REPOSITORY="packages.wazuh.com" +else + REPOSITORY="packages-dev.wazuh.com" +fi + +curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/base/${BASE_FILE} tar -xf ${INDEXER_FILE} ## TOOLS diff --git a/build-docker-images/wazuh-manager/Dockerfile b/build-docker-images/wazuh-manager/Dockerfile index 871357ae..e684f58a 100644 --- a/build-docker-images/wazuh-manager/Dockerfile +++ b/build-docker-images/wazuh-manager/Dockerfile @@ -4,6 +4,7 @@ FROM ubuntu:focal RUN rm /bin/sh && ln -s /bin/bash /bin/sh ARG WAZUH_VERSION +ARG WAZUH_TAG_REVISION ARG TEMPLATE_VERSION=4.3 ARG FILEBEAT_CHANNEL=filebeat-oss ARG FILEBEAT_VERSION=7.10.2 @@ -17,7 +18,7 @@ RUN chmod 775 /check_repository.sh RUN source /check_repository.sh RUN apt-get update && \ - apt-get install wazuh-manager=${WAZUH_VERSION}-1 + apt-get install wazuh-manager=${WAZUH_VERSION}-${WAZUH_TAG_REVISION} RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb &&\ dpkg -i ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && \