config.pp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. # == Class: icinga2::server::config
  2. #
  3. # This class configures the server components for the Icinga 2 monitoring system.
  4. #
  5. # === Parameters
  6. #
  7. # Coming soon...
  8. #
  9. # === Examples
  10. #
  11. # Coming soon...
  12. #
  13. class icinga2::server::config inherits icinga2::server {
  14. include icinga2::params
  15. #Directory resource for /etc/icinga2/:
  16. file { '/etc/icinga2/':
  17. ensure => directory,
  18. path => '/etc/icinga2/',
  19. owner => $etc_icinga2_owner,
  20. group => $etc_icinga2_group,
  21. mode => $etc_icinga2_mode,
  22. #require => Package[$icinga2::params::icinga2_server_packages],
  23. }
  24. #File resource for /etc/icinga2/icinga2.conf:
  25. file { '/etc/icinga2/icinga2.conf':
  26. ensure => file,
  27. path => '/etc/icinga2/icinga2.conf',
  28. owner => $etc_icinga2_icinga2_conf_owner,
  29. group => $etc_icinga2_icinga2_conf_group,
  30. mode => $etc_icinga2_icinga2_conf_mode,
  31. content => template('icinga2/icinga2.conf.erb'),
  32. }
  33. #Directory resource for /etc/icinga2/conf.d/:
  34. file { '/etc/icinga2/conf.d/':
  35. ensure => directory,
  36. path => '/etc/icinga2/conf.d/',
  37. owner => $etc_icinga2_confd_owner,
  38. group => $etc_icinga2_confd_group,
  39. mode => $etc_icinga2_confd_mode,
  40. }
  41. #Directory resource for /etc/icinga2/features-available/:
  42. file { '/etc/icinga2/features-available/':
  43. ensure => directory,
  44. path => '/etc/icinga2/features-available/',
  45. owner => $etc_icinga2_features_available_owner,
  46. group => $etc_icinga2_features_available_group,
  47. mode => $etc_icinga2_features_available_mode,
  48. }
  49. #Directory resource for /etc/icinga2/features-enabled/:
  50. file { '/etc/icinga2/features-enabled/':
  51. ensure => directory,
  52. path => '/etc/icinga2/features-enabled/',
  53. owner => $etc_icinga2_features_enabled_owner,
  54. group => $etc_icinga2_features_enabled_group,
  55. mode => $etc_icinga2_features_enabled_mode,
  56. }
  57. #Directory resource for /etc/icinga2/pki/:
  58. file { '/etc/icinga2/pki/':
  59. ensure => directory,
  60. path => '/etc/icinga2/pki/',
  61. owner => $etc_icinga2_pki_owner,
  62. group => $etc_icinga2_pki_group,
  63. mode => $etc_icinga2_pki_mode,
  64. }
  65. #Directory resource for /etc/icinga2/scripts/:
  66. file { '/etc/icinga2/scripts/':
  67. ensure => directory,
  68. path => '/etc/icinga2/scripts/',
  69. owner => $etc_icinga2_scripts_owner,
  70. group => $etc_icinga2_scripts_group,
  71. mode => $etc_icinga2_scripts_mode,
  72. }
  73. #Directory resource for /etc/icinga2/zones.d/:
  74. file { '/etc/icinga2/zones.d/':
  75. ensure => directory,
  76. path => '/etc/icinga2/zones.d/',
  77. owner => $etc_icinga2_zonesd_owner,
  78. group => $etc_icinga2_zonesd_group,
  79. mode => $etc_icinga2_zonesd_mode,
  80. }
  81. #File and directory resources for the object directories that can be used to hold different
  82. #types of configuration objects
  83. #Directory resource for /etc/icinga2/objects/:
  84. file { '/etc/icinga2/objects/':
  85. ensure => directory,
  86. path => '/etc/icinga2/objects/',
  87. owner => $etc_icinga2_obejcts_owner,
  88. group => $etc_icinga2_obejcts_group,
  89. mode => $etc_icinga2_obejcts_mode,
  90. }
  91. #Directory resource for /etc/icinga2/objects/hosts/:
  92. file { '/etc/icinga2/objects/hosts/':
  93. ensure => directory,
  94. path => '/etc/icinga2/objects/hosts/',
  95. owner => $etc_icinga2_obejcts_sub_dir_owner,
  96. group => $etc_icinga2_obejcts_sub_dir_group,
  97. mode => $etc_icinga2_obejcts_sub_dir_mode,
  98. }
  99. #Directory resource for /etc/icinga2/objects/hostgroups/:
  100. file { '/etc/icinga2/objects/hostgroups/':
  101. ensure => directory,
  102. path => '/etc/icinga2/objects/hostgroups/',
  103. owner => $etc_icinga2_obejcts_sub_dir_owner,
  104. group => $etc_icinga2_obejcts_sub_dir_group,
  105. mode => $etc_icinga2_obejcts_sub_dir_mode,
  106. }
  107. #Directory resource for /etc/icinga2/objects/services/:
  108. file { '/etc/icinga2/objects/services/':
  109. ensure => directory,
  110. path => '/etc/icinga2/objects/services/',
  111. owner => $etc_icinga2_obejcts_sub_dir_owner,
  112. group => $etc_icinga2_obejcts_sub_dir_group,
  113. mode => $etc_icinga2_obejcts_sub_dir_mode,
  114. }
  115. #Directory resource for /etc/icinga2/objects/servicegroups/:
  116. file { '/etc/icinga2/objects/servicegroups/':
  117. ensure => directory,
  118. path => '/etc/icinga2/objects/servicegroups/',
  119. owner => $etc_icinga2_obejcts_sub_dir_owner,
  120. group => $etc_icinga2_obejcts_sub_dir_group,
  121. mode => $etc_icinga2_obejcts_sub_dir_mode,
  122. }
  123. #Directory resource for /etc/icinga2/objects/users/:
  124. file { '/etc/icinga2/objects/users/':
  125. ensure => directory,
  126. path => '/etc/icinga2/objects/users/',
  127. owner => $etc_icinga2_obejcts_sub_dir_owner,
  128. group => $etc_icinga2_obejcts_sub_dir_group,
  129. mode => $etc_icinga2_obejcts_sub_dir_mode,
  130. }
  131. #Directory resource for /etc/icinga2/objects/usergroups/:
  132. file { '/etc/icinga2/objects/usergroups/':
  133. ensure => directory,
  134. path => '/etc/icinga2/objects/usergroups/',
  135. owner => $etc_icinga2_obejcts_sub_dir_owner,
  136. group => $etc_icinga2_obejcts_sub_dir_group,
  137. mode => $etc_icinga2_obejcts_sub_dir_mode,
  138. }
  139. #Directory resource for /etc/icinga2/objects/checkcommands/:
  140. file { '/etc/icinga2/objects/checkcommands/':
  141. ensure => directory,
  142. path => '/etc/icinga2/objects/checkcommands/',
  143. owner => $etc_icinga2_obejcts_sub_dir_owner,
  144. group => $etc_icinga2_obejcts_sub_dir_group,
  145. mode => $etc_icinga2_obejcts_sub_dir_mode,
  146. }
  147. #Directory resource for /etc/icinga2/objects/notificationcommands/:
  148. file { '/etc/icinga2/objects/notificationcommands/':
  149. ensure => directory,
  150. path => '/etc/icinga2/objects/notificationcommands/',
  151. owner => $etc_icinga2_obejcts_sub_dir_owner,
  152. group => $etc_icinga2_obejcts_sub_dir_group,
  153. mode => $etc_icinga2_obejcts_sub_dir_mode,
  154. }
  155. #Directory resource for /etc/icinga2/objects/eventcommands/:
  156. file { '/etc/icinga2/objects/eventcommands/':
  157. ensure => directory,
  158. path => '/etc/icinga2/objects/eventcommands/',
  159. owner => $etc_icinga2_obejcts_sub_dir_owner,
  160. group => $etc_icinga2_obejcts_sub_dir_group,
  161. mode => $etc_icinga2_obejcts_sub_dir_mode,
  162. }
  163. #Directory resource for /etc/icinga2/objects/notifications/:
  164. file { '/etc/icinga2/objects/notifications/':
  165. ensure => directory,
  166. path => '/etc/icinga2/objects/notifications/',
  167. owner => $etc_icinga2_obejcts_sub_dir_owner,
  168. group => $etc_icinga2_obejcts_sub_dir_group,
  169. mode => $etc_icinga2_obejcts_sub_dir_mode,
  170. }
  171. #Directory resource for /etc/icinga2/objects/timeperiods/:
  172. file { '/etc/icinga2/objects/timeperiods/':
  173. ensure => directory,
  174. path => '/etc/icinga2/objects/timeperiods/',
  175. owner => $etc_icinga2_obejcts_sub_dir_owner,
  176. group => $etc_icinga2_obejcts_sub_dir_group,
  177. mode => $etc_icinga2_obejcts_sub_dir_mode,
  178. }
  179. #Directory resource for /etc/icinga2/objects/scheduleddowntimes/:
  180. file { '/etc/icinga2/objects/scheduleddowntimes/':
  181. ensure => directory,
  182. path => '/etc/icinga2/objects/scheduleddowntimes/',
  183. owner => $etc_icinga2_obejcts_sub_dir_owner,
  184. group => $etc_icinga2_obejcts_sub_dir_group,
  185. mode => $etc_icinga2_obejcts_sub_dir_mode,
  186. }
  187. #Directory resource for /etc/icinga2/objects/dependencies/:
  188. file { '/etc/icinga2/objects/dependencies/':
  189. ensure => directory,
  190. path => '/etc/icinga2/objects/dependencies/',
  191. owner => $etc_icinga2_obejcts_sub_dir_owner,
  192. group => $etc_icinga2_obejcts_sub_dir_group,
  193. mode => $etc_icinga2_obejcts_sub_dir_mode,
  194. }
  195. #Directory resource for /etc/icinga2/objects/perfdatawriters/:
  196. file { '/etc/icinga2/objects/perfdatawriters/':
  197. ensure => directory,
  198. path => '/etc/icinga2/objects/perfdatawriters/',
  199. owner => $etc_icinga2_obejcts_sub_dir_owner,
  200. group => $etc_icinga2_obejcts_sub_dir_group,
  201. mode => $etc_icinga2_obejcts_sub_dir_mode,
  202. }
  203. #Directory resource for /etc/icinga2/objects/graphitewriters/:
  204. file { '/etc/icinga2/objects/graphitewriters/':
  205. ensure => directory,
  206. path => '/etc/icinga2/objects/graphitewriters/',
  207. owner => $etc_icinga2_obejcts_sub_dir_owner,
  208. group => $etc_icinga2_obejcts_sub_dir_group,
  209. mode => $etc_icinga2_obejcts_sub_dir_mode,
  210. }
  211. #Directory resource for /etc/icinga2/objects/idomysqlconnections/:
  212. file { '/etc/icinga2/objects/idomysqlconnections/':
  213. ensure => directory,
  214. path => '/etc/icinga2/objects/idomysqlconnections/',
  215. owner => $etc_icinga2_obejcts_sub_dir_owner,
  216. group => $etc_icinga2_obejcts_sub_dir_group,
  217. mode => $etc_icinga2_obejcts_sub_dir_mode,
  218. }
  219. #Directory resource for /etc/icinga2/objects/idopgsqlconnections/:
  220. file { '/etc/icinga2/objects/idopgsqlconnections/':
  221. ensure => directory,
  222. path => '/etc/icinga2/objects/idopgsqlconnections/',
  223. owner => $etc_icinga2_obejcts_sub_dir_owner,
  224. group => $etc_icinga2_obejcts_sub_dir_group,
  225. mode => $etc_icinga2_obejcts_sub_dir_mode,
  226. }
  227. #Directory resource for /etc/icinga2/objects/livestatuslisteners/:
  228. file { '/etc/icinga2/objects/livestatuslisteners/':
  229. ensure => directory,
  230. path => '/etc/icinga2/objects/livestatuslisteners/',
  231. owner => $etc_icinga2_obejcts_sub_dir_owner,
  232. group => $etc_icinga2_obejcts_sub_dir_group,
  233. mode => $etc_icinga2_obejcts_sub_dir_mode,
  234. }
  235. #Directory resource for /etc/icinga2/objects/statusdatawriters/:
  236. file { '/etc/icinga2/objects/statusdatawriters/':
  237. ensure => directory,
  238. path => '/etc/icinga2/objects/statusdatawriters/',
  239. owner => $etc_icinga2_obejcts_sub_dir_owner,
  240. group => $etc_icinga2_obejcts_sub_dir_group,
  241. mode => $etc_icinga2_obejcts_sub_dir_mode,
  242. }
  243. #Directory resource for /etc/icinga2/objects/externalcommandlisteners/:
  244. file { '/etc/icinga2/objects/externalcommandlisteners/':
  245. ensure => directory,
  246. path => '/etc/icinga2/objects/externalcommandlisteners/',
  247. owner => $etc_icinga2_obejcts_sub_dir_owner,
  248. group => $etc_icinga2_obejcts_sub_dir_group,
  249. mode => $etc_icinga2_obejcts_sub_dir_mode,
  250. }
  251. #Directory resource for /etc/icinga2/objects/compatloggers/:
  252. file { '/etc/icinga2/objects/compatloggers/':
  253. ensure => directory,
  254. path => '/etc/icinga2/objects/compatloggers/',
  255. owner => $etc_icinga2_obejcts_sub_dir_owner,
  256. group => $etc_icinga2_obejcts_sub_dir_group,
  257. mode => $etc_icinga2_obejcts_sub_dir_mode,
  258. }
  259. #Directory resource for /etc/icinga2/objects/checkresultreaders/:
  260. file { '/etc/icinga2/objects/checkresultreaders/':
  261. ensure => directory,
  262. path => '/etc/icinga2/objects/checkresultreaders/',
  263. owner => $etc_icinga2_obejcts_sub_dir_owner,
  264. group => $etc_icinga2_obejcts_sub_dir_group,
  265. mode => $etc_icinga2_obejcts_sub_dir_mode,
  266. }
  267. #Directory resource for /etc/icinga2/objects/checkercomponents/:
  268. file { '/etc/icinga2/objects/checkercomponents/':
  269. ensure => directory,
  270. path => '/etc/icinga2/objects/checkercomponents/',
  271. owner => $etc_icinga2_obejcts_sub_dir_owner,
  272. group => $etc_icinga2_obejcts_sub_dir_group,
  273. mode => $etc_icinga2_obejcts_sub_dir_mode,
  274. }
  275. #Directory resource for /etc/icinga2/objects/notificationcomponents/:
  276. file { '/etc/icinga2/objects/notificationcomponents/':
  277. ensure => directory,
  278. path => '/etc/icinga2/objects/notificationcomponents/',
  279. owner => $etc_icinga2_obejcts_sub_dir_owner,
  280. group => $etc_icinga2_obejcts_sub_dir_group,
  281. mode => $etc_icinga2_obejcts_sub_dir_mode,
  282. }
  283. #Directory resource for /etc/icinga2/objects/fileloggers/:
  284. file { '/etc/icinga2/objects/fileloggers/':
  285. ensure => directory,
  286. path => '/etc/icinga2/objects/fileloggers/',
  287. owner => $etc_icinga2_obejcts_sub_dir_owner,
  288. group => $etc_icinga2_obejcts_sub_dir_group,
  289. mode => $etc_icinga2_obejcts_sub_dir_mode,
  290. }
  291. #Directory resource for /etc/icinga2/objects/syslogloggers/:
  292. file { '/etc/icinga2/objects/syslogloggers/':
  293. ensure => directory,
  294. path => '/etc/icinga2/objects/syslogloggers/',
  295. owner => $etc_icinga2_obejcts_sub_dir_owner,
  296. group => $etc_icinga2_obejcts_sub_dir_group,
  297. mode => $etc_icinga2_obejcts_sub_dir_mode,
  298. }
  299. #Directory resource for /etc/icinga2/objects/icingastatuswriters/:
  300. file { '/etc/icinga2/objects/icingastatuswriters/':
  301. ensure => directory,
  302. path => '/etc/icinga2/objects/icingastatuswriters/',
  303. owner => $etc_icinga2_obejcts_sub_dir_owner,
  304. group => $etc_icinga2_obejcts_sub_dir_group,
  305. mode => $etc_icinga2_obejcts_sub_dir_mode,
  306. }
  307. #Directory resource for /etc/icinga2/objects/apilisteners/:
  308. file { '/etc/icinga2/objects/apilisteners/':
  309. ensure => directory,
  310. path => '/etc/icinga2/objects/apilisteners/',
  311. owner => $etc_icinga2_obejcts_sub_dir_owner,
  312. group => $etc_icinga2_obejcts_sub_dir_group,
  313. mode => $etc_icinga2_obejcts_sub_dir_mode,
  314. }
  315. #Directory resource for /etc/icinga2/objects/endpoints/:
  316. file { '/etc/icinga2/objects/endpoints/':
  317. ensure => directory,
  318. path => '/etc/icinga2/objects/endpoints/',
  319. owner => $etc_icinga2_obejcts_sub_dir_owner,
  320. group => $etc_icinga2_obejcts_sub_dir_group,
  321. mode => $etc_icinga2_obejcts_sub_dir_mode,
  322. }
  323. #Directory resource for /etc/icinga2/objects/zones/:
  324. file { '/etc/icinga2/objects/zones/':
  325. ensure => directory,
  326. path => '/etc/icinga2/objects/zones/',
  327. owner => $etc_icinga2_obejcts_sub_dir_owner,
  328. group => $etc_icinga2_obejcts_sub_dir_group,
  329. mode => $etc_icinga2_obejcts_sub_dir_mode,
  330. }
  331. #Directory resource for /etc/icinga2/objects/applys/
  332. #The files in this folder will be objects like
  333. #'apply something blah to Host...'
  334. #See the following link for more info:
  335. # http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc#!/icinga2/latest/doc/module/icinga2/chapter/configuring-icinga2#apply
  336. file { '/etc/icinga2/objects/applys/':
  337. ensure => directory,
  338. path => '/etc/icinga2/objects/applys/',
  339. owner => $etc_icinga2_obejcts_sub_dir_owner,
  340. group => $etc_icinga2_obejcts_sub_dir_group,
  341. mode => $etc_icinga2_obejcts_sub_dir_mode,
  342. }
  343. #Directory resource for /etc/icinga2/objects/templates/:
  344. file { '/etc/icinga2/objects/templates/':
  345. ensure => directory,
  346. path => '/etc/icinga2/objects/templates/',
  347. owner => $etc_icinga2_obejcts_sub_dir_owner,
  348. group => $etc_icinga2_obejcts_sub_dir_group,
  349. mode => $etc_icinga2_obejcts_sub_dir_mode,
  350. }
  351. #Directory resource for /etc/icinga2/objects/constants/:
  352. file { '/etc/icinga2/objects/constants/':
  353. ensure => directory,
  354. path => '/etc/icinga2/objects/constants/',
  355. owner => $etc_icinga2_obejcts_sub_dir_owner,
  356. group => $etc_icinga2_obejcts_sub_dir_group,
  357. mode => $etc_icinga2_obejcts_sub_dir_mode,
  358. }
  359. }