System configuration for OpenStack Infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

572 lines
19 KiB

  1. # == Class: openstack_project::lists
  2. #
  3. class openstack_project::lists(
  4. $listpassword = ''
  5. ) {
  6. class { 'mailman':
  7. multihost => true,
  8. }
  9. file { '/var/www/robots.txt':
  10. ensure => present,
  11. source => 'puppet:///modules/openstack_project/mailman/robots.txt',
  12. owner => 'root',
  13. group => 'root',
  14. replace => true,
  15. mode => '0444',
  16. }
  17. file { '/usr/local/sbin/mk-archives-index':
  18. ensure => present,
  19. source => 'puppet:///modules/openstack_project/mailman/mk-archives-index',
  20. owner => 'root',
  21. group => 'root',
  22. replace => true,
  23. mode => '0744',
  24. }
  25. cron { 'mk-archives-index':
  26. user => root,
  27. hour => '0',
  28. minute => '0',
  29. command => 'mk-archives-index > /var/www/archives.yaml',
  30. environment => 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin',
  31. require => File['/usr/local/sbin/mk-archives-index',
  32. ],
  33. }
  34. # Disable inactive admins
  35. user::virtual::disable { 'oubiwann': }
  36. user::virtual::disable { 'rockstar': }
  37. include bup
  38. bup::site { 'ord.rax':
  39. backup_user => 'bup-lists',
  40. backup_server => 'backup01.ord.rax.ci.openstack.org',
  41. }
  42. # Begin user servicable parts
  43. mailman::site { 'openstack':
  44. default_email_host => 'lists.openstack.org',
  45. default_url_host => 'lists.openstack.org',
  46. # en has customized templates, don't install it here
  47. install_languages => ['de', 'fr', 'it', 'ko', 'ru', 'vi', 'zh_TW'],
  48. }
  49. file { '/srv/mailman/openstack/templates/en':
  50. ensure => directory,
  51. owner => 'root',
  52. group => 'list',
  53. mode => '0644',
  54. recurse => true,
  55. require => File['/srv/mailman/openstack/templates'],
  56. source => 'puppet:///modules/openstack_project/mailman/html-templates-en',
  57. }
  58. mailman::site { 'zuul':
  59. default_email_host => 'lists.zuul-ci.org',
  60. default_url_host => 'lists.zuul-ci.org',
  61. }
  62. mailman::site { 'airship':
  63. default_email_host => 'lists.airshipit.org',
  64. default_url_host => 'lists.airshipit.org',
  65. }
  66. mailman::site { 'starlingx':
  67. default_email_host => 'lists.starlingx.io',
  68. default_url_host => 'lists.starlingx.io',
  69. }
  70. mailman::site { 'opendev':
  71. default_email_host => 'lists.opendev.org',
  72. default_url_host => 'lists.opendev.org',
  73. }
  74. # Add new mailing lists below this line
  75. mailman_list { 'mailman@openstack':
  76. require => Mailman::Site['openstack'],
  77. ensure => present,
  78. admin => 'nobody@openstack.org',
  79. password => $listpassword,
  80. description => 'The mailman site list',
  81. }
  82. mailman_list { 'openstack-es@openstack':
  83. require => Mailman::Site['openstack'],
  84. ensure => present,
  85. admin => 'flavio@redhat.com',
  86. password => $listpassword,
  87. description => 'Lista de correo acerca de OpenStack en español',
  88. }
  89. mailman_list { 'openstack-fr@openstack':
  90. require => Mailman::Site['openstack'],
  91. ensure => present,
  92. admin => 'erwan@erwan.com',
  93. password => $listpassword,
  94. description => 'List of the OpenStack french user group',
  95. }
  96. mailman_list { 'openstack-de@openstack':
  97. require => Mailman::Site['openstack'],
  98. ensure => present,
  99. admin => 'christian@berendt.io',
  100. password => $listpassword,
  101. description => 'List for German-speaking OpenStack users',
  102. }
  103. mailman_list { 'openstack-i18n@openstack':
  104. require => Mailman::Site['openstack'],
  105. ensure => present,
  106. admin => 'guoyingc@cn.ibm.com',
  107. password => $listpassword,
  108. description => 'List of the OpenStack Internationalization team.',
  109. }
  110. mailman_list { 'openstack-i18n-de@openstack':
  111. require => Mailman::Site['openstack'],
  112. ensure => present,
  113. admin => 'robert.simai@suse.com',
  114. password => $listpassword,
  115. description => 'List of the German OpenStack Internationalization team.',
  116. }
  117. mailman_list { 'openstack-ir@openstack':
  118. require => Mailman::Site['openstack'],
  119. ensure => present,
  120. admin => 'Roozbeh.Shafiee@Gmail.Com',
  121. password => $listpassword,
  122. description => 'OpenStack IRAN Community Discussions in Persian/Farsi',
  123. }
  124. mailman_list { 'openstack-it@openstack':
  125. require => Mailman::Site['openstack'],
  126. ensure => present,
  127. admin => 'stefano@openstack.org',
  128. password => $listpassword,
  129. description => 'Discussioni su OpenStack in italiano',
  130. }
  131. mailman_list { 'openstack-el@openstack':
  132. require => Mailman::Site['openstack'],
  133. ensure => present,
  134. admin => 'aparathyras@stackmasters.eu',
  135. password => $listpassword,
  136. description => 'List of the OpenStack Greek User Group',
  137. }
  138. mailman_list { 'openstack-travel-committee@openstack':
  139. require => Mailman::Site['openstack'],
  140. ensure => present,
  141. admin => 'communitymngr@openstack.org',
  142. password => $listpassword,
  143. description => 'Private discussions for the OpenStack Travel Program Committee for Hong Kong Summit 2013.',
  144. }
  145. mailman_list { 'openstack-personas@openstack':
  146. require => Mailman::Site['openstack'],
  147. ensure => present,
  148. admin => 'pieter.c.kruithof-jr@hp.com',
  149. password => $listpassword,
  150. description => 'A group of designers, researchers, developers, writers and users that are creating a set of personas for OpenStack that are intended to help drive development around the needs of our users.',
  151. }
  152. mailman_list { 'openstack-vi@openstack':
  153. require => Mailman::Site['openstack'],
  154. ensure => present,
  155. admin => 'hang.tran@dtt.vn',
  156. password => $listpassword,
  157. description => 'Discussions in Vietnamese - please add Vietnamese translation here',
  158. }
  159. mailman_list { 'openstack-tw@openstack':
  160. require => Mailman::Site['openstack'],
  161. ensure => present,
  162. admin => 'macjacktw@hotmail.com',
  163. password => $listpassword,
  164. description => 'OpenStack Taiwan User Group 臺灣使用者郵件群組)',
  165. }
  166. mailman_list { 'openstack-ko@openstack':
  167. require => Mailman::Site['openstack'],
  168. ensure => present,
  169. admin => 'ianyrchoi@gmail.com',
  170. password => $listpassword,
  171. description => 'OpenStack Korea Community Discussions in Korean (오픈스택 한국 커뮤니티 메일링리스트)',
  172. }
  173. mailman_list { 'openstack-ru@openstack':
  174. require => Mailman::Site['openstack'],
  175. ensure => present,
  176. admin => 'ilyaalekseyev@acm.org',
  177. password => $listpassword,
  178. description => 'Рассылка для обсуждения OpenStack на русском',
  179. }
  180. mailman_list { 'openstack-zh@openstack':
  181. require => Mailman::Site['openstack'],
  182. ensure => present,
  183. admin => 'yeluaiesec@gmail.com',
  184. password => $listpassword,
  185. description => 'OpenStack社区中文讨论群组',
  186. }
  187. mailman_list { 'nov-2013-track-chairs@openstack':
  188. require => Mailman::Site['openstack'],
  189. ensure => present,
  190. admin => 'claire@openstack.org',
  191. password => $listpassword,
  192. description => 'Coordination of tracks at OpenStack Summit April 2013',
  193. }
  194. mailman_list { 'openstack-track-chairs@openstack':
  195. require => Mailman::Site['openstack'],
  196. ensure => present,
  197. admin => 'claire@openstack.org',
  198. password => $listpassword,
  199. description => 'Coordination of tracks at OpenStack Summits',
  200. }
  201. mailman_list { 'summitsponsors@openstack':
  202. require => Mailman::Site['openstack'],
  203. ensure => present,
  204. admin => 'claire@openstack.org',
  205. password => $listpassword,
  206. description => 'Coordination among OpenStack Summit event sponsors',
  207. }
  208. mailman_list { 'openstack-sos@openstack':
  209. require => Mailman::Site['openstack'],
  210. ensure => present,
  211. admin => 'dms@danplanet.com',
  212. password => $listpassword,
  213. description => 'Coordination of activities for Significant Others at Summits',
  214. }
  215. mailman_list { 'defcore-committee@openstack':
  216. require => Mailman::Site['openstack'],
  217. ensure => present,
  218. admin => 'josh@openstack.org',
  219. password => $listpassword,
  220. description => 'Discussions of the OpenStack Foundation Core Definition Committee',
  221. }
  222. mailman_list { 'ambassadors@openstack':
  223. require => Mailman::Site['openstack'],
  224. ensure => present,
  225. admin => 'tom@openstack.org',
  226. password => $listpassword,
  227. description => 'Private discussions between OpenStack Ambassadors',
  228. }
  229. mailman_list { 'superuser@openstack':
  230. require => Mailman::Site['openstack'],
  231. ensure => present,
  232. admin => 'lauren@openstack.org',
  233. password => $listpassword,
  234. description => 'Discussions for Superuser editorial advisors to collaborate, and for readers to be able to contact the editorial team to make suggestions, provide feedback',
  235. }
  236. mailman_list { 'admin-cert-wg@openstack':
  237. require => Mailman::Site['openstack'],
  238. ensure => present,
  239. admin => 'heidi@openstack.org',
  240. password => $listpassword,
  241. description => 'Collaboration workspace for members of the Certified OpenStack Administrator Working Group of the User Commitee/Board.',
  242. }
  243. mailman_list { 'openstack-api-consumers@openstack':
  244. require => Mailman::Site['openstack'],
  245. ensure => present,
  246. admin => 'mordred@inaugust.com',
  247. password => $listpassword,
  248. description => 'Discussions around consuming the OpenStack REST APIs and development of API-consuming SDKs and frameworks',
  249. }
  250. mailman_list { 'enterprise-wg@openstack':
  251. require => Mailman::Site['openstack'],
  252. ensure => present,
  253. admin => 'carol.l.barrett@intel.com',
  254. password => $listpassword,
  255. description => 'Collaboration workspace for members of the Win The Enterprise Working Group of the User Commitee/Board.',
  256. }
  257. mailman_list { 'product-wg@openstack':
  258. require => Mailman::Site['openstack'],
  259. ensure => present,
  260. admin => 'stefano@openstack.org',
  261. password => $listpassword,
  262. description => 'Collaboration workspace for OpenStack-related Product Managers working group.',
  263. }
  264. mailman_list { 'tax-affairs@openstack':
  265. require => Mailman::Site['openstack'],
  266. ensure => present,
  267. admin => 'seanroberts66@gmail.com',
  268. password => $listpassword,
  269. description => 'board committee focused on tax issues.',
  270. }
  271. mailman_list { 'third-party-announce@openstack':
  272. require => Mailman::Site['openstack'],
  273. ensure => present,
  274. admin => 'anteaya@anteaya.info',
  275. password => $listpassword,
  276. description => 'Announcements for third party CI operators.',
  277. }
  278. mailman_list { 'foundation-testing-standards@openstack':
  279. require => Mailman::Site['openstack'],
  280. ensure => present,
  281. admin => 'seanroberts66@gmail.com',
  282. password => $listpassword,
  283. description => 'OpenStack Foundation test standards (for humans, not
  284. drivers) working group list.',
  285. }
  286. mailman_list { 'analyst-relations@openstack':
  287. require => Mailman::Site['openstack'],
  288. ensure => present,
  289. admin => 'lauren@openstack.org',
  290. password => $listpassword,
  291. description => 'Coordination of Analyst Relations Working Group.',
  292. }
  293. mailman_list { 'app-catalog-admin@openstack':
  294. require => Mailman::Site['openstack'],
  295. ensure => present,
  296. admin => 'doc@aedo.net',
  297. password => $listpassword,
  298. description => 'Coordinate admin details for OpenStack Community App Catalog.',
  299. }
  300. mailman_list { 'openstack-i18n-fr@openstack':
  301. require => Mailman::Site['openstack'],
  302. ensure => present,
  303. admin => 'jftalta@gmail.com',
  304. password => $listpassword,
  305. description => 'List of the OpenStack Internationalization team, french local group.',
  306. }
  307. mailman_list { 'release-job-failures@openstack':
  308. require => Mailman::Site['openstack'],
  309. ensure => present,
  310. admin => 'doug@doughellmann.com',
  311. password => $listpassword,
  312. description => 'Notification messages for failures from release-related build jobs.',
  313. }
  314. mailman_list { 'embargo-notice@openstack':
  315. require => Mailman::Site['openstack'],
  316. ensure => present,
  317. admin => 'jeremy@openstack.org',
  318. password => $listpassword,
  319. description => 'Announcements to stakeholders for embargoed security vulnerabilities.',
  320. }
  321. mailman_list { 'release-announce@openstack':
  322. require => Mailman::Site['openstack'],
  323. ensure => present,
  324. admin => 'thierry@openstack.org',
  325. password => $listpassword,
  326. description => 'Announcement of official OpenStack releases.',
  327. }
  328. mailman_list { 'edge-computing@openstack':
  329. require => Mailman::Site['openstack'],
  330. ensure => present,
  331. admin => 'claire@openstack.org',
  332. password => $listpassword,
  333. description => 'Organizing efforts around the edge-computing focus area.',
  334. }
  335. mailman_list { 'openstack-mentoring@openstack':
  336. require => Mailman::Site['openstack'],
  337. ensure => present,
  338. admin => 'amy@demarco.com',
  339. password => $listpassword,
  340. description => 'List to coordinate interactions between mentors and mentees of the OpenStack mentoring program. Also for questions about the mentoring program (i.e. how to get involved, how it works, etc.',
  341. }
  342. mailman_list { 'mailman@zuul':
  343. require => Mailman::Site['zuul'],
  344. ensure => present,
  345. admin => 'nobody@openstack.org',
  346. password => $listpassword,
  347. description => 'The mailman site list',
  348. }
  349. mailman_list { 'zuul-announce@zuul':
  350. require => Mailman::Site['zuul'],
  351. ensure => present,
  352. admin => 'corvus@inaugust.com',
  353. password => $listpassword,
  354. description => 'Announcements of Zuul releases and other important information.',
  355. }
  356. mailman_list { 'zuul-discuss@zuul':
  357. require => Mailman::Site['zuul'],
  358. ensure => present,
  359. admin => 'corvus@inaugust.com',
  360. password => $listpassword,
  361. description => 'Discussion of Zuul usage and development.',
  362. }
  363. mailman_list { 'zuul-jobs-failures@zuul':
  364. require => Mailman::Site['zuul'],
  365. ensure => present,
  366. admin => 'ssbarnea@redhat.com',
  367. password => $listpassword,
  368. description => 'Gets notifications about zuul-jobs periodic job failures.',
  369. }
  370. mailman_list { 'mailman@airship':
  371. require => Mailman::Site['airship'],
  372. ensure => present,
  373. admin => 'nobody@openstack.org',
  374. password => $listpassword,
  375. description => 'The mailman site list',
  376. }
  377. mailman_list { 'airship-announce@airship':
  378. require => Mailman::Site['airship'],
  379. ensure => present,
  380. admin => 'jonathan@openstack.org',
  381. password => $listpassword,
  382. description => 'Announcements of Airship releases and other important information.',
  383. }
  384. mailman_list { 'airship-discuss@airship':
  385. require => Mailman::Site['airship'],
  386. ensure => present,
  387. admin => 'jonathan@openstack.org',
  388. password => $listpassword,
  389. description => 'Discussion of Airship usage and development.',
  390. }
  391. mailman_list { 'airship-job-failures@airship':
  392. require => Mailman::Site['airship'],
  393. ensure => present,
  394. admin => 'roman.gorshunov@att.com',
  395. password => $listpassword,
  396. description => 'Notification messages for failures from CICD jobs.',
  397. }
  398. mailman_list { 'airship-security@airship':
  399. require => Mailman::Site['airship'],
  400. ensure => present,
  401. admin => 'andrew.walters@att.com',
  402. password => $listpassword,
  403. description => 'Public Airship security advisories.',
  404. }
  405. mailman_list { 'airship-embargo-notice@airship':
  406. require => Mailman::Site['airship'],
  407. ensure => present,
  408. admin => 'andrew.walters@att.com',
  409. password => $listpassword,
  410. description => 'Embargoed security vulnerability announcements for Airship consumers.',
  411. }
  412. mailman_list { 'mailman@starlingx':
  413. require => Mailman::Site['starlingx'],
  414. ensure => present,
  415. admin => 'nobody@openstack.org',
  416. password => $listpassword,
  417. description => 'The mailman site list',
  418. }
  419. mailman_list { 'starlingx-announce@starlingx':
  420. require => Mailman::Site['starlingx'],
  421. ensure => present,
  422. admin => 'jonathan@openstack.org',
  423. password => $listpassword,
  424. description => 'Announcements of StarlingX releases and other important information.',
  425. }
  426. mailman_list { 'starlingx-discuss@starlingx':
  427. require => Mailman::Site['starlingx'],
  428. ensure => present,
  429. admin => 'jonathan@openstack.org',
  430. password => $listpassword,
  431. description => 'Discussion of StarlingX usage and development.',
  432. }
  433. mailman_list { 'openstack-discuss@openstack':
  434. require => Mailman::Site['openstack'],
  435. ensure => present,
  436. admin => 'fungi@yuggoth.org',
  437. password => $listpassword,
  438. description => 'Discussion of OpenStack usage and development.',
  439. }
  440. mailman_list { 'mailman@opendev':
  441. require => Mailman::Site['opendev'],
  442. ensure => present,
  443. admin => 'nobody@openstack.org',
  444. password => $listpassword,
  445. description => 'The mailman site list',
  446. }
  447. mailman_list { 'rust-vmm@opendev':
  448. require => Mailman::Site['opendev'],
  449. ensure => present,
  450. admin => 'claire@openstack.org',
  451. password => $listpassword,
  452. description => 'Collaborating on Rust-based virtual machine monitors.',
  453. }
  454. mailman_list { 'rustyk8s@opendev':
  455. require => Mailman::Site['opendev'],
  456. ensure => present,
  457. admin => 'allison@lohutok.net',
  458. password => $listpassword,
  459. description => 'Collaborating on Rust-based Kubernetes API.',
  460. }
  461. mailman_list { 'nbmp-discuss@opendev':
  462. require => Mailman::Site['opendev'],
  463. ensure => present,
  464. admin => 'ildiko@openstack.org',
  465. password => $listpassword,
  466. description => 'Collaborating on Network Based Media Processing related platform and infrastructure systems usage and development.',
  467. }
  468. mailman_list { 'service-announce@opendev':
  469. require => Mailman::Site['opendev'],
  470. ensure => present,
  471. admin => 'cboylan@sapwetik.org',
  472. password => $listpassword,
  473. description => 'Announcement list for OpenDev services.',
  474. }
  475. mailman_list { 'service-discuss@opendev':
  476. require => Mailman::Site['opendev'],
  477. ensure => present,
  478. admin => 'cboylan@sapwetik.org',
  479. password => $listpassword,
  480. description => 'Discussion list for OpenDev services.',
  481. }
  482. mailman_list { 'service-incident@opendev':
  483. require => Mailman::Site['opendev'],
  484. ensure => present,
  485. admin => 'cboylan@sapwetik.org',
  486. password => $listpassword,
  487. description => 'Private list for OpenDev incident coordination.',
  488. }
  489. mailman_list { 'openinfralabs@opendev':
  490. require => Mailman::Site['opendev'],
  491. ensure => present,
  492. admin => 'mnaser@vexxhost.com',
  493. password => $listpassword,
  494. description => 'Discussion of the OpenInfra Labs academic and research resource sharing effort',
  495. }
  496. }