From d43ae89451bfcc7cf0f3031dfc7b6c510c8f2662 Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Thu, 25 Jun 2026 16:25:33 -0300 Subject: [PATCH 01/22] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbb05f6b..1cc8a752 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 integration test module docs ([#2491](https://github.com/wazuh/wazuh-docker/pull/2491)) - Implement the wazuh-docker integration testing module ([#2188](https://github.com/wazuh/wazuh-docker/issues/2188)) - Support Revert bump functionality in wazuh-docker ([#2320](https://github.com/wazuh/wazuh-docker/issues/2320)) - Docker and AMI workflows failing during stage release (v5.0.0-beta1) ([#35457](https://github.com/wazuh/wazuh/issues/35457)) From a8db1820a6ce21a1c65ddd8881f67ff671ae3563 Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Fri, 26 Jun 2026 12:50:58 -0300 Subject: [PATCH 02/22] Add integration test docs --- docs/SUMMARY.md | 6 + .../docker_integration_tests.md | 332 ++++++++++++++++++ 2 files changed, 338 insertions(+) create mode 100644 docs/ref/integration_test/docker_integration_tests.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 28e0a483..312b8d86 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -30,3 +30,9 @@ - [Security](ref/security.md) - [Performance](ref/performance.md) - [Glossary](ref/glossary.md) + +--- + +# Integration Tests + +- [Docker Integration Tests](ref/integration_test/docker_integration_tests.md) diff --git a/docs/ref/integration_test/docker_integration_tests.md b/docs/ref/integration_test/docker_integration_tests.md new file mode 100644 index 00000000..23ea2e76 --- /dev/null +++ b/docs/ref/integration_test/docker_integration_tests.md @@ -0,0 +1,332 @@ +# Docker Integration Tests + +Workflow file: `.github/workflows/5_check_integration_tools.yml` + +This workflow optionally builds Docker images from the PR branch, provisions a dedicated AWS VM, deploys the Wazuh Docker stack (single-node or multi-node), and runs the integration test suite against it via SSH. + +--- + +## Triggers + +| Mode | Trigger | Who can trigger | +|---|---|---| +| PR comment | `issue_comment` on an open, non-draft PR | Any repo collaborator | +| Manual | `workflow_dispatch` | Anyone with repo write access | + +--- + +## Execution Flows + +### issue_comment flow + +```mermaid +flowchart TD + A[PR comment posted] --> B{Recognized command\non open non-draft PR?} + B -- No --> Z[Ignored] + B -- Yes --> C[get_pr_info\nReact · Extract PR data\nParse command · Create Check Run] + C --> D[prepare\nResolve branch · Read VERSION.json] + D --> E[build_images\nBuild + push to ECR\nalways runs on PR comment] + E --> F{deployment_matrix} + F --> G[docker_test\nsingle-node] + F --> H[docker_test\nmulti-node] + G --> I[update_check] + H --> I +``` + +**Recognized commands:** + +| Comment | Deployment matrix | +|---|---| +| `/test-docker` | `["single-node","multi-node"]` | +| `/test-docker-single` | `["single-node"]` | +| `/test-docker-multi` | `["multi-node"]` | + +When triggered by PR comment, `build_images` **always** runs — images are always built from the PR branch and pushed to ECR. + +### workflow_dispatch flow + +```mermaid +flowchart TD + A[Manual trigger] --> D[prepare\nResolve branch · Read VERSION.json] + D --> E{Build needed?\nno version + no stage\n+ registry=ECR} + E -- Yes --> F[build_images\nBuild + push to ECR] + E -- No --> G{deployment_type input} + F --> G + G -- single-node --> H[docker_test\nsingle-node] + G -- multi-node --> I[docker_test\nmulti-node] + G -- both --> H & I +``` + +`build_images` is **skipped** when either `version` or `stage` is provided, or when `registry = DockerHub`. + +--- + +## Parameters + +### workflow_dispatch inputs + +| Input | Required | Default | Description | +|---|---|---|---| +| `pr_head_ref` | Yes | — | Branch of `wazuh-docker` to test | +| `automation_reference` | No | `main` | Branch of `wazuh-automation` to use | +| `deployment_type` | Yes | — | `single-node`, `multi-node`, or `both` | +| `version` | No | — | Override image version (e.g. `5.0.1`). If empty, reads from `VERSION.json` | +| `stage` | No | — | Image stage suffix (e.g. `beta1`, `beta2-latest`). Required when `version` is set | +| `registry` | No | `ECR` | `ECR` (dev/built images) or `DockerHub` (released images) | + +### issue_comment parameters + +All parameters are derived automatically: + +| Parameter | Source | +|---|---| +| `pr_head_ref` | PR head branch from GitHub API | +| `deployment_matrix` | Parsed from comment command | +| `version` / `stage` | Read from `VERSION.json` on the PR branch | +| `registry` | Always ECR (images are always built) | +| `automation_reference` | Always `main` | + +--- + +## Image Resolution Scenarios + +The workflow distinguishes five cases based on inputs: + +| Case | `version` input | `stage` input | Registry | Action | Image tag | +|---|---|---|---|---|---| +| a.1 | empty | empty | ECR (or PR comment) | **BUILD** from PR → ECR | `{version}-{stage}-latest` | +| a.2 | empty | empty | DockerHub | Pull (no build) | `{version}-{stage}` | +| b.1 | set | empty | ECR | Pull (no build) | `{version}-latest` | +| b.2 | set | empty | DockerHub | Pull (no build) | `{version}` | +| c | set or empty | set | ECR or DockerHub | Pull (no build) | `{version}-{stage}` | + +> When neither `version` nor `stage` is set, `version` and `stage` are read from `VERSION.json` on the target branch. + +> Case a.1 always applies when triggered by PR comment, regardless of the `registry` input (which is not available in that trigger mode). + +--- + +## Job Details + +### Job 1 — `get_pr_info` (issue_comment only) + +| Step | What it does | +|---|---| +| React to comment | Adds a 🚀 reaction to the triggering PR comment | +| Extract PR data | Calls GitHub API to get PR `head_ref` and `head_sha` | +| Parse command | Maps comment text → `deployment_matrix` JSON and `check_name` string | +| Create Check Run | Creates a GitHub Check Run in `in_progress` state on the PR head SHA | + +### Job 2 — `prepare` (both triggers) + +| Step | What it does | +|---|---| +| Resolve context | Reads inputs (workflow_dispatch) or `get_pr_info` outputs (issue_comment) | +| Checkout `VERSION.json` | Sparse-checks out only `VERSION.json` from the target branch | +| Read version info | Extracts `version` and `stage` from `VERSION.json` | +| Show test plan | Logs the resolved image case (a.1/a.2/b.1/b.2/c) and writes a summary table | + +Outputs: `pr_head_ref`, `deployment_matrix`, `wazuh_version`, `wazuh_stage`. + +### Job 3 — `build_images` (conditional) + +Calls the reusable workflow `.github/workflows/5_build_and_push_images.yml`. + +**Runs when:** `version == ''` AND `stage == ''` AND (`registry == 'ECR'` OR `github.event_name == 'issue_comment'`). + +**Skipped when:** any explicit `version` or `stage` is provided, or `registry = DockerHub`. + +| Parameter passed | Value | +|---|---| +| `image_tag` | `{wazuh_version}-{wazuh_stage}` | +| `docker_reference` | `pr_head_ref` | +| `wazuh_automation_reference` | `automation_reference` input | +| `products` | `wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent` | +| `dev` | `true` | +| `id` | `docker-integration-{run_id}` | + +### Job 4 — `docker_test` (matrix, both triggers) + +Runs once per entry in `deployment_matrix`. Each instance provisions its own VM. + +#### Setup + +1. Checkout `wazuh-automation` at `automation_reference` +2. Checkout `wazuh-docker` at `pr_head_ref` +3. Resolve image configuration (see [Image Resolution Scenarios](#image-resolution-scenarios)) → sets `DOCKER_REGISTRY`, `DOCKER_TAG`, `DOCKER_VERSION` +4. Set up Python 3.12 and install `test_runner` +5. Configure AWS credentials via OIDC (`AWS_IAM_DOCKER_ROLE`) + +#### Instance allocation + +Provisions a dedicated AWS VM using the `deployability` allocator module: + +```bash +python3 wazuh-automation/deployability/modules/allocation/main.py \ + --action create \ + --provider aws \ + --size large \ + --composite-name ubuntu-24-amd64 \ + --instance-name gha_{run_id}_docker_{deployment_type} \ + --label-team devops \ + --label-termination-date 1d +``` + +The allocator writes `inventory.yml` with the SSH connection details (`ansible_host`, `ansible_port`, `ansible_user`, `ansible_ssh_private_key_file`). These are extracted and exported as `SSH_HOST`, `SSH_PORT`, `SSH_USER`, `SSH_KEY` environment variables. + +#### VM configuration and Docker install + +All subsequent steps run on the remote VM over SSH: + +1. **Install Docker CE**: `curl -fsSL https://get.docker.com | sudo sh` +2. **Login to ECR** (when registry is ECR or trigger is issue_comment): authenticates the VM's Docker daemon to the dev registry +3. **Set `vm.max_map_count=262144`**: required for OpenSearch/Wazuh Indexer + +#### Certificate generation and config + +Runs on the **runner** (not the VM): + +1. **Download `wazuh-certs-tool.sh`** directly from the packages URL: + - Pre-release: `packages-staging.xdrsiem.wazuh.info/pre-release/{major}.x/installation-assistant/wazuh-certs-tool-{version}-{stage}.sh` + - Release: `packages.wazuh.com/{major}.{minor}/wazuh-certs-tool-{version}-1.sh` + +2. **Generate `config.yml`** inline based on deployment type: + + **single-node:** + ```yaml + nodes: + indexer: [{ name: wazuh.indexer, dns: wazuh.indexer }] + manager: [{ name: wazuh.manager, dns: wazuh.manager }] + dashboard:[{ name: wazuh.dashboard, dns: wazuh.dashboard }] + ``` + + **multi-node:** + ```yaml + nodes: + indexer: + - { name: wazuh1.indexer, dns: wazuh1.indexer } + - { name: wazuh2.indexer, dns: wazuh2.indexer } + - { name: wazuh3.indexer, dns: wazuh3.indexer } + manager: + - { name: wazuh.master, dns: wazuh.master, node_type: master } + - { name: wazuh.worker, dns: wazuh.worker, node_type: worker } + dashboard: [{ name: wazuh.dashboard, dns: wazuh.dashboard }] + ``` + +3. **Copy `wazuh-docker/` to VM** via SCP: `scp -r wazuh-docker {remote}:/tmp/wazuh-docker` + +4. **Generate certificates on VM**: runs `tools/utils/deployment/certificates-conf.sh --cert --copy` inside `/tmp/wazuh-docker/{deployment}/` + +#### Deployment + +```bash +# On the VM +cd /tmp/wazuh-docker/{deployment_type} +sudo docker compose up -d +``` + +Waits up to **15 minutes** polling every 10 seconds until all non-nginx containers report `healthy` status. + +After containers are healthy, waits for steady state: +- `single-node`: 60 seconds +- `multi-node`: 90 seconds + +#### Test execution + +```bash +test_runner \ + --test-type "docker-{deployment_type}" \ + --deployment-type "docker-{deployment_type}" \ + --ssh-host "{SSH_HOST}" \ + --ssh-port "{SSH_PORT}" \ + --ssh-key-path "{SSH_KEY}" \ + --ssh-username "{SSH_USER}" \ + --version "{DOCKER_VERSION}" \ + --log-level INFO \ + --output github \ + --output-file "test-results-docker-{deployment_type}.github" +``` + +| Argument | Value | Notes | +|---|---|---| +| `--test-type` | `docker-single-node` or `docker-multi-node` | Selects the test module set | +| `--deployment-type` | `docker-single-node` or `docker-multi-node` | Selects the deployment profile | +| `--ssh-host/port/key/username` | From allocator inventory | Connects to the allocated VM | +| `--version` | Resolved `DOCKER_VERSION` | Used for version assertion tests | +| `--output github` | — | Emits GitHub Actions annotations | + +For details on what `docker-single-node` and `docker-multi-node` test types validate, see the `Integration Test Module — Description` of the internal documentation. + +#### Reporting + +| Output | When | Content | +|---|---|---| +| Step summary | Always | Test results appended to `$GITHUB_STEP_SUMMARY` | +| PR comment | `issue_comment` trigger only | Posts or updates a comment (marker: ``) with ✅/❌ and results | +| Artifact: `test-results-docker-{deployment}-{run_id}` | Always | Results file, retained 7 days | +| Artifact: `docker-logs-{deployment}-{run_id}` | On failure only | Full `docker compose logs` output, retained 7 days | + +#### Cleanup (always runs, even on failure) + +1. `docker compose down -v` on the VM (stops containers and removes volumes) +2. Deallocate the VM: + ```bash + python3 wazuh-automation/deployability/modules/allocation/main.py \ + --action delete \ + --track-output {ALLOCATOR_PATH}/track.yml + ``` + +### Job 5 — `update_check` (issue_comment only) + +Updates the GitHub Check Run created in Job 1: + +| `docker_test` result | Check conclusion | +|---|---| +| `success` | `success` — ✅ All Docker integration tests passed | +| `failure` | `failure` — ❌ One or more tests failed | +| `cancelled` | `cancelled` | + +--- + +## Required Secrets and Variables + +### Secrets + +| Secret | Used by | +|---|---| +| `AWS_IAM_DOCKER_ROLE` | OIDC role for AWS operations (allocator + ECR) | +| `GH_CLONE_TOKEN` | Checkout `wazuh-automation` | +| `GITHUB_TOKEN` | PR comments and Check Run updates (built-in) | + +### Repository variables + +| Variable | Used by | +|---|---| +| `IMAGE_REGISTRY_PROD` | DockerHub registry URL | +| `IMAGE_REGISTRY_DEV` | ECR registry URL | + +--- + +## Permissions + +| Permission | Purpose | +|---|---| +| `id-token: write` | OIDC authentication to AWS | +| `contents: read` | Checkout repository | +| `pull-requests: write` | Post PR comments | +| `issues: write` | Post comments via issues API | +| `checks: write` | Create and update GitHub Check Runs | + +--- + +## Instance Naming + +Allocated VMs are named: + +``` +gha_{github.run_id}_docker_{deployment_type} +``` + +Example: `gha_12345678_docker_single-node` + +VMs are tagged with `termination-date: 1d` — they are automatically terminated after 24 hours as a safety net, even if the cleanup step fails. From 90120cd9fc6d298e900c61e6cd456b3d22c8942c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Anguita=20L=C3=B3pez?= Date: Mon, 29 Jun 2026 16:23:39 +0200 Subject: [PATCH 03/22] add input tag and adapt logic --- .github/workflows/5_bumper_repository.yml | 20 ++-- tools/repository_bumper.sh | 136 +++++++++++++--------- 2 files changed, 92 insertions(+), 64 deletions(-) diff --git a/.github/workflows/5_bumper_repository.yml b/.github/workflows/5_bumper_repository.yml index ae1b3e63..81d2913c 100644 --- a/.github/workflows/5_bumper_repository.yml +++ b/.github/workflows/5_bumper_repository.yml @@ -96,18 +96,22 @@ jobs: version=${{ env.VERSION }} stage=${{ env.STAGE }} tag=${{ env.TAG }} - set_as_main=${{ inputs.set_as_main }} - if [[ "$set_as_main" == "true" ]]; then - script_params="--set-as-main" + if [[ -n "$version" && -n "$stage" && "$tag" != "true" ]]; then + script_params="--version ${version} --stage ${stage}" + elif [[ -z "$version" && -n "$stage" && "$tag" == "true" ]]; then + script_params="--stage ${stage} --tag" + elif [[ -z "$version" && -z "$stage" && "$tag" == "true" ]]; then + script_params="--tag" fi - # Both version and stage provided - if [[ -n "$version" && -n "$stage" && "$tag" != "true" ]]; then - script_params+=" --version ${version} --stage ${stage}" - elif [[ -n "$version" && -n "$stage" && "$tag" == "true" ]]; then - script_params+=" --version ${version} --stage ${stage} --tag ${tag}" + if [[ "$set_as_main" == "true" ]]; then + if [[ -z "$version" || -z "$stage" ]]; then + echo "Error: set_as_main requires both version and stage inputs." + exit 1 + fi + script_params="${script_params} --set-as-main" fi issue_number=$(echo "${{ inputs.issue-link }}" | awk -F'/' '{print $NF}') diff --git a/tools/repository_bumper.sh b/tools/repository_bumper.sh index 4712761a..6c8d2be9 100644 --- a/tools/repository_bumper.sh +++ b/tools/repository_bumper.sh @@ -9,6 +9,8 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" LOG_FILE="${DIR}/tools/repository_bumper_$(date +"%Y-%m-%d_%H-%M-%S-%3N").log" VERSION="" STAGE="" +TAG="" +REFERENCE="" FILES_EDITED=() FILES_EXCLUDED='--exclude="repository_bumper_*.log" --exclude="CHANGELOG.md" --exclude="repository_bumper.sh" --exclude="*_bumper_repository.yml" --exclude="mermaid-init.js" --exclude="mermaid.min.js"' @@ -74,40 +76,44 @@ update_stage_in_files() { FILES_EDITED+=("${file}") fi done +} - if [ $STAGE != "alpha0" ]; then - version_tag_string=": 'v${VERSION}'" - files_tag=( $(grep_command "${version_tag_string}" "${DIR}") ) - for file in "${files_tag[@]}"; do - sed -i -E "s/(: )'v${VERSION}'/\1'v${VERSION}-${STAGE}'/g" "${file}" - if [[ $(git diff --name-only "${file}") ]]; then - FILES_EDITED+=("${file}") - fi - done - - version_number_string=": '${VERSION}'" - files_version=( $(grep -RlE ": '[0-9]\.[0-9]+\.[0-9]+'" "${DIR}") ) - for file in "${files_version[@]}"; do - sed -i -E "s/(: )'${VERSION}'/\1'v${VERSION}-${STAGE}'/g" "${file}" - if [[ $(git diff --name-only "${file}") ]]; then - FILES_EDITED+=("${file}") - fi - done +# Compute the value written into branch reference defaults (": '...'"). +# Without --tag, references stay branch-like (e.g. 5.0.0). +# With --tag, references become tag-like (e.g. v5.0.0-beta3), or a plain release +# tag (e.g. v5.0.0) when no stage is provided. +build_reference() { + if [[ -n "$TAG" ]]; then + if [[ -z "$STAGE" ]]; then + REFERENCE="v${VERSION}" + else + REFERENCE="v${VERSION}-${STAGE}" + fi + else + REFERENCE="${VERSION}" fi } +# Tag mode only: normalize every reference to the current version +# (branch-like "5.0.0", "v5.0.0" or "v5.0.0-") into ${REFERENCE}. +# Matching is restricted to ": '...'" entries so plain version strings +# elsewhere in the repository are left untouched. +update_tag_references() { + local V_ESC="${VERSION//./\\.}" + files=( $(grep_command "${VERSION}" "${DIR}") ) + for file in "${files[@]}"; do + sed -Ei "s/(:[[:space:]]*')v?${V_ESC}(-[A-Za-z0-9]+)?(')/\1${REFERENCE}\3/g" "${file}" + if [[ $(git diff --name-only "${file}") ]]; then + FILES_EDITED+=("${file}") + fi + done +} + update_main_in_files() { - if [[ $STAGE == "alpha0" ]]; then - bump_value="${VERSION}" - else - bump_value="v${VERSION}" - fi - main_string=": 'main'" + local main_string=": 'main'" files=( $(grep_command "${main_string}" "${DIR}") ) for file in "${files[@]}"; do - if [[ "$skip_urls" != "yes" ]]; then - sed -Ei "s/(:[[:space:]])'main'/\1'${bump_value}'/g" "${file}" - fi + sed -Ei "s/(:[[:space:]])'main'/\1'${REFERENCE}'/g" "${file}" if [[ $(git diff --name-only "${file}") ]]; then FILES_EDITED+=("${file}") fi @@ -141,8 +147,8 @@ main() { shift 2 ;; --tag) - TAG="$2" - shift 2 + TAG="yes" + shift 1 ;; --set-as-main) set_as_main="yes" @@ -155,15 +161,33 @@ main() { esac done - # Validate arguments - if [[ -z "${VERSION}" ]]; then - echo "Error: --version argument is required." | tee -a "${LOG_FILE}" + # --tag rewrites branch references into tag-like references (e.g. v5.0.0-beta3) + # and re-tags the Docker images accordingly. It is mutually exclusive with + # --set-as-main, which keeps references on main. + if [[ -n "$TAG" && -n "$set_as_main" ]]; then + echo "Error: --tag cannot be combined with --set-as-main." | tee -a "${LOG_FILE}" exit 1 fi - if [[ -z "${STAGE}" ]]; then - echo "Error: --stage argument is required." | tee -a "${LOG_FILE}" - exit 1 + # Read the current version/stage early: tag scenarios may omit --version and/or + # --stage and reuse the values already stored in VERSION.json. + get_old_version_and_stage + + # Resolve and validate arguments depending on the mode + if [[ -n "$TAG" ]]; then + # Tag mode: version defaults to the current one; stage is optional + # (absent yields a release tag without a stage suffix). + [[ -z "$VERSION" ]] && VERSION="$OLD_VERSION" + else + # Branch mode: a full version + stage bump is required + 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 fi # Validate if version is in the correct format @@ -172,28 +196,25 @@ main() { 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 + # Validate if stage is in the correct format (when provided) + if [[ -n "${STAGE}" ]]; then + 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 fi - # Set skip_urls variable based on set_as_main flag + # Compute the value written into branch reference defaults + build_reference + echo "Reference for branch defaults: ${REFERENCE}" | tee -a "${LOG_FILE}" + + # Convert 'main' references unless they must keep pointing to main (set-as-main) if [[ -z "$set_as_main" ]]; then - echo "Updating version from main to $VERSION" | tee -a "${LOG_FILE}" - update_main_in_files "$VERSION" "$STAGE" + echo "Updating 'main' references to ${REFERENCE}" | tee -a "${LOG_FILE}" + update_main_in_files fi - # Validate if tag is true or false - if [[ -n "${TAG}" && ! "${TAG}" =~ ^(true|false)$ ]]; then - echo "Error: --tag must be either true or false." | tee -a "${LOG_FILE}" - exit 1 - fi - - # Get old version and stage - get_old_version_and_stage - if [[ "${OLD_VERSION}" != "${VERSION}" ]]; then echo "Updating version from ${OLD_VERSION} to ${VERSION}" | tee -a "${LOG_FILE}" update_version_in_files "${VERSION}" @@ -203,10 +224,13 @@ main() { update_stage_in_files "$VERSION" "$STAGE" fi - # Update Docker images tag if tag is true - if [[ "${TAG}" == "true" ]]; then - echo "Updating Docker images tag to ${VERSION}-${STAGE}" | tee -a "${LOG_FILE}" - update_docker_images_tag "${VERSION}-${STAGE}" + # Tag mode: normalize remaining version references and re-tag the Docker images + # (image tags carry no leading 'v', e.g. 5.0.0-beta3). + if [[ -n "$TAG" ]]; then + echo "Updating version references to tag reference ${REFERENCE}" | tee -a "${LOG_FILE}" + update_tag_references + echo "Updating Docker images tag to ${REFERENCE#v}" | tee -a "${LOG_FILE}" + update_docker_images_tag "${REFERENCE#v}" fi From 217b7c868a33a13e567ca79ed048fbd92937adee Mon Sep 17 00:00:00 2001 From: Carlos Bordon Date: Mon, 29 Jun 2026 15:16:32 -0300 Subject: [PATCH 04/22] Added bump-issue-link support for Revert Stage Bump --- .github/workflows/5_bumper_repository.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/5_bumper_repository.yml b/.github/workflows/5_bumper_repository.yml index ae1b3e63..300dfa98 100644 --- a/.github/workflows/5_bumper_repository.yml +++ b/.github/workflows/5_bumper_repository.yml @@ -37,6 +37,11 @@ on: default: false required: false type: boolean + bump-issue-link: + description: 'Issue link used in the original bump (required for revert if different from issue-link)' + required: false + type: string + jobs: bump: name: Repository bumper 5.x @@ -146,9 +151,18 @@ jobs: id: revert_step if: inputs.revert == true run: | + # 1. Get the current issue number (for the new revert branch/PR) ISSUE_NUMBER=$(echo "${{ inputs.issue-link }}" | awk -F'/' '{print $NF}') - BUMP_BRANCH="enhancement/wqa${ISSUE_NUMBER}-bump-${{ github.ref_name }}" + # 2. Get the issue number from the original bump (if provided; otherwise, defaults to the current one) + if [ -n "${{ inputs.bump-issue-link }}" ]; then + BUMP_ISSUE_NUMBER=$(echo "${{ inputs.bump-issue-link }}" | awk -F'/' '{print $NF}') + else + BUMP_ISSUE_NUMBER=$ISSUE_NUMBER + fi + + # 3. Search for the original bump branch using the obtained BUMP ISSUE number + BUMP_BRANCH="enhancement/wqa${BUMP_ISSUE_NUMBER}-bump-${{ github.ref_name }}" PR_NUMBER=$(gh pr list --head "$BUMP_BRANCH" --base "${{ github.ref_name }}" --state merged --json number --jq '.[0].number') @@ -167,7 +181,7 @@ jobs: # Remove the files to prevent them from being included in the revert commit git checkout HEAD -- VERSION.json 2>/dev/null || true git checkout HEAD -- CHANGELOG.md 2>/dev/null || true - # Add any other repository-specific version files here + # [!] ADD ANY OTHER REPOSITORY-SPECIFIC VERSION FILES HERE [!] if git diff --staged --quiet; then echo "No references to revert. Skipping commit." From 20745769bd28d8ae5c95eb432d57bc63646a064e Mon Sep 17 00:00:00 2001 From: wazuhci <22834044+wazuhci@users.noreply.github.com> Date: Mon, 29 Jun 2026 18:24:41 +0000 Subject: [PATCH 05/22] feat: bump change/2460-add-bump-issue-link-support-for-revert-stage-bump-in-wazuh-docker --- .env | 6 ++--- .github/workflows/5_build_and_push_images.yml | 12 +++++----- .../workflows/5_check_integration_tools.yml | 6 ++--- .github/workflows/5_pr_check.yml | 4 ++-- CHANGELOG.md | 18 +++++++++++++++ README.md | 2 +- VERSION.json | 4 ++-- build-docker-images/build-images.sh | 18 +++++++-------- build-docker-images/docker-bake.hcl | 4 ++-- docs/dev/build-image.md | 4 ++-- docs/dev/introduction.md | 2 +- docs/dev/setup.md | 6 ++--- docs/dev/workflow-usage.md | 2 +- docs/ref/backup-and-restore.md | 4 ++-- docs/ref/configuration/configuration-files.md | 2 +- docs/ref/configuration/configuration.md | 2 +- .../getting-started/deployment/deployment.md | 6 ++--- .../getting-started/deployment/multi-node.md | 4 ++-- .../getting-started/deployment/single-node.md | 4 ++-- docs/ref/getting-started/getting-started.md | 6 ++--- docs/ref/getting-started/requirements.md | 4 ++-- docs/ref/glossary.md | 6 ++--- docs/ref/introduction/description.md | 6 ++--- docs/ref/introduction/introduction.md | 4 ++-- docs/ref/upgrade.md | 22 +++++++++---------- multi-node/docker-compose.yml | 12 +++++----- single-node/docker-compose.yml | 6 ++--- wazuh-agent/docker-compose.yml | 2 +- 28 files changed, 98 insertions(+), 80 deletions(-) diff --git a/.env b/.env index 2e783ae2..260c36bb 100755 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -WAZUH_VERSION=5.0.0 -WAZUH_IMAGE_VERSION=5.0.0 +WAZUH_VERSION=1.2.3 +WAZUH_IMAGE_VERSION=1.2.3 WAZUH_REGISTRY=docker.io -IMAGE_TAG=5.0.0 +IMAGE_TAG=1.2.3 diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index e39cf756..9e37bb5c 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -1,12 +1,12 @@ -run-name: Build and push images 5.x - ${{ inputs.dev && 'dev' || 'release' }} - ${{ inputs.id }} -name: (5.x) Build and push images +run-name: Build and push images 1.x - ${{ inputs.dev && 'dev' || 'release' }} - ${{ inputs.id }} +name: (1.x) Build and push images on: workflow_dispatch: inputs: image_tag: description: 'Docker image tag' - default: '5.0.0' + default: 'v1.2.3-alpha8' required: true docker_reference: description: 'wazuh-docker reference' @@ -14,7 +14,7 @@ on: wazuh_automation_reference: description: 'Branch or tag of the wazuh-automation repository' required: false - default: '5.0.0' + default: 'v1.2.3-alpha8' products: description: 'Comma-separated list of the image names to build and push' default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent' @@ -42,7 +42,7 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '5.0.0' + default: 'v1.2.3-alpha8' required: true type: string docker_reference: @@ -52,7 +52,7 @@ on: wazuh_automation_reference: description: 'Branch or tag of the wazuh-automation repository' required: false - default: '5.0.0' + default: 'v1.2.3-alpha8' type: string products: description: 'Comma-separated list of the image names to build and push' diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index c22c363a..de1ff35c 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -2,7 +2,7 @@ run-name: >- ${{ github.event_name == 'workflow_dispatch' && format('Docker Integration Test - Manual {0} on {1}', inputs.deployment_type, inputs.pr_head_ref) || format('Docker Integration Test - #{0} {1}', github.event.issue.number, github.event.issue.title) }} -name: (5.x) PR Check - Docker Integration Tests +name: (1.x) PR Check - Docker Integration Tests on: issue_comment: @@ -16,7 +16,7 @@ on: automation_reference: description: 'Branch of wazuh-automation to use' required: false - default: '5.0.0' + default: 'v1.2.3-alpha8' type: string deployment_type: description: 'Deployment type to test' @@ -27,7 +27,7 @@ on: - multi-node - both version: - description: 'Image version to test (e.g. 5.0.0).' + description: 'Image version to test (e.g. 1.2.3).' required: false type: string stage: diff --git a/.github/workflows/5_pr_check.yml b/.github/workflows/5_pr_check.yml index 6bc408d9..04331593 100644 --- a/.github/workflows/5_pr_check.yml +++ b/.github/workflows/5_pr_check.yml @@ -1,4 +1,4 @@ -name: (5.x) Docker PR check +name: (1.x) Docker PR check permissions: contents: read id-token: write @@ -55,7 +55,7 @@ jobs: with: image_tag: ${{ needs.prepare-variables.outputs.WAZUH_IMAGE_VERSION }} docker_reference: ${{ github.head_ref || inputs.docker_reference }} - wazuh_automation_reference: '5.0.0' + wazuh_automation_reference: 'v1.2.3-alpha8' commit_list: '["latest", "latest", "latest", "latest"]' assistant_revision: 'latest' id: ${{ github.run_id }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cc8a752..0e38d75e 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. +## [1.2.3] + +### Added + +- None + +### Changed + +- None + +### Fixed + +- None + +### Deleted + +- None + ## [v5.0.0] ### Added diff --git a/README.md b/README.md index 70a7071d..fb8b8e8e 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., `5.0.0`, `4.14.0`, etc.). +- `X.Y.Z`: Version-specific branches (e.g., `1.2.3`, `4.14.0`, etc.). ## Documentation diff --git a/VERSION.json b/VERSION.json index 9cfe1722..a5e97320 100644 --- a/VERSION.json +++ b/VERSION.json @@ -1,4 +1,4 @@ { - "version": "5.0.0", - "stage": "beta3" + "version": "1.2.3", + "stage": "alpha8" } diff --git a/build-docker-images/build-images.sh b/build-docker-images/build-images.sh index 965ca20a..013fead9 100755 --- a/build-docker-images/build-images.sh +++ b/build-docker-images/build-images.sh @@ -8,13 +8,13 @@ # License (version 2) as published by the FSF - Free Software # Foundation. -WAZUH_IMAGE_VERSION=5.0.0 -IMAGE_TAG=5.0.0 +WAZUH_IMAGE_VERSION=1.2.3 +IMAGE_TAG=1.2.3 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') IMAGE_VERSION=${WAZUH_IMAGE_VERSION} WAZUH_REGISTRY=docker.io -WAZUH_IMAGE_VERSION="5.0.0" +WAZUH_IMAGE_VERSION="1.2.3" WAZUH_DEV_STAGE="" WAZUH_COMPONENTS_COMMIT_LIST='' IS_DEV_BUILD="" @@ -38,9 +38,9 @@ ctrl_c() { build() { - # WAZUH_MINOR_VERSION: Extracts major and minor version only (e.g., 5.0.0 -> 5.0) + # WAZUH_MINOR_VERSION: Extracts major and minor version only (e.g., 1.2.3 -> 5.0) WAZUH_MINOR_VERSION="${WAZUH_IMAGE_VERSION%.*}" - # WAZUH_MAJOR_VERSION: Extracts major version only (e.g., 5.0.0 -> 5) + # WAZUH_MAJOR_VERSION: Extracts major version only (e.g., 1.2.3 -> 5) WAZUH_MAJOR_VERSION="${WAZUH_IMAGE_VERSION%%.*}" # WAZUH_STAGE: Extract the 'stage' (e.g., alpha0, beta1, rc2) from the local JSON metadata file. # Note: This is primarily used for pre-release package naming. @@ -192,10 +192,10 @@ build() { # Generate per-component image tags. # The commit suffix is only appended when --dev is passed. This ensures: - # dev=false, tag=5.0.0 → 5.0.0 - # dev=false, tag=5.0.0-beta1 → 5.0.0-beta1 - # dev=true, tag=5.0.0 → 5.0.0-latest - # dev=true, tag=5.0.0-beta1 → 5.0.0-beta1-latest + # dev=false, tag=1.2.3 → 1.2.3 + # dev=false, tag=1.2.3-beta1 → 1.2.3-beta1 + # dev=true, tag=1.2.3 → 1.2.3-latest + # dev=true, tag=1.2.3-beta1 → 1.2.3-beta1-latest make_tag() { local commit=$1 if [ -n "${IS_DEV_BUILD}" ]; then diff --git a/build-docker-images/docker-bake.hcl b/build-docker-images/docker-bake.hcl index 73c041c7..062401bb 100644 --- a/build-docker-images/docker-bake.hcl +++ b/build-docker-images/docker-bake.hcl @@ -12,7 +12,7 @@ # ── Global variables ────────────────────────────────────────────────────────── -variable "WAZUH_VERSION" { default = "5.0.0" } +variable "WAZUH_VERSION" { default = "1.2.3" } variable "WAZUH_REGISTRY" { default = "docker.io" } # Set IMAGE_TAG externally to override; defaults to WAZUH_VERSION. @@ -23,7 +23,7 @@ variable "MULTIARCH" { default = "" } # Per-component tags — all default to IMAGE_TAG. # In dev builds the shell script sets each one independently to append the -# per-component commit ref (e.g. MANAGER_TAG=5.0.0-beta1-abc1234). +# per-component commit ref (e.g. MANAGER_TAG=1.2.3-beta1-abc1234). variable "INDEXER_TAG" { default = IMAGE_TAG } variable "MANAGER_TAG" { default = IMAGE_TAG } variable "DASHBOARD_TAG" { default = IMAGE_TAG } diff --git a/docs/dev/build-image.md b/docs/dev/build-image.md index 2bc86b43..7a8d6bda 100644 --- a/docs/dev/build-image.md +++ b/docs/dev/build-image.md @@ -19,7 +19,7 @@ Then execute: The script also allows to build images from other versions of Wazuh by using the `-v` or `--version` argument: ```bash -./build-images.sh -v 5.0.0 +./build-images.sh -v 1.2.3 ``` To get all the available script options use the `-h` or `--help` option: @@ -32,7 +32,7 @@ Usage: build-images.sh [OPTIONS] -d, --dev [Optional] Set the development stage you want to build, example rc2 or beta1, not used by default. -refs, --references [Optional] Set each Wazuh component reference to be build (indexer, manager, dasboard and agent). By default, using the latest release: ['latest', 'latest', 'latest', 'latest'] -rg, --registry [Optional] Set the Docker registry to push the images. - -v, --version [Optional] Set the Wazuh version should be builded. By default, 5.0.0. + -v, --version [Optional] Set the Wazuh version should be builded. By default, 1.2.3. -m, --multiarch [Optional] Enable multi-architecture builds. -h, --help Show this help. diff --git a/docs/dev/introduction.md b/docs/dev/introduction.md index bb0f0850..6f17da70 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 5.0.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 1.2.3 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 3456bd24..e1ae1ef1 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 5.0.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 1.2.3). 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, `5.0.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, `1.2.3`. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout v5.0.0 + git checkout v1.2.3 ``` 2. **Verify Docker Installation**: diff --git a/docs/dev/workflow-usage.md b/docs/dev/workflow-usage.md index 36da4c56..5d84396c 100644 --- a/docs/dev/workflow-usage.md +++ b/docs/dev/workflow-usage.md @@ -6,7 +6,7 @@ The Procedure_push_docker_images.yml workflow builds and pushes multi-architectu | Parameter | Description | Default | Required | |-----------|-------------|---------|----------| -| `image_tag` | Docker image version tag | `5.0.0` | Yes | +| `image_tag` | Docker image version tag | `1.2.3` | Yes | | `docker_reference` | Branch/tag to build from | - | Yes | | `reference` | Dev reference (for pre-release builds) | `latest` | No | | `id` | Workflow run identifier | - | No | diff --git a/docs/ref/backup-and-restore.md b/docs/ref/backup-and-restore.md index ee512a68..c1ca2196 100644 --- a/docs/ref/backup-and-restore.md +++ b/docs/ref/backup-and-restore.md @@ -2,5 +2,5 @@ For backup and restore, refer to the documentation for each component: -- [Wazuh manager](https://github.com/wazuh/wazuh/blob/v5.0.0/docs/ref/backup-restore.md) -- [Wazuh agent](https://github.com/wazuh/wazuh-agent/blob/v5.0.0/docs/ref/backup-restore.md) +- [Wazuh manager](https://github.com/wazuh/wazuh/blob/v1.2.3/docs/ref/backup-restore.md) +- [Wazuh agent](https://github.com/wazuh/wazuh-agent/blob/v1.2.3/docs/ref/backup-restore.md) diff --git a/docs/ref/configuration/configuration-files.md b/docs/ref/configuration/configuration-files.md index 0f591f6d..4d32e843 100644 --- a/docs/ref/configuration/configuration-files.md +++ b/docs/ref/configuration/configuration-files.md @@ -28,7 +28,7 @@ docker compose up -d ``` -Consult the official Wazuh documentation for version 5.0.0 for detailed information on all possible configuration parameters for each component. +Consult the official Wazuh documentation for version 1.2.3 for detailed information on all possible configuration parameters for each component. ## Persistence configuration diff --git a/docs/ref/configuration/configuration.md b/docs/ref/configuration/configuration.md index 8d7d8cbd..68a7cf3c 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 5.0.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 1.2.3). 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 61fcb922..33017895 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 5.0.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 1.2.3) 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](../requirements.md). - Installed Docker and Docker Compose on your host(s). -- Cloned the `wazuh-docker` repository (version `5.0.0`) or downloaded the necessary deployment files. +- Cloned the `wazuh-docker` repository (version `1.2.3`) or downloaded the necessary deployment files. ```bash git clone https://github.com/wazuh/wazuh-docker.git cd wazuh-docker - git checkout v5.0.0 + git checkout v1.2.3 ``` - Made a backup of any existing Wazuh data if you are migrating or upgrading. diff --git a/docs/ref/getting-started/deployment/multi-node.md b/docs/ref/getting-started/deployment/multi-node.md index d2f46887..39ef67aa 100644 --- a/docs/ref/getting-started/deployment/multi-node.md +++ b/docs/ref/getting-started/deployment/multi-node.md @@ -21,8 +21,8 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines 3. Download the certificate creation script and config.yml file: ```bash - curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-5.0.0-1.sh - curl -o config.yml https://packages.wazuh.com/5.0/config-5.0.0-1.yml + curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-1.2.3-1.sh + curl -o config.yml https://packages.wazuh.com/5.0/config-1.2.3-1.yml ``` 4. Edit the `config.yml` file with the configuration of the Wazuh components to be deployed diff --git a/docs/ref/getting-started/deployment/single-node.md b/docs/ref/getting-started/deployment/single-node.md index a2912e28..c11e2e11 100644 --- a/docs/ref/getting-started/deployment/single-node.md +++ b/docs/ref/getting-started/deployment/single-node.md @@ -21,8 +21,8 @@ This deployment uses the `single-node/docker-compose.yml` file, which defines a 3. Download the certificate creation script and `config.yml` file: ```bash - curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-5.0.0-1.sh - curl -o config.yml https://packages.wazuh.com/5.0/config-5.0.0-1.yml + curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-1.2.3-1.sh + curl -o config.yml https://packages.wazuh.com/5.0/config-1.2.3-1.yml ``` 4. Edit the config.yml file with the configuration of the Wazuh components to be deployed diff --git a/docs/ref/getting-started/getting-started.md b/docs/ref/getting-started/getting-started.md index 5aed6620..4204b01e 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 5.0.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 1.2.3) 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 5.0.0. + You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 1.2.3. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout v5.0.0 + git checkout v1.2.3 # 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 937c285e..61675b39 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 5.0.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 1.2.3), 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 @@ -53,7 +53,7 @@ These are general recommendations. Actual needs may vary based on the number of * **Docker Desktop** * Install Docker Desktop by following the official instructions: [Install Docker Desktop](https://docs.docker.com/desktop/setup/install/windows-install/). * **WSL Linux distribution** - * Install Ubuntu or other compatible Linux distribution (bash in Alpine is not compatible with wazuh-certs-tool-5.0.0-1.sh): [Install Ubuntu on WSL](https://documentation.ubuntu.com/wsl/stable/howto/install-ubuntu-wsl2/) + * Install Ubuntu or other compatible Linux distribution (bash in Alpine is not compatible with wazuh-certs-tool-1.2.3-1.sh): [Install Ubuntu on WSL](https://documentation.ubuntu.com/wsl/stable/howto/install-ubuntu-wsl2/) * **Git Client**: * Required for cloning the `wazuh-docker` repository. * **Web Browser**: diff --git a/docs/ref/glossary.md b/docs/ref/glossary.md index c63c0e65..d289e6c6 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 5.0.0). +This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 1.2.3). --- @@ -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 5.0.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 1.2.3, 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 5.0.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 1.2.3, this is typically OpenSearch. **L** diff --git a/docs/ref/introduction/description.md b/docs/ref/introduction/description.md index 6679997f..65b352aa 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 5.0.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 1.2.3), 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 5.0.0: +The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 1.2.3: 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 5.0.0, this is typically an OpenSearch-based component. + - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 1.2.3, 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 f0ea1b10..20c6560c 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 5.0.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 1.2.3. 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 5.0.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. +This manual refers to version 1.2.3 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md index 7e15c983..c25e892f 100644 --- a/docs/ref/upgrade.md +++ b/docs/ref/upgrade.md @@ -19,20 +19,20 @@ Below is a step-by-step example of how to perform this update: - `wazuh.indexer` - `wazuh.dashboard` - Example (update to 5.0.0): + Example (update to 1.2.3): ```yaml services: wazuh.manager: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:1.2.3 ... wazuh.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 ... wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:1.2.3 ... ``` @@ -43,32 +43,32 @@ Below is a step-by-step example of how to perform this update: - `wazuh1.indexer`, `wazuh2.indexer`, and `wazuh3.indexer` - `wazuh.dashboard` - Example (update to 5.0.0): + Example (update to 1.2.3): ```yaml services: wazuh.master: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:1.2.3 ... wazuh.worker: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:1.2.3 ... wazuh1.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 ... wazuh2.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 ... wazuh3.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 ... wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:1.2.3 ... ``` diff --git a/multi-node/docker-compose.yml b/multi-node/docker-compose.yml index 4fa8d8bf..fae81fc5 100644 --- a/multi-node/docker-compose.yml +++ b/multi-node/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.master: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:1.2.3 hostname: wazuh.master container_name: multi-node-wazuh.master restart: always @@ -44,7 +44,7 @@ services: - ./config/wazuh_master/certs/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh.worker: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:1.2.3 hostname: wazuh.worker container_name: multi-node-wazuh.worker restart: always @@ -83,7 +83,7 @@ services: - ./config/wazuh_worker/certs/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh1.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 hostname: wazuh1.indexer container_name: multi-node-wazuh1.indexer restart: always @@ -121,7 +121,7 @@ services: - ./config/wazuh1_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem wazuh2.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 hostname: wazuh2.indexer container_name: multi-node-wazuh2.indexer restart: always @@ -159,7 +159,7 @@ services: - ./config/wazuh2_indexer/certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem wazuh3.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 hostname: wazuh3.indexer container_name: multi-node-wazuh3.indexer restart: always @@ -197,7 +197,7 @@ services: - ./config/wazuh3_indexer/certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:1.2.3 hostname: wazuh.dashboard container_name: multi-node-wazuh.dashboard restart: always diff --git a/single-node/docker-compose.yml b/single-node/docker-compose.yml index 042162cb..1d86047d 100644 --- a/single-node/docker-compose.yml +++ b/single-node/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.manager: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:1.2.3 hostname: wazuh.manager container_name: single-node-wazuh.manager restart: always @@ -44,7 +44,7 @@ services: - ./config/wazuh_manager/certs/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:1.2.3 hostname: wazuh.indexer container_name: single-node-wazuh.indexer restart: always @@ -81,7 +81,7 @@ services: - ./config/wazuh_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:1.2.3 hostname: wazuh.dashboard container_name: single-node-wazuh.dashboard restart: always diff --git a/wazuh-agent/docker-compose.yml b/wazuh-agent/docker-compose.yml index 842677e1..d876fc9d 100644 --- a/wazuh-agent/docker-compose.yml +++ b/wazuh-agent/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.agent: - image: wazuh/wazuh-agent:5.0.0 + image: wazuh/wazuh-agent:1.2.3 restart: always environment: - WAZUH_MANAGER_SERVER= From fb908962002888788da3bb7ba84ec39920ed55d7 Mon Sep 17 00:00:00 2001 From: wazuhci <22834044+wazuhci@users.noreply.github.com> Date: Mon, 29 Jun 2026 18:26:14 +0000 Subject: [PATCH 06/22] feat: revert change/2460-add-bump-issue-link-support-for-revert-stage-bump-in-wazuh-docker references --- .env | 6 ++--- .github/workflows/5_build_and_push_images.yml | 12 +++++----- .../workflows/5_check_integration_tools.yml | 6 ++--- .github/workflows/5_pr_check.yml | 4 ++-- README.md | 2 +- build-docker-images/build-images.sh | 18 +++++++-------- build-docker-images/docker-bake.hcl | 4 ++-- docs/dev/build-image.md | 4 ++-- docs/dev/introduction.md | 2 +- docs/dev/setup.md | 6 ++--- docs/dev/workflow-usage.md | 2 +- docs/ref/backup-and-restore.md | 4 ++-- docs/ref/configuration/configuration-files.md | 2 +- docs/ref/configuration/configuration.md | 2 +- .../getting-started/deployment/deployment.md | 6 ++--- .../getting-started/deployment/multi-node.md | 4 ++-- .../getting-started/deployment/single-node.md | 4 ++-- docs/ref/getting-started/getting-started.md | 6 ++--- docs/ref/getting-started/requirements.md | 4 ++-- docs/ref/glossary.md | 6 ++--- docs/ref/introduction/description.md | 6 ++--- docs/ref/introduction/introduction.md | 4 ++-- docs/ref/upgrade.md | 22 +++++++++---------- multi-node/docker-compose.yml | 12 +++++----- single-node/docker-compose.yml | 6 ++--- wazuh-agent/docker-compose.yml | 2 +- 26 files changed, 78 insertions(+), 78 deletions(-) diff --git a/.env b/.env index 260c36bb..2e783ae2 100755 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -WAZUH_VERSION=1.2.3 -WAZUH_IMAGE_VERSION=1.2.3 +WAZUH_VERSION=5.0.0 +WAZUH_IMAGE_VERSION=5.0.0 WAZUH_REGISTRY=docker.io -IMAGE_TAG=1.2.3 +IMAGE_TAG=5.0.0 diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index 9e37bb5c..e39cf756 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -1,12 +1,12 @@ -run-name: Build and push images 1.x - ${{ inputs.dev && 'dev' || 'release' }} - ${{ inputs.id }} -name: (1.x) Build and push images +run-name: Build and push images 5.x - ${{ inputs.dev && 'dev' || 'release' }} - ${{ inputs.id }} +name: (5.x) Build and push images on: workflow_dispatch: inputs: image_tag: description: 'Docker image tag' - default: 'v1.2.3-alpha8' + default: '5.0.0' required: true docker_reference: description: 'wazuh-docker reference' @@ -14,7 +14,7 @@ on: wazuh_automation_reference: description: 'Branch or tag of the wazuh-automation repository' required: false - default: 'v1.2.3-alpha8' + default: '5.0.0' products: description: 'Comma-separated list of the image names to build and push' default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent' @@ -42,7 +42,7 @@ on: inputs: image_tag: description: 'Docker image tag' - default: 'v1.2.3-alpha8' + default: '5.0.0' required: true type: string docker_reference: @@ -52,7 +52,7 @@ on: wazuh_automation_reference: description: 'Branch or tag of the wazuh-automation repository' required: false - default: 'v1.2.3-alpha8' + default: '5.0.0' type: string products: description: 'Comma-separated list of the image names to build and push' diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index de1ff35c..c22c363a 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -2,7 +2,7 @@ run-name: >- ${{ github.event_name == 'workflow_dispatch' && format('Docker Integration Test - Manual {0} on {1}', inputs.deployment_type, inputs.pr_head_ref) || format('Docker Integration Test - #{0} {1}', github.event.issue.number, github.event.issue.title) }} -name: (1.x) PR Check - Docker Integration Tests +name: (5.x) PR Check - Docker Integration Tests on: issue_comment: @@ -16,7 +16,7 @@ on: automation_reference: description: 'Branch of wazuh-automation to use' required: false - default: 'v1.2.3-alpha8' + default: '5.0.0' type: string deployment_type: description: 'Deployment type to test' @@ -27,7 +27,7 @@ on: - multi-node - both version: - description: 'Image version to test (e.g. 1.2.3).' + description: 'Image version to test (e.g. 5.0.0).' required: false type: string stage: diff --git a/.github/workflows/5_pr_check.yml b/.github/workflows/5_pr_check.yml index 04331593..6bc408d9 100644 --- a/.github/workflows/5_pr_check.yml +++ b/.github/workflows/5_pr_check.yml @@ -1,4 +1,4 @@ -name: (1.x) Docker PR check +name: (5.x) Docker PR check permissions: contents: read id-token: write @@ -55,7 +55,7 @@ jobs: with: image_tag: ${{ needs.prepare-variables.outputs.WAZUH_IMAGE_VERSION }} docker_reference: ${{ github.head_ref || inputs.docker_reference }} - wazuh_automation_reference: 'v1.2.3-alpha8' + wazuh_automation_reference: '5.0.0' commit_list: '["latest", "latest", "latest", "latest"]' assistant_revision: 'latest' id: ${{ github.run_id }} diff --git a/README.md b/README.md index fb8b8e8e..70a7071d 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., `1.2.3`, `4.14.0`, etc.). +- `X.Y.Z`: Version-specific branches (e.g., `5.0.0`, `4.14.0`, etc.). ## Documentation diff --git a/build-docker-images/build-images.sh b/build-docker-images/build-images.sh index 013fead9..965ca20a 100755 --- a/build-docker-images/build-images.sh +++ b/build-docker-images/build-images.sh @@ -8,13 +8,13 @@ # License (version 2) as published by the FSF - Free Software # Foundation. -WAZUH_IMAGE_VERSION=1.2.3 -IMAGE_TAG=1.2.3 +WAZUH_IMAGE_VERSION=5.0.0 +IMAGE_TAG=5.0.0 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') IMAGE_VERSION=${WAZUH_IMAGE_VERSION} WAZUH_REGISTRY=docker.io -WAZUH_IMAGE_VERSION="1.2.3" +WAZUH_IMAGE_VERSION="5.0.0" WAZUH_DEV_STAGE="" WAZUH_COMPONENTS_COMMIT_LIST='' IS_DEV_BUILD="" @@ -38,9 +38,9 @@ ctrl_c() { build() { - # WAZUH_MINOR_VERSION: Extracts major and minor version only (e.g., 1.2.3 -> 5.0) + # WAZUH_MINOR_VERSION: Extracts major and minor version only (e.g., 5.0.0 -> 5.0) WAZUH_MINOR_VERSION="${WAZUH_IMAGE_VERSION%.*}" - # WAZUH_MAJOR_VERSION: Extracts major version only (e.g., 1.2.3 -> 5) + # WAZUH_MAJOR_VERSION: Extracts major version only (e.g., 5.0.0 -> 5) WAZUH_MAJOR_VERSION="${WAZUH_IMAGE_VERSION%%.*}" # WAZUH_STAGE: Extract the 'stage' (e.g., alpha0, beta1, rc2) from the local JSON metadata file. # Note: This is primarily used for pre-release package naming. @@ -192,10 +192,10 @@ build() { # Generate per-component image tags. # The commit suffix is only appended when --dev is passed. This ensures: - # dev=false, tag=1.2.3 → 1.2.3 - # dev=false, tag=1.2.3-beta1 → 1.2.3-beta1 - # dev=true, tag=1.2.3 → 1.2.3-latest - # dev=true, tag=1.2.3-beta1 → 1.2.3-beta1-latest + # dev=false, tag=5.0.0 → 5.0.0 + # dev=false, tag=5.0.0-beta1 → 5.0.0-beta1 + # dev=true, tag=5.0.0 → 5.0.0-latest + # dev=true, tag=5.0.0-beta1 → 5.0.0-beta1-latest make_tag() { local commit=$1 if [ -n "${IS_DEV_BUILD}" ]; then diff --git a/build-docker-images/docker-bake.hcl b/build-docker-images/docker-bake.hcl index 062401bb..73c041c7 100644 --- a/build-docker-images/docker-bake.hcl +++ b/build-docker-images/docker-bake.hcl @@ -12,7 +12,7 @@ # ── Global variables ────────────────────────────────────────────────────────── -variable "WAZUH_VERSION" { default = "1.2.3" } +variable "WAZUH_VERSION" { default = "5.0.0" } variable "WAZUH_REGISTRY" { default = "docker.io" } # Set IMAGE_TAG externally to override; defaults to WAZUH_VERSION. @@ -23,7 +23,7 @@ variable "MULTIARCH" { default = "" } # Per-component tags — all default to IMAGE_TAG. # In dev builds the shell script sets each one independently to append the -# per-component commit ref (e.g. MANAGER_TAG=1.2.3-beta1-abc1234). +# per-component commit ref (e.g. MANAGER_TAG=5.0.0-beta1-abc1234). variable "INDEXER_TAG" { default = IMAGE_TAG } variable "MANAGER_TAG" { default = IMAGE_TAG } variable "DASHBOARD_TAG" { default = IMAGE_TAG } diff --git a/docs/dev/build-image.md b/docs/dev/build-image.md index 7a8d6bda..2bc86b43 100644 --- a/docs/dev/build-image.md +++ b/docs/dev/build-image.md @@ -19,7 +19,7 @@ Then execute: The script also allows to build images from other versions of Wazuh by using the `-v` or `--version` argument: ```bash -./build-images.sh -v 1.2.3 +./build-images.sh -v 5.0.0 ``` To get all the available script options use the `-h` or `--help` option: @@ -32,7 +32,7 @@ Usage: build-images.sh [OPTIONS] -d, --dev [Optional] Set the development stage you want to build, example rc2 or beta1, not used by default. -refs, --references [Optional] Set each Wazuh component reference to be build (indexer, manager, dasboard and agent). By default, using the latest release: ['latest', 'latest', 'latest', 'latest'] -rg, --registry [Optional] Set the Docker registry to push the images. - -v, --version [Optional] Set the Wazuh version should be builded. By default, 1.2.3. + -v, --version [Optional] Set the Wazuh version should be builded. By default, 5.0.0. -m, --multiarch [Optional] Enable multi-architecture builds. -h, --help Show this help. diff --git a/docs/dev/introduction.md b/docs/dev/introduction.md index 6f17da70..bb0f0850 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 1.2.3 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 5.0.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 e1ae1ef1..3456bd24 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 1.2.3). 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 5.0.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, `1.2.3`. + Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `5.0.0`. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout v1.2.3 + git checkout v5.0.0 ``` 2. **Verify Docker Installation**: diff --git a/docs/dev/workflow-usage.md b/docs/dev/workflow-usage.md index 5d84396c..36da4c56 100644 --- a/docs/dev/workflow-usage.md +++ b/docs/dev/workflow-usage.md @@ -6,7 +6,7 @@ The Procedure_push_docker_images.yml workflow builds and pushes multi-architectu | Parameter | Description | Default | Required | |-----------|-------------|---------|----------| -| `image_tag` | Docker image version tag | `1.2.3` | Yes | +| `image_tag` | Docker image version tag | `5.0.0` | Yes | | `docker_reference` | Branch/tag to build from | - | Yes | | `reference` | Dev reference (for pre-release builds) | `latest` | No | | `id` | Workflow run identifier | - | No | diff --git a/docs/ref/backup-and-restore.md b/docs/ref/backup-and-restore.md index c1ca2196..ee512a68 100644 --- a/docs/ref/backup-and-restore.md +++ b/docs/ref/backup-and-restore.md @@ -2,5 +2,5 @@ For backup and restore, refer to the documentation for each component: -- [Wazuh manager](https://github.com/wazuh/wazuh/blob/v1.2.3/docs/ref/backup-restore.md) -- [Wazuh agent](https://github.com/wazuh/wazuh-agent/blob/v1.2.3/docs/ref/backup-restore.md) +- [Wazuh manager](https://github.com/wazuh/wazuh/blob/v5.0.0/docs/ref/backup-restore.md) +- [Wazuh agent](https://github.com/wazuh/wazuh-agent/blob/v5.0.0/docs/ref/backup-restore.md) diff --git a/docs/ref/configuration/configuration-files.md b/docs/ref/configuration/configuration-files.md index 4d32e843..0f591f6d 100644 --- a/docs/ref/configuration/configuration-files.md +++ b/docs/ref/configuration/configuration-files.md @@ -28,7 +28,7 @@ docker compose up -d ``` -Consult the official Wazuh documentation for version 1.2.3 for detailed information on all possible configuration parameters for each component. +Consult the official Wazuh documentation for version 5.0.0 for detailed information on all possible configuration parameters for each component. ## Persistence configuration diff --git a/docs/ref/configuration/configuration.md b/docs/ref/configuration/configuration.md index 68a7cf3c..8d7d8cbd 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 1.2.3). 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 5.0.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 33017895..61fcb922 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 1.2.3) 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 5.0.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](../requirements.md). - Installed Docker and Docker Compose on your host(s). -- Cloned the `wazuh-docker` repository (version `1.2.3`) or downloaded the necessary deployment files. +- Cloned the `wazuh-docker` repository (version `5.0.0`) or downloaded the necessary deployment files. ```bash git clone https://github.com/wazuh/wazuh-docker.git cd wazuh-docker - git checkout v1.2.3 + git checkout v5.0.0 ``` - Made a backup of any existing Wazuh data if you are migrating or upgrading. diff --git a/docs/ref/getting-started/deployment/multi-node.md b/docs/ref/getting-started/deployment/multi-node.md index 39ef67aa..d2f46887 100644 --- a/docs/ref/getting-started/deployment/multi-node.md +++ b/docs/ref/getting-started/deployment/multi-node.md @@ -21,8 +21,8 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines 3. Download the certificate creation script and config.yml file: ```bash - curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-1.2.3-1.sh - curl -o config.yml https://packages.wazuh.com/5.0/config-1.2.3-1.yml + curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-5.0.0-1.sh + curl -o config.yml https://packages.wazuh.com/5.0/config-5.0.0-1.yml ``` 4. Edit the `config.yml` file with the configuration of the Wazuh components to be deployed diff --git a/docs/ref/getting-started/deployment/single-node.md b/docs/ref/getting-started/deployment/single-node.md index c11e2e11..a2912e28 100644 --- a/docs/ref/getting-started/deployment/single-node.md +++ b/docs/ref/getting-started/deployment/single-node.md @@ -21,8 +21,8 @@ This deployment uses the `single-node/docker-compose.yml` file, which defines a 3. Download the certificate creation script and `config.yml` file: ```bash - curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-1.2.3-1.sh - curl -o config.yml https://packages.wazuh.com/5.0/config-1.2.3-1.yml + curl -o wazuh-certs-tool.sh https://packages.wazuh.com/5.0/wazuh-certs-tool-5.0.0-1.sh + curl -o config.yml https://packages.wazuh.com/5.0/config-5.0.0-1.yml ``` 4. Edit the config.yml file with the configuration of the Wazuh components to be deployed diff --git a/docs/ref/getting-started/getting-started.md b/docs/ref/getting-started/getting-started.md index 4204b01e..5aed6620 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 1.2.3) 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 5.0.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 1.2.3. + You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 5.0.0. ```bash git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git) cd wazuh-docker - git checkout v1.2.3 + git checkout v5.0.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 61675b39..937c285e 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 1.2.3), 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 5.0.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 @@ -53,7 +53,7 @@ These are general recommendations. Actual needs may vary based on the number of * **Docker Desktop** * Install Docker Desktop by following the official instructions: [Install Docker Desktop](https://docs.docker.com/desktop/setup/install/windows-install/). * **WSL Linux distribution** - * Install Ubuntu or other compatible Linux distribution (bash in Alpine is not compatible with wazuh-certs-tool-1.2.3-1.sh): [Install Ubuntu on WSL](https://documentation.ubuntu.com/wsl/stable/howto/install-ubuntu-wsl2/) + * Install Ubuntu or other compatible Linux distribution (bash in Alpine is not compatible with wazuh-certs-tool-5.0.0-1.sh): [Install Ubuntu on WSL](https://documentation.ubuntu.com/wsl/stable/howto/install-ubuntu-wsl2/) * **Git Client**: * Required for cloning the `wazuh-docker` repository. * **Web Browser**: diff --git a/docs/ref/glossary.md b/docs/ref/glossary.md index d289e6c6..c63c0e65 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 1.2.3). +This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 5.0.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 1.2.3, 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 5.0.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 1.2.3, 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 5.0.0, this is typically OpenSearch. **L** diff --git a/docs/ref/introduction/description.md b/docs/ref/introduction/description.md index 65b352aa..6679997f 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 1.2.3), 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 5.0.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 1.2.3: +The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 5.0.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 1.2.3, this is typically an OpenSearch-based component. + - The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 5.0.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 20c6560c..f0ea1b10 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 1.2.3. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker. +Welcome to the Reference Manual for Wazuh-Docker, version 5.0.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 1.2.3 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. +This manual refers to version 5.0.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version. diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md index c25e892f..7e15c983 100644 --- a/docs/ref/upgrade.md +++ b/docs/ref/upgrade.md @@ -19,20 +19,20 @@ Below is a step-by-step example of how to perform this update: - `wazuh.indexer` - `wazuh.dashboard` - Example (update to 1.2.3): + Example (update to 5.0.0): ```yaml services: wazuh.manager: - image: wazuh/wazuh-manager:1.2.3 + image: wazuh/wazuh-manager:5.0.0 ... wazuh.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 ... wazuh.dashboard: - image: wazuh/wazuh-dashboard:1.2.3 + image: wazuh/wazuh-dashboard:5.0.0 ... ``` @@ -43,32 +43,32 @@ Below is a step-by-step example of how to perform this update: - `wazuh1.indexer`, `wazuh2.indexer`, and `wazuh3.indexer` - `wazuh.dashboard` - Example (update to 1.2.3): + Example (update to 5.0.0): ```yaml services: wazuh.master: - image: wazuh/wazuh-manager:1.2.3 + image: wazuh/wazuh-manager:5.0.0 ... wazuh.worker: - image: wazuh/wazuh-manager:1.2.3 + image: wazuh/wazuh-manager:5.0.0 ... wazuh1.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 ... wazuh2.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 ... wazuh3.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 ... wazuh.dashboard: - image: wazuh/wazuh-dashboard:1.2.3 + image: wazuh/wazuh-dashboard:5.0.0 ... ``` diff --git a/multi-node/docker-compose.yml b/multi-node/docker-compose.yml index fae81fc5..4fa8d8bf 100644 --- a/multi-node/docker-compose.yml +++ b/multi-node/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.master: - image: wazuh/wazuh-manager:1.2.3 + image: wazuh/wazuh-manager:5.0.0 hostname: wazuh.master container_name: multi-node-wazuh.master restart: always @@ -44,7 +44,7 @@ services: - ./config/wazuh_master/certs/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh.worker: - image: wazuh/wazuh-manager:1.2.3 + image: wazuh/wazuh-manager:5.0.0 hostname: wazuh.worker container_name: multi-node-wazuh.worker restart: always @@ -83,7 +83,7 @@ services: - ./config/wazuh_worker/certs/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh1.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 hostname: wazuh1.indexer container_name: multi-node-wazuh1.indexer restart: always @@ -121,7 +121,7 @@ services: - ./config/wazuh1_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem wazuh2.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 hostname: wazuh2.indexer container_name: multi-node-wazuh2.indexer restart: always @@ -159,7 +159,7 @@ services: - ./config/wazuh2_indexer/certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem wazuh3.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 hostname: wazuh3.indexer container_name: multi-node-wazuh3.indexer restart: always @@ -197,7 +197,7 @@ services: - ./config/wazuh3_indexer/certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem wazuh.dashboard: - image: wazuh/wazuh-dashboard:1.2.3 + image: wazuh/wazuh-dashboard:5.0.0 hostname: wazuh.dashboard container_name: multi-node-wazuh.dashboard restart: always diff --git a/single-node/docker-compose.yml b/single-node/docker-compose.yml index 1d86047d..042162cb 100644 --- a/single-node/docker-compose.yml +++ b/single-node/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.manager: - image: wazuh/wazuh-manager:1.2.3 + image: wazuh/wazuh-manager:5.0.0 hostname: wazuh.manager container_name: single-node-wazuh.manager restart: always @@ -44,7 +44,7 @@ services: - ./config/wazuh_manager/certs/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh.indexer: - image: wazuh/wazuh-indexer:1.2.3 + image: wazuh/wazuh-indexer:5.0.0 hostname: wazuh.indexer container_name: single-node-wazuh.indexer restart: always @@ -81,7 +81,7 @@ services: - ./config/wazuh_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem wazuh.dashboard: - image: wazuh/wazuh-dashboard:1.2.3 + image: wazuh/wazuh-dashboard:5.0.0 hostname: wazuh.dashboard container_name: single-node-wazuh.dashboard restart: always diff --git a/wazuh-agent/docker-compose.yml b/wazuh-agent/docker-compose.yml index d876fc9d..842677e1 100644 --- a/wazuh-agent/docker-compose.yml +++ b/wazuh-agent/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.agent: - image: wazuh/wazuh-agent:1.2.3 + image: wazuh/wazuh-agent:5.0.0 restart: always environment: - WAZUH_MANAGER_SERVER= From 998ac0757683ea406d550f80f0769feceff6017e Mon Sep 17 00:00:00 2001 From: Carlos Bordon Date: Mon, 29 Jun 2026 15:31:52 -0300 Subject: [PATCH 07/22] Updated changelog --- CHANGELOG.md | 19 +------------------ VERSION.json | 4 ++-- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e38d75e..5734c9cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,11 @@ # Change Log All notable changes to this project will be documented in this file. -## [1.2.3] - -### Added - -- None - -### Changed - -- None - -### Fixed - -- None - -### Deleted - -- None - ## [v5.0.0] ### Added +- Added bump-issue-link support for Revert Stage Bump. ([#2505](https://github.com/wazuh/wazuh-docker/pull/2505)) - Add integration test module docs ([#2491](https://github.com/wazuh/wazuh-docker/pull/2491)) - Implement the wazuh-docker integration testing module ([#2188](https://github.com/wazuh/wazuh-docker/issues/2188)) - Support Revert bump functionality in wazuh-docker ([#2320](https://github.com/wazuh/wazuh-docker/issues/2320)) diff --git a/VERSION.json b/VERSION.json index a5e97320..9cfe1722 100644 --- a/VERSION.json +++ b/VERSION.json @@ -1,4 +1,4 @@ { - "version": "1.2.3", - "stage": "alpha8" + "version": "5.0.0", + "stage": "beta3" } From 14cdfe9bd6a9f64d6c7b178a605612f379e3b4c5 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 18:05:30 +0700 Subject: [PATCH 08/22] Change upload and download methods --- .github/workflows/5_build_and_push_images.yml | 15 +- .../workflows/5_check_integration_tools.yml | 21 +- .github/workflows/5_pr_check.yml | 664 ------------------ CHANGELOG.md | 1 + 4 files changed, 19 insertions(+), 682 deletions(-) delete mode 100644 .github/workflows/5_pr_check.yml diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index e39cf756..dca1711d 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -284,10 +284,9 @@ jobs: - name: Save presigned URLs file to artifact if: ${{ inputs.dev == true }} - uses: actions/upload-artifact@v4 - with: - name: presigned-artifact-urls-${{ github.run_id }} - path: ${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }} + run: | + echo "Uploading presigned URLs artifact..." + aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" build-and-push: runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} @@ -337,10 +336,10 @@ jobs: - name: Download artifact_urls.yaml (dev) if: ${{ inputs.dev == true }} - uses: actions/download-artifact@v4 - with: - name: presigned-artifact-urls-${{ github.run_id }} - path: ./build-docker-images + run: | + echo "Downloading presigned URLs artifact..." + aws s3 cp "${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + mv "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" ./build-docker-images/${{ vars.ARTIFACT_URL_FILE_NAME }} - name: Compute component reference (dev) if: ${{ inputs.dev == true }} diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index c22c363a..df0587de 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -53,6 +53,7 @@ env: AUTOMATION_REFERENCE: ${{ inputs.automation_reference || 'main' }} ALLOCATOR_PATH: /tmp/allocator_instance REGION: us-east-1 + LOGS_ARTIFACT_ZIP_FILE: "docker_logs_artifacts_${{ github.run_id }}.zip" jobs: # ------------------------------------------------------------------------- @@ -732,11 +733,10 @@ jobs: - name: Upload Docker logs if: failure() || steps.run_tests.outcome == 'failure' - uses: actions/upload-artifact@v4 - with: - name: docker-logs-${{ matrix.deployment_type }}-${{ github.run_id }} - path: docker-logs-*.txt - retention-days: 7 + run: | + echo "Uploading Docker logs artifact..." + zip "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" docker-logs-*.txt + aws s3 cp "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" "${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }}/${{ env.LOGS_ARTIFACT_ZIP_FILE }}" # ----------------------------------------------------------------------- # Reporting @@ -810,11 +810,12 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 - with: - name: test-results-docker-${{ matrix.deployment_type }}-${{ github.run_id }} - path: test-results-docker-${{ matrix.deployment_type }}.github - retention-days: 7 + env: + S3_ARTIFACTS_PATH: ${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} + LOCAL_RESULTS_PATH: test-results-docker-${{ matrix.deployment_type }}.github + run: | + echo "Uploading test results to S3..." + aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/" --recursive # ----------------------------------------------------------------------- # Cleanup: always stop stack and deallocate VM diff --git a/.github/workflows/5_pr_check.yml b/.github/workflows/5_pr_check.yml deleted file mode 100644 index 6bc408d9..00000000 --- a/.github/workflows/5_pr_check.yml +++ /dev/null @@ -1,664 +0,0 @@ -name: (5.x) Docker PR check -permissions: - contents: read - id-token: write -on: - pull_request: - types: [opened, synchronize, reopened, ready_for_review] - branches: - - 5.* - - main - paths: - - 'build-docker-images/**' - - 'multi-node/**' - - 'single-node/**' - - 'wazuh-agent/**' - - '.github/**' - workflow_dispatch: - inputs: - docker_reference: - description: 'Branch or tag to build from' - required: true - type: string - -jobs: - - prepare-variables: - if: ${{ !github.event.pull_request.draft }} - runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} - outputs: - WAZUH_VERSION: ${{ steps.dotenv.outputs.WAZUH_VERSION }} - WAZUH_IMAGE_VERSION: ${{ steps.dotenv.outputs.WAZUH_IMAGE_VERSION }} - WAZUH_REGISTRY: ${{ vars.IMAGE_REGISTRY_DEV }} - IMAGE_TAG: ${{ steps.dotenv.outputs.IMAGE_TAG }} - WAZUH_MINOR_VERSION: ${{ steps.dotenv.outputs.WAZUH_MINOR_VERSION }} - steps: - - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Export .env variables - id: dotenv - shell: bash - run: | - if [ ! -f .env ]; then echo "::error::.env missing"; exit 1; fi - grep -v '^#' .env | grep -v '^\s*$' >> "$GITHUB_OUTPUT" - FULL_VERSION=$(grep "^WAZUH_VERSION=" .env | cut -d'=' -f2) - MINOR_VERSION=$(echo "$FULL_VERSION" | cut -d'.' -f1,2) - echo "WAZUH_MINOR_VERSION=$MINOR_VERSION" >> "$GITHUB_OUTPUT" - - - build-images: - needs: prepare-variables - uses: ./.github/workflows/5_build_and_push_images.yml - secrets: inherit - with: - image_tag: ${{ needs.prepare-variables.outputs.WAZUH_IMAGE_VERSION }} - docker_reference: ${{ github.head_ref || inputs.docker_reference }} - wazuh_automation_reference: '5.0.0' - commit_list: '["latest", "latest", "latest", "latest"]' - assistant_revision: 'latest' - id: ${{ github.run_id }} - dev: true - - Execute-Goss-tests: - needs: [prepare-variables, build-images] - runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} - env: - WAZUH_IMAGE_VERSION: ${{ needs.prepare-variables.outputs.WAZUH_IMAGE_VERSION }} - WAZUH_REGISTRY: ${{ needs.prepare-variables.outputs.WAZUH_REGISTRY }} - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Install Goss - uses: e1himself/goss-installation-action@v1.0.3 - with: - version: 'v0.4.4' - - - name: Configure aws credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_IAM_DOCKER_ROLE }} - aws-region: "${{ secrets.AWS_REGION }}" - - - name: Log in to Amazon ECR - uses: aws-actions/amazon-ecr-login@v2 - - - name: Execute Goss tests (wazuh-manager) - run: dgoss run ${{ env.WAZUH_REGISTRY }}/wazuh/wazuh-manager:${{ env.WAZUH_IMAGE_VERSION }}-latest - env: - GOSS_SLEEP: 30 - GOSS_FILE: .github/.goss.yaml - - check-single-node: - name: Check single node on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: ["codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}", "codebuild-github-actions-codebuild-runner-devops-arm-${{ github.run_id }}-${{ github.run_attempt }}"] - fail-fast: false - needs: [prepare-variables, Execute-Goss-tests] - env: - WAZUH_IMAGE_VERSION: ${{ needs.prepare-variables.outputs.WAZUH_IMAGE_VERSION }} - WAZUH_MINOR_VERSION: ${{ needs.prepare-variables.outputs.WAZUH_MINOR_VERSION }} - WAZUH_REGISTRY: ${{ needs.prepare-variables.outputs.WAZUH_REGISTRY }} - INDEXER_USERNAME: admin - INDEXER_PASSWORD: admin - MANAGER_NODES: "manager" - API_USERNAME: wazuh-wui - API_PASSWORD: wazuh-wui - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Configure aws credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_IAM_DOCKER_ROLE }} - aws-region: "${{ secrets.AWS_REGION }}" - - - name: Log in to Amazon ECR - uses: aws-actions/amazon-ecr-login@v2 - - - name: Download artifact_urls.yaml - uses: actions/download-artifact@v4 - with: - name: presigned-artifact-urls-${{ github.run_id }} - path: ./single-node/ - - - name: Log in to Docker Hub - uses: docker/login-action@v4 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Add environment variables into GITHUB_ENV - run: | - # Export variables to the environment - awk -F':' '!/^#/ && NF>1 {name=$1; val=substr($0,length(name)+3); gsub(/[-.]/,"_",name); print name "=" val}' ${{ vars.ARTIFACT_URL_FILE_NAME }} >> "$GITHUB_ENV" - working-directory: ./single-node/ - - - name: Create single node certficates - run: | - curl --output ./wazuh-certs-tool.sh "${{ env.wazuh_certs_tool }}" - cat > config.yml </$(ip addr show docker0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)/g" wazuh-agent/docker-compose.yml - - - name: Edit Wazuh agent docker-compose file - if: ${{ always() && steps.start_single_node_stack.outcome == 'success' }} - shell: bash - env: - WAZUH_REGISTRY: ${{ env.WAZUH_REGISTRY }} - run: | - TARGET_FILE="wazuh-agent/docker-compose.yml" - if [ -f "$TARGET_FILE" ]; then - echo "Updating registry in $TARGET_FILE to: ${{ env.WAZUH_REGISTRY }}" - sed -i "s|wazuh/wazuh-|${{ env.WAZUH_REGISTRY }}/wazuh/wazuh-|g" "$TARGET_FILE" - sed -i "s/\(.*wazuh\/wazuh-.*:\)${{ env.WAZUH_IMAGE_VERSION }}/\1${{ env.WAZUH_IMAGE_VERSION }}-latest/g" "$TARGET_FILE" - else - echo "File $TARGET_FILE not found" - exit 1 - fi - - - name: Start Wazuh agent - if: ${{ always() && steps.start_single_node_stack.outcome == 'success' }} - run: docker compose up -d - working-directory: ./wazuh-agent - - - name: Check Wazuh agent enrollment - if: ${{ always() && steps.start_single_node_stack.outcome == 'success' }} - run: | - enrolled=false - for i in {1..5}; do - TOKEN=$(curl -s -u ${{ env.API_USERNAME }}:${{ env.API_PASSWORD }} -k -X POST "https://127.0.0.1:55000/security/user/authenticate?raw=true") - agents="`curl -k -s -X GET "https://127.0.0.1:55000/agents?pretty=true" -H "Authorization: Bearer ${TOKEN}" | jq -r .data.affected_items | grep active | wc -l`" - if [[ $agents -gt 0 ]]; then - echo "Wazuh agents: ${agents}" - echo "OK" - enrolled=true - break - else - curl -k -s -X GET "https://127.0.0.1:55000/agents?pretty=true" -H "Authorization: Bearer ${TOKEN}" - echo "Wazuh agents: ${agents}. Retrying in 10s" - [ $i -lt 5 ] && sleep 10 - fi - done - if [[ "$enrolled" != "true" ]]; then - echo "Error: Wazuh agent enrollment did not reach expected active agents threshold" - exit 1 - fi - - - name: Check errors in wazuh-manager.log for Wazuh manager - if: ${{ always() && steps.start_single_node_stack.outcome == 'success' }} - run: ./.github/single-node-log-check.sh - - - name: Check documents into wazuh-states index - if: ${{ always() && steps.start_single_node_stack.outcome == 'success' }} - run: | - for i in {1..20}; do - echo "Checking documents in wazuh-states (Attempt $i/20)..." - RESPONSE=$(curl -XGET "https://127.0.0.1:9200/wazuh-states*/_count" -u ${{ env.INDEXER_USERNAME }}:${{ env.INDEXER_PASSWORD }} -k -s || echo "{}") - DOCS=$(echo "$RESPONSE" | jq -r '.count // 0') - if [[ "$DOCS" -gt 0 ]]; then - echo "wazuh-states index has documents: ${DOCS}" - exit 0 - fi - echo "The index is empty or does not exist yet (Count: $DOCS). Waiting 60s" - [ $i -lt 20 ] && sleep 60 - done - echo "Error: No documents found in wazuh-states after 20 attempts." - echo "Last response: $RESPONSE" - exit 1 - - - name: Docker logs - if: always() - continue-on-error: true - run: | - INDEXER_CONTAINERS=$(docker ps --format '{{.Names}}') - for CONTAINER_NAME in $INDEXER_CONTAINERS; do - echo "" - echo "=========================================================" - echo "Container logs for $CONTAINER_NAME" - echo "=========================================================" - docker logs "$CONTAINER_NAME" - echo "---------------------------------------------------------" - done - working-directory: ./single-node - - check-multi-node: - name: Check multi node on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: ["codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}", "codebuild-github-actions-codebuild-runner-devops-arm-${{ github.run_id }}-${{ github.run_attempt }}"] - fail-fast: false - needs: [prepare-variables, Execute-Goss-tests] - env: - WAZUH_IMAGE_VERSION: ${{ needs.prepare-variables.outputs.WAZUH_IMAGE_VERSION }} - WAZUH_MINOR_VERSION: ${{ needs.prepare-variables.outputs.WAZUH_MINOR_VERSION }} - WAZUH_REGISTRY: ${{ needs.prepare-variables.outputs.WAZUH_REGISTRY }} - INDEXER_USERNAME: admin - INDEXER_PASSWORD: admin - MANAGER_NODES: "master,worker01" - API_USERNAME: wazuh-wui - API_PASSWORD: wazuh-wui - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Configure aws credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_IAM_DOCKER_ROLE }} - aws-region: "${{ secrets.AWS_REGION }}" - - - name: Log in to Amazon ECR - uses: aws-actions/amazon-ecr-login@v2 - - - name: Download artifact_urls.yaml - uses: actions/download-artifact@v4 - with: - name: presigned-artifact-urls-${{ github.run_id }} - path: ./multi-node/ - - - name: Log in to Docker Hub - uses: docker/login-action@v4 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Add environment variables into GITHUB_ENV - run: | - # Export variables to the environment - awk -F':' '!/^#/ && NF>1 {name=$1; val=substr($0,length(name)+3); gsub(/[-.]/,"_",name); print name "=" val}' ${{ vars.ARTIFACT_URL_FILE_NAME }} >> "$GITHUB_ENV" - working-directory: ./multi-node/ - - - name: Create multi node certficates - run: | - curl --output ./wazuh-certs-tool.sh "${{ env.wazuh_certs_tool }}" - cat > config.yml </$(ip addr show docker0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)/g" wazuh-agent/docker-compose.yml - - - name: Edit Wazuh agent docker-compose file - if: ${{ always() && steps.start_multi_node_stack.outcome == 'success' }} - shell: bash - env: - WAZUH_REGISTRY: ${{ env.WAZUH_REGISTRY }} - run: | - TARGET_FILE="wazuh-agent/docker-compose.yml" - if [ -f "$TARGET_FILE" ]; then - echo "Updating registry in $TARGET_FILE to: ${{ env.WAZUH_REGISTRY }}" - sed -i "s|wazuh/wazuh-|${{ env.WAZUH_REGISTRY }}/wazuh/wazuh-|g" "$TARGET_FILE" - sed -i "s/\(.*wazuh\/wazuh-.*:\)${{ env.WAZUH_IMAGE_VERSION }}/\1${{ env.WAZUH_IMAGE_VERSION }}-latest/g" "$TARGET_FILE" - else - echo "File $TARGET_FILE not found" - exit 1 - fi - - - name: Start Wazuh agent - if: ${{ always() && steps.start_multi_node_stack.outcome == 'success' }} - run: docker compose -f wazuh-agent/docker-compose.yml up -d - - - name: Check Wazuh agent enrollment - if: ${{ always() && steps.start_multi_node_stack.outcome == 'success' }} - run: | - enrolled=false - for i in {1..5}; do - TOKEN=$(curl -s -u ${{ env.API_USERNAME }}:${{ env.API_PASSWORD }} -k -X POST "https://127.0.0.1:55000/security/user/authenticate?raw=true") - agents="`curl -k -s -X GET "https://127.0.0.1:55000/agents?pretty=true" -H "Authorization: Bearer ${TOKEN}" | jq -r .data.affected_items | grep active | wc -l`" - if [[ $agents -gt 0 ]]; then - echo "Wazuh agents: ${agents}" - echo "OK" - enrolled=true - break - else - curl -k -s -X GET "https://127.0.0.1:55000/agents?pretty=true" -H "Authorization: Bearer ${TOKEN}" - echo "Wazuh agents: ${agents}. Retrying in 10s" - [ $i -lt 5 ] && sleep 10 - fi - done - if [[ "$enrolled" != "true" ]]; then - echo "Error: Wazuh agent enrollment did not reach expected active agents threshold" - exit 1 - fi - - - name: Check errors in wazuh-manager.log for Wazuh manager - if: ${{ always() && steps.start_multi_node_stack.outcome == 'success' }} - run: ./.github/multi-node-log-check.sh - - - name: Check documents into wazuh-states index - if: ${{ always() && steps.start_multi_node_stack.outcome == 'success' }} - run: | - for i in {1..20}; do - echo "Checking documents in wazuh-states (Attempt $i/20)..." - RESPONSE=$(curl -XGET "https://127.0.0.1:9200/wazuh-states*/_count" -u ${{ env.INDEXER_USERNAME }}:${{ env.INDEXER_PASSWORD }} -k -s || echo "{}") - DOCS=$(echo "$RESPONSE" | jq -r '.count // 0') - if [[ "$DOCS" -gt 0 ]]; then - echo "wazuh-states index has documents: ${DOCS}" - exit 0 - fi - echo "The index is empty or does not exist yet (Count: $DOCS). Waiting 60s" - [ $i -lt 20 ] && sleep 60 - done - echo "Error: No documents found in wazuh-states after 20 attempts." - echo "Last response: $RESPONSE" - exit 1 - - - name: Docker logs - if: always() - continue-on-error: true - run: | - INDEXER_CONTAINERS=$(docker ps --format '{{.Names}}') - for CONTAINER_NAME in $INDEXER_CONTAINERS; do - echo "" - echo "=========================================================" - echo "Container logs for $CONTAINER_NAME" - echo "=========================================================" - docker logs "$CONTAINER_NAME" - echo "---------------------------------------------------------" - done - working-directory: ./multi-node diff --git a/CHANGELOG.md b/CHANGELOG.md index 5734c9cd..067454ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file. ### Changed +- Change artifact upload and download ([#2502](https://github.com/wazuh/wazuh-docker/issues/2502)) - Change runners on repository workflows 5.x ([#2471](https://github.com/wazuh/wazuh-docker/issues/2471)) - PR revamp modifications 5.x ([#2446](https://github.com/wazuh/wazuh-docker/issues/2446)) - Forbid pr_check workflow execution in draft PRs ([#2399](https://github.com/wazuh/wazuh-docker/issues/2399)) From e3d402a19058b4493b9b26fb090aee6530e9d6cd Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 18:45:20 +0700 Subject: [PATCH 09/22] Change upload and download methods --- .github/workflows/5_build_and_push_images.yml | 4 ++-- .github/workflows/5_check_integration_tools.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index dca1711d..c375c1a0 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -286,7 +286,7 @@ jobs: if: ${{ inputs.dev == true }} run: | echo "Uploading presigned URLs artifact..." - aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" build-and-push: runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} @@ -338,7 +338,7 @@ jobs: if: ${{ inputs.dev == true }} run: | echo "Downloading presigned URLs artifact..." - aws s3 cp "${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + aws s3 cp "s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" mv "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" ./build-docker-images/${{ vars.ARTIFACT_URL_FILE_NAME }} - name: Compute component reference (dev) diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index df0587de..c6e68eee 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -736,7 +736,7 @@ jobs: run: | echo "Uploading Docker logs artifact..." zip "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" docker-logs-*.txt - aws s3 cp "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" "${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }}/${{ env.LOGS_ARTIFACT_ZIP_FILE }}" + aws s3 cp "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" "s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }}/${{ env.LOGS_ARTIFACT_ZIP_FILE }}" # ----------------------------------------------------------------------- # Reporting @@ -811,7 +811,7 @@ jobs: - name: Upload test results if: always() env: - S3_ARTIFACTS_PATH: ${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} + S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} LOCAL_RESULTS_PATH: test-results-docker-${{ matrix.deployment_type }}.github run: | echo "Uploading test results to S3..." From 0548e0da2a629359d20e4bb7f11669c83995f353 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 19:19:28 +0700 Subject: [PATCH 10/22] Change upload and download methods --- .github/workflows/5_build_and_push_images.yml | 4 ++-- .github/workflows/5_check_integration_tools.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index c375c1a0..ee515030 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -286,7 +286,7 @@ jobs: if: ${{ inputs.dev == true }} run: | echo "Uploading presigned URLs artifact..." - aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" build-and-push: runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} @@ -338,7 +338,7 @@ jobs: if: ${{ inputs.dev == true }} run: | echo "Downloading presigned URLs artifact..." - aws s3 cp "s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + aws s3 cp "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" mv "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" ./build-docker-images/${{ vars.ARTIFACT_URL_FILE_NAME }} - name: Compute component reference (dev) diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index c6e68eee..93701130 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -736,7 +736,7 @@ jobs: run: | echo "Uploading Docker logs artifact..." zip "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" docker-logs-*.txt - aws s3 cp "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" "s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }}/${{ env.LOGS_ARTIFACT_ZIP_FILE }}" + aws s3 cp "${{ env.LOGS_ARTIFACT_ZIP_FILE }}" "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }}/${{ env.LOGS_ARTIFACT_ZIP_FILE }}" # ----------------------------------------------------------------------- # Reporting @@ -811,7 +811,7 @@ jobs: - name: Upload test results if: always() env: - S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} + S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} LOCAL_RESULTS_PATH: test-results-docker-${{ matrix.deployment_type }}.github run: | echo "Uploading test results to S3..." From 3df074ee9d5ebdb95f3e1136fb39edd60c26f5b2 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 19:27:36 +0700 Subject: [PATCH 11/22] Change upload and download methods --- .github/workflows/5_build_and_push_images.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index ee515030..c6933fb4 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -286,7 +286,7 @@ jobs: if: ${{ inputs.dev == true }} run: | echo "Uploading presigned URLs artifact..." - aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + aws s3 cp "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ vars.ARTIFACT_URL_FILE_NAME }}" build-and-push: runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} @@ -338,7 +338,7 @@ jobs: if: ${{ inputs.dev == true }} run: | echo "Downloading presigned URLs artifact..." - aws s3 cp "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" + aws s3 cp "s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_build_and_push_images/${{ github.run_id }}/${{ vars.ARTIFACT_URL_FILE_NAME }}" "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" mv "${{ env.LOCAL_ARTIFACT_URLS_FILEPATH }}" ./build-docker-images/${{ vars.ARTIFACT_URL_FILE_NAME }} - name: Compute component reference (dev) From b1af5a835752fa54bde322e8288277f1ae89bb95 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 19:42:39 +0700 Subject: [PATCH 12/22] Change upload and download methods --- .github/workflows/5_build_and_push_images.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index c6933fb4..d0eebded 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -81,6 +81,8 @@ on: permissions: id-token: write contents: read +env: + LOCAL_ARTIFACT_URLS_FILEPATH: /tmp/${{ vars.ARTIFACT_URL_FILE_NAME }} jobs: setup: @@ -166,7 +168,6 @@ jobs: WORKFLOW_VENV: "${{ github.workspace }}/workflow_venv" GENERATE_PRESIGNED_URLS_SCRIPT_PATH: ${{ github.workspace }}/wazuh-automation/tools/sign_urls/generate_presigned_dev_urls.py PRESIGNED_URLS_SCRIPT_PROCESS: "build_docker" - LOCAL_ARTIFACT_URLS_FILEPATH: /tmp/${{ vars.ARTIFACT_URL_FILE_NAME }} COMMIT_LIST: ${{ inputs.commit_list }} ASSISTANT_REVISION: ${{ inputs.assistant_revision }} From 5a9355c1aeb744fc0e8401dce1e8e93aad0490a0 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 20:38:52 +0700 Subject: [PATCH 13/22] Change upload and download methods --- .github/workflows/4_pr_check.yml | 125 ++++++++++++------------------- CHANGELOG.md | 1 + 2 files changed, 48 insertions(+), 78 deletions(-) diff --git a/.github/workflows/4_pr_check.yml b/.github/workflows/4_pr_check.yml index ece3e842..e5a11083 100644 --- a/.github/workflows/4_pr_check.yml +++ b/.github/workflows/4_pr_check.yml @@ -12,6 +12,14 @@ on: - 'wazuh-agent/**' - '.github/**' +env: + ARTIFACTS_LOCAL_DIR: /home/runner/work/wazuh-docker/wazuh-docker/docker-images + ARTIFACT_NAMES: | + wazuh-manager.tar + wazuh-indexer.tar + wazuh-dashboard.tar + wazuh-agent.tar + jobs: build-docker-images: runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} @@ -41,33 +49,17 @@ jobs: docker save wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar docker save wazuh/wazuh-agent:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-agent.tar - - name: Temporarily save Wazuh manager Docker image - uses: actions/upload-artifact@v7 - with: - name: docker-artifact-manager - path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar - retention-days: 1 - - - name: Temporarily save Wazuh indexer Docker image - uses: actions/upload-artifact@v7 - with: - name: docker-artifact-indexer - path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar - retention-days: 1 - - - name: Temporarily save Wazuh dashboard Docker image - uses: actions/upload-artifact@v7 - with: - name: docker-artifact-dashboard - path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar - retention-days: 1 - - - name: Temporarily save Wazuh agent Docker image - uses: actions/upload-artifact@v7 - with: - name: docker-artifact-agent - path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-agent.tar - retention-days: 1 + - name: Temporarily save Wazuh Docker images + env: + S3_ARTIFACTS_PATH: ${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/4_pr_check/${{ github.run_id }} + run: | + echo "Uploading Docker image artifacts to S3..." + while IFS= read -r artifact; do + [ -z "$artifact" ] && continue + echo " Uploading: $artifact" + aws s3 cp "${ARTIFACTS_LOCAL_DIR}/${artifact}" "${S3_ARTIFACTS_PATH}/${artifact}" + done <<< "$ARTIFACT_NAMES" + echo "All artifacts uploaded successfully." check-single-node: runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }} @@ -86,32 +78,21 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Retrieve saved Wazuh indexer Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-indexer - - - name: Retrieve saved Wazuh manager Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-manager - - - name: Retrieve saved Wazuh dashboard Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-dashboard - - - name: Retrieve saved Wazuh agent Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-agent - - - name: Docker load + - name: Retrieve saved Wazuh Docker images and load them into Docker + env: + S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/4_pr_check/${{ github.run_id }} + ARTIFACTS_LOCAL_DIR: /home/runner/work/wazuh-docker/wazuh-docker/docker-images run: | - docker load --input ./wazuh-indexer.tar - docker load --input ./wazuh-dashboard.tar - docker load --input ./wazuh-manager.tar - docker load --input ./wazuh-agent.tar + mkdir -p "${ARTIFACTS_LOCAL_DIR}" + echo "Downloading and loading Docker image artifacts from S3..." + while IFS= read -r artifact; do + [ -z "$artifact" ] && continue + echo " Downloading: $artifact" + aws s3 cp "${S3_ARTIFACTS_PATH}/${artifact}" "${ARTIFACTS_LOCAL_DIR}/${artifact}" + echo " Loading into Docker: $artifact" + docker load -i "${ARTIFACTS_LOCAL_DIR}/${artifact}" + done <<< "$ARTIFACT_NAMES" + echo "All artifacts downloaded and loaded successfully." - name: Create single node certficates run: docker compose -f single-node/generate-indexer-certs.yml run --rm generator @@ -233,33 +214,21 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Retrieve saved Wazuh dashboard Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-dashboard - - - name: Retrieve saved Wazuh manager Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-manager - - - name: Retrieve saved Wazuh indexer Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-indexer - - - name: Retrieve saved Wazuh agent Docker image - uses: actions/download-artifact@v8 - with: - name: docker-artifact-agent - - - name: Docker load + - name: Retrieve saved Wazuh Docker images and load them into Docker + env: + S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/4_pr_check/${{ github.run_id }} + ARTIFACTS_LOCAL_DIR: /home/runner/work/wazuh-docker/wazuh-docker/docker-images run: | - docker load --input ./wazuh-manager.tar - docker load --input ./wazuh-indexer.tar - docker load --input ./wazuh-dashboard.tar - docker load --input ./wazuh-agent.tar - rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-agent.tar + mkdir -p "${ARTIFACTS_LOCAL_DIR}" + echo "Downloading and loading Docker image artifacts from S3..." + while IFS= read -r artifact; do + [ -z "$artifact" ] && continue + echo " Downloading: $artifact" + aws s3 cp "${S3_ARTIFACTS_PATH}/${artifact}" "${ARTIFACTS_LOCAL_DIR}/${artifact}" + echo " Loading into Docker: $artifact" + docker load -i "${ARTIFACTS_LOCAL_DIR}/${artifact}" + done <<< "$ARTIFACT_NAMES" + echo "All artifacts downloaded and loaded successfully." - name: Create multi node certficates run: docker compose -f multi-node/generate-indexer-certs.yml run --rm generator diff --git a/CHANGELOG.md b/CHANGELOG.md index bd1156ff..31447766 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file. ### Changed +- Change upload and download methods ([#2504](https://github.com/wazuh/wazuh-docker/pull/2504)) - PR revamp modifications 4.x ([#2445](https://github.com/wazuh/wazuh-docker/pull/2445)) ### Fixed From 8f0ae452cb91eccae370e8156d91f112661cc701 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 22:45:07 +0700 Subject: [PATCH 14/22] Add path verification --- .github/workflows/5_check_integration_tools.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index 93701130..42fda9a5 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -811,11 +811,15 @@ jobs: - name: Upload test results if: always() env: - S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} + S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} LOCAL_RESULTS_PATH: test-results-docker-${{ matrix.deployment_type }}.github run: | - echo "Uploading test results to S3..." - aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/" --recursive + if [ -f "${LOCAL_RESULTS_PATH}" ]; then + echo "Uploading test results to S3..." + aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/" --recursive + else + echo "::warning::No test results file found - skipping upload (an earlier step likely failed before test_runner produced output)." + fi # ----------------------------------------------------------------------- # Cleanup: always stop stack and deallocate VM From 21c6a015793c708fad129fb570b15cb00d4b3ffa Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Tue, 30 Jun 2026 22:54:11 +0700 Subject: [PATCH 15/22] change of quotation mark type --- .github/workflows/5_check_integration_tools.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index 42fda9a5..dd5c9f2f 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -177,8 +177,8 @@ jobs: echo "deployment_matrix=[\"${DEPLOY_TYPE}\"]" >> $GITHUB_OUTPUT fi else - echo "pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}" >> $GITHUB_OUTPUT - echo "deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}" >> $GITHUB_OUTPUT + echo 'pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}' >> $GITHUB_OUTPUT + echo 'deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}' >> $GITHUB_OUTPUT fi - name: Checkout wazuh-docker PR branch (VERSION.json only) From fa8d6b3de98c4e8667827e84a130a7fe825fe457 Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Tue, 30 Jun 2026 13:34:46 -0300 Subject: [PATCH 16/22] Add support for generate_presigned_dev_urls srcipt --- .../workflows/5_check_integration_tools.yml | 28 ++++++------ cambios_comillas.md | 43 +++++++++++++++++++ 2 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 cambios_comillas.md diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index dd5c9f2f..58c73cb1 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -410,6 +410,7 @@ jobs: pip install -r wazuh-automation/deployability/deps/requirements.txt pip install -r wazuh-automation/integration-test-module/requirements.txt pip install -e wazuh-automation/integration-test-module/ + pip install pyyaml - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 @@ -418,6 +419,19 @@ jobs: role-session-name: docker-test-${{ github.run_id }}-${{ matrix.deployment_type }} aws-region: ${{ env.REGION }} + - name: Generate presigned cert tool URL + run: | + python wazuh-automation/tools/sign_urls/generate_presigned_dev_urls.py \ + --process build_docker \ + --wazuh-version "${{ env.DOCKER_VERSION }}" \ + --aws-s3-bucket-dev "${{ vars.AWS_S3_BUCKET_DEV }}" + + python3 -c " + import yaml + data = yaml.safe_load(open('/tmp/artifact_urls.yaml')) + print(f'wazuh_certs_tool={data[\"wazuh_certs_tool\"]}') + " >> "$GITHUB_ENV" + # ----------------------------------------------------------------------- # Provision: allocate VM and extract SSH credentials # ----------------------------------------------------------------------- @@ -503,20 +517,10 @@ jobs: - name: Prepare cert tool and config run: | DEPLOYMENT="${{ matrix.deployment_type }}" - VERSION="${{ env.WAZUH_VERSION }}" - STAGE="${{ env.WAZUH_STAGE }}" - MAJOR=$(echo "$VERSION" | cut -d. -f1) - echo "Cert tool: ${VERSION}-${STAGE} Docker image: ${{ env.DOCKER_TAG }}" + echo "Cert tool: ${{ env.wazuh_certs_tool }} Docker image: ${{ env.DOCKER_TAG }}" - # Download cert tool once on the runner - if [ -n "$STAGE" ]; then - CERT_TOOL_URL="https://packages-staging.xdrsiem.wazuh.info/pre-release/${MAJOR}.x/installation-assistant/wazuh-certs-tool-${VERSION}-${STAGE}.sh" - else - CERT_TOOL_URL="https://packages.wazuh.com/${MAJOR}.$(echo "$VERSION" | cut -d. -f2)/wazuh-certs-tool-${VERSION}-1.sh" - fi - echo "Downloading cert tool: $CERT_TOOL_URL" - curl -fsSL -o "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh" "$CERT_TOOL_URL" + curl --output "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh" "${{ env.wazuh_certs_tool }}" chmod +x "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh" echo "Downloaded OK" diff --git a/cambios_comillas.md b/cambios_comillas.md new file mode 100644 index 00000000..9f7df4bf --- /dev/null +++ b/cambios_comillas.md @@ -0,0 +1,43 @@ + +## wazuh-docker +Archivo: `.github/workflows/5_check_integration_tools.yml` +Step: **"Resolve context"** (job `prepare`) + +A partir de la línea **179**, cambiar: + +```yaml + echo "pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}" >> $GITHUB_OUTPUT + echo "deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}" >> $GITHUB_OUTPUT +``` + +por: + +```yaml + echo 'pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}' >> $GITHUB_OUTPUT + echo 'deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}' >> $GITHUB_OUTPUT +``` + +--- + +## wazuh-ansible +Archivo: `.github/workflows/5_check_integration_tools.yaml` +Step: **"Resolve context"** (job `prepare`) + +A partir de la línea **216**, cambiar: + +```yaml + echo "pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}" >> $GITHUB_OUTPUT + echo "deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}" >> $GITHUB_OUTPUT +``` + +por: + +```yaml + echo 'pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}' >> $GITHUB_OUTPUT + echo 'deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}' >> $GITHUB_OUTPUT +``` + +(Las 4 líneas siguientes del mismo `else` — `os_list`, `environment`, `commit_list`, +`issue_url` — no se tocan, ya están bien.) + +--- \ No newline at end of file From 04af11919c80abec9bb6da9d0f45646e9b211c53 Mon Sep 17 00:00:00 2001 From: fcaffieri Date: Tue, 30 Jun 2026 13:35:28 -0300 Subject: [PATCH 17/22] Remove md report of fixes --- cambios_comillas.md | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 cambios_comillas.md diff --git a/cambios_comillas.md b/cambios_comillas.md deleted file mode 100644 index 9f7df4bf..00000000 --- a/cambios_comillas.md +++ /dev/null @@ -1,43 +0,0 @@ - -## wazuh-docker -Archivo: `.github/workflows/5_check_integration_tools.yml` -Step: **"Resolve context"** (job `prepare`) - -A partir de la línea **179**, cambiar: - -```yaml - echo "pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}" >> $GITHUB_OUTPUT - echo "deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}" >> $GITHUB_OUTPUT -``` - -por: - -```yaml - echo 'pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}' >> $GITHUB_OUTPUT - echo 'deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}' >> $GITHUB_OUTPUT -``` - ---- - -## wazuh-ansible -Archivo: `.github/workflows/5_check_integration_tools.yaml` -Step: **"Resolve context"** (job `prepare`) - -A partir de la línea **216**, cambiar: - -```yaml - echo "pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}" >> $GITHUB_OUTPUT - echo "deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}" >> $GITHUB_OUTPUT -``` - -por: - -```yaml - echo 'pr_head_ref=${{ needs.get_pr_info.outputs.pr_head_ref }}' >> $GITHUB_OUTPUT - echo 'deployment_matrix=${{ needs.get_pr_info.outputs.deployment_matrix }}' >> $GITHUB_OUTPUT -``` - -(Las 4 líneas siguientes del mismo `else` — `os_list`, `environment`, `commit_list`, -`issue_url` — no se tocan, ya están bien.) - ---- \ No newline at end of file From f2dd1d7f79d36299ff41e777389b7d6a6d579564 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Wed, 1 Jul 2026 00:06:13 +0700 Subject: [PATCH 18/22] Change secret name --- .github/workflows/5_check_integration_tools.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index 58c73cb1..e482244c 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -815,12 +815,12 @@ jobs: - name: Upload test results if: always() env: - S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} + S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/5_check_integration_tools/${{ github.run_id }} LOCAL_RESULTS_PATH: test-results-docker-${{ matrix.deployment_type }}.github run: | if [ -f "${LOCAL_RESULTS_PATH}" ]; then echo "Uploading test results to S3..." - aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/" --recursive + aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/ else echo "::warning::No test results file found - skipping upload (an earlier step likely failed before test_runner produced output)." fi From e18a5a7be9eb19f74125d4a8a2a5c8b3b27d5244 Mon Sep 17 00:00:00 2001 From: Victor Carlos Erenu Date: Wed, 1 Jul 2026 00:06:34 +0700 Subject: [PATCH 19/22] Change secret name --- .github/workflows/5_check_integration_tools.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index e482244c..4f42c83c 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -820,7 +820,7 @@ jobs: run: | if [ -f "${LOCAL_RESULTS_PATH}" ]; then echo "Uploading test results to S3..." - aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/ + aws s3 cp "${LOCAL_RESULTS_PATH}" "${S3_ARTIFACTS_PATH}/test-results-docker-${{ matrix.deployment_type }}/" else echo "::warning::No test results file found - skipping upload (an earlier step likely failed before test_runner produced output)." fi From bfe8dc4484331411cf414eefdc78a63ba4fa4a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Anguita=20L=C3=B3pez?= Date: Wed, 1 Jul 2026 16:24:48 +0200 Subject: [PATCH 20/22] add logic to accept version, stage and tag input together --- .github/workflows/5_bumper_repository.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/5_bumper_repository.yml b/.github/workflows/5_bumper_repository.yml index 81d2913c..9f19be22 100644 --- a/.github/workflows/5_bumper_repository.yml +++ b/.github/workflows/5_bumper_repository.yml @@ -100,6 +100,8 @@ jobs: if [[ -n "$version" && -n "$stage" && "$tag" != "true" ]]; then script_params="--version ${version} --stage ${stage}" + elif [[ -n "$version" && -n "$stage" && "$tag" == "true" ]]; then + script_params="--version ${version} --stage ${stage} --tag" elif [[ -z "$version" && -n "$stage" && "$tag" == "true" ]]; then script_params="--stage ${stage} --tag" elif [[ -z "$version" && -z "$stage" && "$tag" == "true" ]]; then From 905b5b9a93fe4788f3a6d44282d0d81c9cfacce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Anguita=20L=C3=B3pez?= Date: Thu, 2 Jul 2026 13:48:05 +0200 Subject: [PATCH 21/22] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 067454ff..42c8b24f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -64,6 +64,7 @@ All notable changes to this project will be documented in this file. ### Fixed +- Bumper script issue when the tag is set to false ([#2477](https://github.com/wazuh/wazuh-docker/issues/2477)) - Fix reported WF vulnerabilities ([#2443](https://github.com/wazuh/wazuh-docker/issues/2443)) - Adapt Wazuh manager healthcheck with local binaries ([#2422](https://github.com/wazuh/wazuh-docker/issues/2422)) - The Wazuh Docker image cannot be built during the Nightly ([#2337](https://github.com/wazuh/wazuh-docker/issues/2337)) From 07b8ca9d1657e4c1712bb9f9a43b0dcdd9621e96 Mon Sep 17 00:00:00 2001 From: wazuhci <22834044+wazuhci@users.noreply.github.com> Date: Thu, 2 Jul 2026 12:34:19 +0000 Subject: [PATCH 22/22] feat: bump 5.0.0 --- .github/workflows/5_build_and_push_images.yml | 8 ++++---- .../workflows/5_check_integration_tools.yml | 2 +- docs/ref/upgrade.md | 18 +++++++++--------- multi-node/docker-compose.yml | 12 ++++++------ single-node/docker-compose.yml | 6 +++--- wazuh-agent/docker-compose.yml | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/5_build_and_push_images.yml b/.github/workflows/5_build_and_push_images.yml index d0eebded..db902a77 100644 --- a/.github/workflows/5_build_and_push_images.yml +++ b/.github/workflows/5_build_and_push_images.yml @@ -6,7 +6,7 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '5.0.0' + default: 'v5.0.0-beta3' required: true docker_reference: description: 'wazuh-docker reference' @@ -14,7 +14,7 @@ on: wazuh_automation_reference: description: 'Branch or tag of the wazuh-automation repository' required: false - default: '5.0.0' + default: 'v5.0.0-beta3' products: description: 'Comma-separated list of the image names to build and push' default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent' @@ -42,7 +42,7 @@ on: inputs: image_tag: description: 'Docker image tag' - default: '5.0.0' + default: 'v5.0.0-beta3' required: true type: string docker_reference: @@ -52,7 +52,7 @@ on: wazuh_automation_reference: description: 'Branch or tag of the wazuh-automation repository' required: false - default: '5.0.0' + default: 'v5.0.0-beta3' type: string products: description: 'Comma-separated list of the image names to build and push' diff --git a/.github/workflows/5_check_integration_tools.yml b/.github/workflows/5_check_integration_tools.yml index 4f42c83c..aefce3bb 100644 --- a/.github/workflows/5_check_integration_tools.yml +++ b/.github/workflows/5_check_integration_tools.yml @@ -16,7 +16,7 @@ on: automation_reference: description: 'Branch of wazuh-automation to use' required: false - default: '5.0.0' + default: 'v5.0.0-beta3' type: string deployment_type: description: 'Deployment type to test' diff --git a/docs/ref/upgrade.md b/docs/ref/upgrade.md index 7e15c983..fa74e6d8 100644 --- a/docs/ref/upgrade.md +++ b/docs/ref/upgrade.md @@ -24,15 +24,15 @@ Below is a step-by-step example of how to perform this update: ```yaml services: wazuh.manager: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:5.0.0-beta3 ... wazuh.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 ... wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:5.0.0-beta3 ... ``` @@ -48,27 +48,27 @@ Below is a step-by-step example of how to perform this update: ```yaml services: wazuh.master: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:5.0.0-beta3 ... wazuh.worker: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:5.0.0-beta3 ... wazuh1.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 ... wazuh2.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 ... wazuh3.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 ... wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:5.0.0-beta3 ... ``` diff --git a/multi-node/docker-compose.yml b/multi-node/docker-compose.yml index 4fa8d8bf..78a68170 100644 --- a/multi-node/docker-compose.yml +++ b/multi-node/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.master: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:5.0.0-beta3 hostname: wazuh.master container_name: multi-node-wazuh.master restart: always @@ -44,7 +44,7 @@ services: - ./config/wazuh_master/certs/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh.worker: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:5.0.0-beta3 hostname: wazuh.worker container_name: multi-node-wazuh.worker restart: always @@ -83,7 +83,7 @@ services: - ./config/wazuh_worker/certs/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh1.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 hostname: wazuh1.indexer container_name: multi-node-wazuh1.indexer restart: always @@ -121,7 +121,7 @@ services: - ./config/wazuh1_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem wazuh2.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 hostname: wazuh2.indexer container_name: multi-node-wazuh2.indexer restart: always @@ -159,7 +159,7 @@ services: - ./config/wazuh2_indexer/certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem wazuh3.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 hostname: wazuh3.indexer container_name: multi-node-wazuh3.indexer restart: always @@ -197,7 +197,7 @@ services: - ./config/wazuh3_indexer/certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:5.0.0-beta3 hostname: wazuh.dashboard container_name: multi-node-wazuh.dashboard restart: always diff --git a/single-node/docker-compose.yml b/single-node/docker-compose.yml index 042162cb..4543567d 100644 --- a/single-node/docker-compose.yml +++ b/single-node/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.manager: - image: wazuh/wazuh-manager:5.0.0 + image: wazuh/wazuh-manager:5.0.0-beta3 hostname: wazuh.manager container_name: single-node-wazuh.manager restart: always @@ -44,7 +44,7 @@ services: - ./config/wazuh_manager/certs/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem wazuh.indexer: - image: wazuh/wazuh-indexer:5.0.0 + image: wazuh/wazuh-indexer:5.0.0-beta3 hostname: wazuh.indexer container_name: single-node-wazuh.indexer restart: always @@ -81,7 +81,7 @@ services: - ./config/wazuh_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem wazuh.dashboard: - image: wazuh/wazuh-dashboard:5.0.0 + image: wazuh/wazuh-dashboard:5.0.0-beta3 hostname: wazuh.dashboard container_name: single-node-wazuh.dashboard restart: always diff --git a/wazuh-agent/docker-compose.yml b/wazuh-agent/docker-compose.yml index 842677e1..ea8d57fd 100644 --- a/wazuh-agent/docker-compose.yml +++ b/wazuh-agent/docker-compose.yml @@ -1,7 +1,7 @@ # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) services: wazuh.agent: - image: wazuh/wazuh-agent:5.0.0 + image: wazuh/wazuh-agent:5.0.0-beta3 restart: always environment: - WAZUH_MANAGER_SERVER=