|
114 | 114 | Variant[Array[Stdlib::Port], Stdlib::Port] $apache_listenport = $zabbix::params::apache_listenport,
|
115 | 115 | Variant[Array[Stdlib::Port], Stdlib::Port] $apache_listenport_ssl = $zabbix::params::apache_listenport_ssl,
|
116 | 116 | $zabbix_api_user = $zabbix::params::server_api_user,
|
117 |
| - $zabbix_api_pass = $zabbix::params::server_api_pass, |
| 117 | + Variant[Sensitive[String], String] $zabbix_api_pass = $zabbix::params::server_api_pass, |
118 | 118 | Optional[Array[Stdlib::Host,1]] $zabbix_api_access = $zabbix::params::server_api_access,
|
119 | 119 | $database_host = $zabbix::params::server_database_host,
|
120 | 120 | $database_name = $zabbix::params::server_database_name,
|
121 | 121 | $database_schema = $zabbix::params::server_database_schema,
|
122 | 122 | Boolean $database_double_ieee754 = $zabbix::params::server_database_double_ieee754,
|
123 | 123 | $database_user = $zabbix::params::server_database_user,
|
124 |
| - $database_password = $zabbix::params::server_database_password, |
| 124 | + Variant[Sensitive[String], String] $database_password = $zabbix::params::server_database_password, |
125 | 125 | $database_socket = $zabbix::params::server_database_socket,
|
126 | 126 | $database_port = $zabbix::params::server_database_port,
|
127 | 127 | $zabbix_server = $zabbix::params::zabbix_server,
|
|
146 | 146 | Boolean $manage_selinux = $zabbix::params::manage_selinux,
|
147 | 147 | Hash[String[1], Any] $apache_vhost_custom_params = {},
|
148 | 148 | ) inherits zabbix::params {
|
| 149 | + # TODO: use EPP instead of ERB, as EPP can handle Sensitive natively |
| 150 | + $database_password_unsensitive = $database_password.unwrap |
| 151 | + |
149 | 152 | # check osfamily, Arch is currently not supported for web
|
150 | 153 | if $facts['os']['family'] in ['Archlinux', 'Gentoo',] {
|
151 | 154 | fail("${facts['os']['family']} is currently not supported for zabbix::web")
|
|
262 | 265 | group => $web_config_group,
|
263 | 266 | mode => '0640',
|
264 | 267 | replace => true,
|
265 |
| - content => template('zabbix/web/zabbix.conf.php.erb'), |
| 268 | + content => if $database_password =~ Sensitive { |
| 269 | + Sensitive(template('zabbix/web/zabbix.conf.php.erb')) |
| 270 | + } else { |
| 271 | + template('zabbix/web/zabbix.conf.php.erb') |
| 272 | + }, |
266 | 273 | }
|
267 | 274 |
|
268 | 275 | # For API to work on Zabbix 5.x zabbix.conf.php needs to be in the root folder.
|
|
0 commit comments