Configuration options¶
Beyond topology and storage, the operator exposes the most commonly tuned Wazuh settings, grouped by component. Anything not modeled can be set through the raw escape hatches.
Indexer tuning¶
spec:
indexer:
heapSize: "2g" # OpenSearch JVM heap; ~50% of the memory limit
tuneMaxMapCount: true # privileged init container for vm.max_map_count
extraConfig: | # appended verbatim to opensearch.yml
plugins.index_state_management.enabled: true
podDisruptionBudget:
enabled: true # default in ha; maxUnavailable: 1
heapSizesets-Xms/-Xmx(default1g). Size it to roughly half the indexer memory limit.tuneMaxMapCount(defaulttrue) runs a privileged init container to setvm.max_map_count=262144, which OpenSearch requires. Set it tofalseon clusters that enforce Pod Security Admissionrestrictedand pre-tune the sysctl at the node pool — otherwise the privileged init container is rejected and the indexer never starts.extraConfigis appended toopensearch.ymlfor ILM, advanced tuning, etc.podDisruptionBudget.enabledcreates amaxUnavailable: 1PDB (default on with ≥2 replicas) so a node drain cannot break indexer quorum. See Day-2 → Node maintenance.
Manager capabilities¶
These map to Wazuh manager (ossec.conf) sections and are rendered for every manager node.
spec:
manager:
config:
fileIntegrityMonitoring: # syscheck / FIM
enabled: true # default true
directories: # default: /etc, /usr/bin, /usr/sbin, /bin, /sbin
- /etc
- /var/www
vulnerabilityDetection:
enabled: true # default true
securityConfigurationAssessment:
enabled: true # default true
extraConfig: | # raw XML appended inside <ossec_config>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/secure</location>
</localfile>
| Capability | Section | Default |
|---|---|---|
| File Integrity Monitoring | syscheck |
on, baseline directories |
| Vulnerability Detection | vulnerability-detection |
on |
| Security Configuration Assessment | sca |
on |
extraConfig is the escape hatch for any section the operator does not model directly
— integration (Slack, VirusTotal, PagerDuty), localfile (log collection), command,
active-response, cloud wodles, and so on. Paste standard Wazuh XML.
Alerting¶
spec:
manager:
alerts:
logLevel: 3 # minimum severity logged (1-16), default 3
email:
enabled: true
smtpServer: smtp.example.com
from: wazuh@example.com
to:
- soc@example.com
- ops@example.com
When email.enabled is set, the operator writes the <global> email settings, an
<email_alert_level> of 12, and one <email_alerts> block per recipient.
Credentials, TLS, exposure¶
Covered elsewhere: TLS & Credentials (passwords, agent
enrollment), and the WazuhCluster reference
(agentService, dashboard.ingress, image overrides).
Config changes roll the pods
Editing any of these re-renders the ConfigMaps and rolls the affected pods automatically (via the config checksum), so changes take effect without manual restarts.