src/engine/tools/devContainer/README.md
This development container provides a complete, ready-to-use environment for developing and testing the Wazuh Engine. It includes all necessary tools, dependencies, and pre-configured VS Code settings to streamline the development workflow.
Download and set up the development container:
curl -o download_devContainer.sh https://raw.githubusercontent.com/wazuh/wazuh/main/src/engine/tools/devContainer/download_devContainer.sh
chmod +x download_devContainer.sh
./download_devContainer.sh -h
Options:
-d <destination>: Specify destination directory (default: ./devContainer)-b <branch>: Specify Git branch to download from (default: main)-h: Show help messageExample:
./download_devContainer.sh -d ~/wazuh-engine-dev -b development
[!NOTE] This setup currently only works on Linux systems.
The scripts/ directory contains various utilities to facilitate engine development and testing:
Creates the directory structure required for running the engine in standalone mode:
Comprehensive cleanup script that removes Wazuh manager/agent installations:
Mounts the /proc filesystem inside the Wazuh installation directory for development and testing purposes.
Enables or disables the archiving functionality in the Wazuh engine.
event_sock_v2.go: Tools for testing event socket communicationwazuh_stream_socket.go: WebSocket streaming utility for engine eventsfix_wazuh_dash.sh, fix_wazuh_indexer.sh: Helper scripts to fix common issues with dashboard and indexerThe e2e/ directory provides scripts to deploy a complete Wazuh ecosystem for end-to-end testing and development within the devContainer.
Initializes the complete E2E testing environment:
config.yml, wazuh-passwords.txt)Usage:
cd e2e
./init.sh
Orchestrates the E2E environment with the following services:
wazuh-indexer
9200 (HTTPS)wazuh-dashboard
443 (HTTPS)Starting the environment:
cd e2e
docker-compose up -d
[!NOTE] If you need to update the Indexer or Dashboard packages, re-run
./init.shto fetch the latest artifacts before starting the services:bashdocker-compose down ./init.sh docker-compose up -d # This rebuilds services with updated packages
Deploys generated certificates to an existing wazuh-manager installation:
e2e/certs/ to /var/wazuh-manager/etc/certs/wazuh-manager:wazuh-manager) and permissions (640)wazuh-1-key.pem → manager-key.pemwazuh-1.pem → manager.pemroot-ca.pem → root-ca.pemossec.conf with indexer configurationImportant: Must be executed after installing wazuh-manager and before starting the service.
VS Code Task: Available as "E2E Scripts: Copy wazuh-manager certs" in the task menu (Ctrl+Shift+P → Tasks: Run Task)
Alias to scripts/purge_wazuh.sh - provides a convenient cleanup utility from the e2e directory.
VS Code Task: Available as "Scripts: Purge wazuh-manager" in the task menu
.vscode/tasks.json.vscode/launch.jsonwazuh/src/engine/docs/ for detailed engine architecture and API documentation