3.4 KiB
Provisioner
The provisioner module is responsible for preparing a target machine with the following:
-
certs-tool: Script from the
certs-toolproject used to generate certificates for Wazuh components. Along with the script, theconfig.ymlfile is also copied, which contains the IP addresses and node names to generate the appropriate certificates. -
Component packages: In addition to the
certs-tool, the provisioner is also responsible for downloading Wazuh component packages from the specified URLs and copying them to the target machine.
This ensures that the target machine contains both the necessary certificate generation tools and the Wazuh packages ready for installation.
Parameters
The provisioner module accepts the following options:
--inventory: Path to the inventory file.--packages-url-path: Path to the file containing the package URLs.--package-type: Type of package to provision (rpm,deb).--arch: Target architecture (x86_64,amd64,arm64,aarch64).--dependencies: Path to the dependencies file.--component: Component to provision (wazuh-manager,wazuh-indexer,wazuh-dashboard,all).
Required Parameters
To run the provisioner module, the following are required:
-
A running machine where the provisioner will operate. This can be a local machine or a remote VM.
-
If the machine is not local, you will need Ansible-compatible inventory details (passed via
--inventory). For local execution, this is not needed:all: hosts: <ec2-instance-id>: ansible_connection: ssh ansible_host: <instance-ip-or-dns> ansible_port: <instance-port> ansible_ssh_common_args: -o StrictHostKeyChecking=no ansible_ssh_private_key_file: <instance-private-key-path> ansible_user: <instance-user> -
A file with the URLs for the components to be installed (
--packages-url-pathparameter).
Examples
By default, if only the
--packages-url-pathparameter is provided, the provisioning will be done locally, with the following default values:
--package-type:rpm--arch:x86_64--dependencies:provisioner/static/wazuh_dependencies.yaml--component:all(Wazuh Server, Wazuh Indexer, and Wazuh Dashboard)
Provision locally with default options
-
Using Hatch:
hatch run dev-provisioner:run --packages-url-path <path-to-file> -
Using the command line:
python -m main --execute provisioner --packages-url-path <path-to-file>
Provision remotely for arm64 architecture and deb packages
-
Using Hatch:
hatch run dev-provisioner:run --inventory <path-to-inventory> --packages-url-path <path-to-file> --arch arm64 --package-type deb -
Using the command line:
python -m main --execute provisioner --inventory <path-to-inventory> --packages-url-path <path-to-file> --arch arm64 --package-type deb
Provision only the Wazuh Dashboard remotely
-
Using Hatch:
hatch run dev-provisioner:run --inventory <path-to-inventory> --packages-url-path <path-to-file> --component wazuh-dashboard -
Using the command line:
python -m main --execute provisioner --inventory <path-to-inventory> --packages-url-path <path-to-file> --component wazuh-dashboard