metadata.rb 33 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042
  1. name 'dovecot'
  2. maintainer 'Onddo Labs, Sl.'
  3. maintainer_email 'team@onddo.com'
  4. license 'Apache 2.0'
  5. description 'Installs and configures dovecot.'
  6. long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
  7. version '0.1.0'
  8. supports 'centos', '>= 6.0'
  9. supports 'debian', '>= 7.0'
  10. supports 'ubuntu', '>= 12.04'
  11. attribute 'dovecot/user',
  12. :display_name => 'dovecot user',
  13. :description => 'Dovector system user. Should no be changed.',
  14. :type => 'string',
  15. :required => 'optional',
  16. :default => 'dovecot'
  17. attribute 'dovecot/group',
  18. :display_name => 'dovecot group',
  19. :description => 'Dovector system group. Should no be changed.',
  20. :type => 'string',
  21. :required => 'optional',
  22. :default => 'dovecot'
  23. attribute 'dovecot/lib_path',
  24. :display_name => 'dovecot library path',
  25. :description => 'Dovector library path. Should no be changed.',
  26. :calculated => true,
  27. :type => 'string',
  28. :required => 'optional'
  29. attribute 'dovecot/conf_path',
  30. :display_name => 'dovecot configuration path',
  31. :description => 'Dovector configruration files path. Should no be changed.',
  32. :type => 'string',
  33. :required => 'optional',
  34. :default => '/etc/dovecot'
  35. attribute 'dovecot/conf_files_user',
  36. :display_name => 'dovecot configuration files user',
  37. :description => 'System user owner of configuration files.',
  38. :type => 'string',
  39. :required => 'optional',
  40. :default => 'root'
  41. attribute 'dovecot/conf_files_group',
  42. :display_name => 'dovecot configuration files group',
  43. :description => 'System group owner of configuration files.',
  44. :type => 'string',
  45. :required => 'optional',
  46. :default => 'node["dovecot"]["group"]'
  47. attribute 'dovecot/conf_files_mode',
  48. :display_name => 'dovecot configuration files mode',
  49. :description => 'Configuration files system file mode bits.',
  50. :type => 'string',
  51. :required => 'optional',
  52. :default => '00644'
  53. attribute 'dovecot/conf_files/core',
  54. :display_name => 'dovecot core configuration files',
  55. :description => 'Dovecot core configuration files list.',
  56. :type => 'array',
  57. :required => 'optional',
  58. :default => [
  59. 'conf.d/10-auth.conf',
  60. 'conf.d/10-director.conf',
  61. 'conf.d/10-logging.conf',
  62. 'conf.d/10-mail.conf',
  63. 'conf.d/10-master.conf',
  64. 'conf.d/10-ssl.conf',
  65. 'conf.d/10-tcpwrapper.conf',
  66. 'conf.d/15-lda.conf',
  67. 'conf.d/15-mailboxes.conf',
  68. 'conf.d/90-acl.conf',
  69. 'conf.d/90-plugin.conf',
  70. 'conf.d/90-quota.conf',
  71. 'conf.d/auth-checkpassword.conf.ext',
  72. 'conf.d/auth-deny.conf.ext',
  73. 'conf.d/auth-master.conf.ext',
  74. 'conf.d/auth-passwdfile.conf.ext',
  75. 'conf.d/auth-sql.conf.ext',
  76. 'conf.d/auth-static.conf.ext',
  77. 'conf.d/auth-system.conf.ext',
  78. 'conf.d/auth-vpopmail.conf.ext',
  79. 'dovecot.conf',
  80. 'dovecot-db.conf.ext',
  81. 'dovecot-dict-sql.conf.ext',
  82. 'dovecot-sql.conf.ext',
  83. ]
  84. attribute 'dovecot/conf_files/imap',
  85. :display_name => 'dovecot imap configuration files',
  86. :description => 'Dovecot IMAP configuration files list.',
  87. :type => 'array',
  88. :required => 'optional',
  89. :default => [
  90. 'conf.d/20-imap.conf',
  91. ]
  92. attribute 'dovecot/conf_files/pop3',
  93. :display_name => 'dovecot pop3 configuration files',
  94. :description => 'Dovecot POP3 configuration files list.',
  95. :type => 'array',
  96. :required => 'optional',
  97. :default => [
  98. 'conf.d/20-pop3.conf',
  99. ]
  100. attribute 'dovecot/conf_files/lmtp',
  101. :display_name => 'dovecot lmtp configuration files',
  102. :description => 'Dovecot LMTP configuration files list.',
  103. :type => 'array',
  104. :required => 'optional',
  105. :default => [
  106. 'conf.d/20-lmtp.conf',
  107. ]
  108. attribute 'dovecot/conf_files/sieve',
  109. :display_name => 'dovecot sieve configuration files',
  110. :description => 'Dovecot Sieve configuration files list.',
  111. :type => 'array',
  112. :required => 'optional',
  113. :default => [
  114. 'conf.d/20-managesieve.conf',
  115. 'conf.d/90-sieve.conf',
  116. ]
  117. attribute 'dovecot/conf_files/ldap',
  118. :display_name => 'dovecot ldap configuration files',
  119. :description => 'Dovecot LDAP configuration files list.',
  120. :type => 'array',
  121. :required => 'optional',
  122. :default => [
  123. 'dovecot-ldap.conf.ext',
  124. 'conf.d/auth-ldap.conf.ext',
  125. ]
  126. attribute 'dovecot/auth',
  127. :display_name => 'dovecot auth',
  128. :description => 'Dovecot Authentication Databases as a hash of hashes. Supported authdbs: checkpassword, deny, ldap, master, passwdfile, sql, system and vpopmail.',
  129. :type => 'string',
  130. :required => 'optional',
  131. :default => '{}'
  132. attribute 'dovecot/namespaces',
  133. :display_name => 'dovecot namespaces',
  134. :description => 'Dovecot Namespaces as an array of hashes.',
  135. :type => 'array',
  136. :required => 'optional',
  137. :default => []
  138. attribute 'dovecot/plugins',
  139. :display_name => 'dovecot plugins',
  140. :description => 'Dovecot Plugins configuration as a hash of hashes. Supported plugins: mail_log, acl and quota.',
  141. :type => 'string',
  142. :required => 'optional',
  143. :default => '{
  144. "sieve" => {
  145. "sieve" => "~/.dovecot.sieve",
  146. "sieve_dir" => "~/sieve",
  147. }
  148. }'
  149. attribute 'dovecot/protocolos',
  150. :display_name => 'dovecot protocols',
  151. :description => 'Dovecot Protocols configuration as a hash of hashes. Supported protocols: lda, imap, lmtp, sieve and pop3.',
  152. :type => 'string',
  153. :required => 'optional',
  154. :default => '{}'
  155. attribute 'dovecot/services',
  156. :display_name => 'dovecot services',
  157. :description => 'Dovecot Services configuration as a hash of hashes. Supported services: director, imap-login, pop3-login, lmtp, imap, pop3, auth, auth-worker, dict, tcpwrap, managesieve-login and managesieve.',
  158. :type => 'string',
  159. :required => 'optional',
  160. :default => '{}'
  161. grouping 'dovecot/conf',
  162. :title => 'dovecot conf',
  163. :description => 'Dovecot configuration values'
  164. attribute 'dovecot/conf/mail_plugins',
  165. :display_name => 'dovecot mail plugins',
  166. :description => 'Dovecot default enabled mail_plugins.',
  167. :type => 'array',
  168. :required => 'optional',
  169. :default => []
  170. #
  171. # dovecot.conf
  172. #
  173. attribute 'dovecot/conf/listen',
  174. :display_name => 'listen',
  175. :description => 'A comma separated list of IPs or hosts where to listen in for connections.',
  176. :type => 'string',
  177. :required => 'optional',
  178. :default => 'nil'
  179. attribute 'dovecot/conf/base_dir',
  180. :display_name => 'dovecot base dir',
  181. :description => 'Base directory where to store runtime data.',
  182. :type => 'string',
  183. :required => 'optional',
  184. :default => 'nil'
  185. attribute 'dovecot/conf/instance_name',
  186. :display_name => 'instance name',
  187. :description => 'Name of this instance. Used to prefix all Dovecot processes in ps output.',
  188. :type => 'string',
  189. :required => 'optional',
  190. :default => 'nil'
  191. attribute 'dovecot/conf/login_greeting',
  192. :display_name => 'login greeting',
  193. :description => 'Greeting message for clients.',
  194. :type => 'string',
  195. :required => 'optional',
  196. :default => 'nil'
  197. attribute 'dovecot/conf/login_trusted_networks',
  198. :display_name => 'login trusted networks',
  199. :description => 'Space separated list of trusted network ranges.',
  200. :type => 'string',
  201. :required => 'optional',
  202. :default => 'nil'
  203. attribute 'dovecot/conf/login_access_sockets',
  204. :display_name => 'login access sockets',
  205. :description => 'Space separated list of login access check sockets.',
  206. :type => 'string',
  207. :required => 'optional',
  208. :default => 'nil'
  209. attribute 'dovecot/conf/verbose_proctitle',
  210. :display_name => 'verbose proctitle',
  211. :description => 'Show more verbose process titles (in ps).',
  212. :type => 'string',
  213. :required => 'optional',
  214. :default => 'nil'
  215. attribute 'dovecot/conf/shutdown_clients',
  216. :display_name => 'shutdown clients',
  217. :description => 'Should all processes be killed when Dovecot master process shuts down.',
  218. :type => 'string',
  219. :required => 'optional',
  220. :default => 'nil'
  221. attribute 'dovecot/conf/doveadm_worker_count',
  222. :display_name => 'doveadm worker count',
  223. :description => 'If non-zero, run mail commands via this many connections to doveadm server.',
  224. :type => 'string',
  225. :required => 'optional',
  226. :default => 'nil'
  227. attribute 'dovecot/conf/doveadm_socket_path',
  228. :display_name => 'doveadm socket path',
  229. :description => 'UNIX socket or host:port used for connecting to doveadm server.',
  230. :type => 'string',
  231. :required => 'optional',
  232. :default => 'nil'
  233. attribute 'dovecot/conf/import_environment',
  234. :display_name => 'import environment',
  235. :description => 'Space separated list of environment variables that are preserved on Dovecot startup and his childs.',
  236. :type => 'string',
  237. :required => 'optional',
  238. :default => 'nil'
  239. attribute 'dovecot/conf/dict',
  240. :display_name => 'dict',
  241. :description => 'Dictionary server settings as a hash.',
  242. :type => 'string',
  243. :required => 'optional',
  244. :default => 'nil'
  245. #
  246. # conf.d/10-auth.conf
  247. #
  248. attribute 'dovecot/conf/disable_plaintext_auth',
  249. :display_name => 'disable plaintext auth',
  250. :description => 'Disable LOGIN command and all other plaintext authentications unless SSL/TLS is used.',
  251. :type => 'string',
  252. :required => 'optional',
  253. :default => 'nil'
  254. attribute 'dovecot/conf/auth_cache_size',
  255. :display_name => 'auth cache size',
  256. :description => 'Authentication cache size (e.g. 10M). 0 means it\'s disabled.',
  257. :type => 'string',
  258. :required => 'optional',
  259. :default => 'nil'
  260. attribute 'dovecot/conf/auth_cache_ttl',
  261. :display_name => 'auth cache ttl',
  262. :description => 'Time to live for cached data.',
  263. :type => 'string',
  264. :required => 'optional',
  265. :default => 'nil'
  266. attribute 'dovecot/conf/auth_cache_negative_ttl',
  267. :display_name => 'auth cache negative ttl',
  268. :description => 'TTL for negative hits (user not found, password mismatch).',
  269. :type => 'string',
  270. :required => 'optional',
  271. :default => 'nil'
  272. attribute 'dovecot/conf/auth_realms',
  273. :display_name => 'disable plaintext auth',
  274. :description => 'Space separated list (or array) of realms for SASL authentication mechanisms that need them.',
  275. :type => 'string',
  276. :required => 'optional',
  277. :default => 'nil'
  278. attribute 'dovecot/conf/auth_default_realm',
  279. :display_name => 'auth default realm',
  280. :description => 'Default realm/domain to use if none was specified.',
  281. :type => 'string',
  282. :required => 'optional',
  283. :default => 'nil'
  284. attribute 'dovecot/conf/auth_username_chars',
  285. :display_name => 'auth username chars',
  286. :description => 'List of allowed characters in username.',
  287. :type => 'string',
  288. :required => 'optional',
  289. :default => 'nil'
  290. attribute 'dovecot/conf/auth_username_translation',
  291. :display_name => 'auth username translation',
  292. :description => 'Username character translations before it\'s looked up from databases.',
  293. :type => 'string',
  294. :required => 'optional',
  295. :default => 'nil'
  296. attribute 'dovecot/conf/auth_username_format',
  297. :display_name => 'auth username format',
  298. :description => 'Username formatting before it\'s looked up from databases.',
  299. :type => 'string',
  300. :required => 'optional',
  301. :default => 'nil'
  302. attribute 'dovecot/conf/auth_master_user_separator',
  303. :display_name => 'auth master user separator',
  304. :description => 'If you want to allow master users to log in by specifying the master username within the normal username string, you can specify the separator character here (format: <username><separator><master username>).',
  305. :type => 'string',
  306. :required => 'optional',
  307. :default => 'nil'
  308. attribute 'dovecot/conf/auth_anonymous_username',
  309. :display_name => 'auth anonymous username',
  310. :description => 'Username to use for users logging in with ANONYMOUS SASL mechanism.',
  311. :type => 'string',
  312. :required => 'optional',
  313. :default => 'nil'
  314. attribute 'dovecot/conf/auth_worker_max_count',
  315. :display_name => 'auth worker max count',
  316. :description => 'Maximum number of dovecot-auth worker processes.',
  317. :type => 'string',
  318. :required => 'optional',
  319. :default => 'nil'
  320. attribute 'dovecot/conf/auth_gssapi_hostname',
  321. :display_name => 'auth gssapi hostname',
  322. :description => 'Host name to use in GSSAPI principal names.',
  323. :type => 'string',
  324. :required => 'optional',
  325. :default => 'nil'
  326. attribute 'dovecot/conf/auth_krb5_keytab',
  327. :display_name => 'auth krb5 keytab',
  328. :description => 'Kerberos keytab to use for the GSSAPI mechanism.',
  329. :type => 'string',
  330. :required => 'optional',
  331. :default => 'nil'
  332. attribute 'dovecot/conf/auth_use_winbind',
  333. :display_name => 'auth use winbind',
  334. :description => 'Do NTLM and GSS-SPNEGO authentication using Samba\'s winbind daemon and ntlm_auth helper.',
  335. :type => 'string',
  336. :required => 'optional',
  337. :default => 'nil'
  338. attribute 'dovecot/conf/auth_winbind_helper_path',
  339. :display_name => 'auth winbind helper path',
  340. :description => 'Path for Samba\'s ntlm_auth helper binary.',
  341. :type => 'string',
  342. :required => 'optional',
  343. :default => 'nil'
  344. attribute 'dovecot/conf/auth_failure_delay',
  345. :display_name => 'auth failure delay',
  346. :description => 'Time to delay before replying to failed authentications.',
  347. :type => 'string',
  348. :required => 'optional',
  349. :default => 'nil'
  350. attribute 'dovecot/conf/auth_ssl_require_client_cert',
  351. :display_name => 'auth ssl require client cert',
  352. :description => 'Take the username from client\'s SSL certificate, using X509_NAME_get_text_by_NID() which returns the subject\'s DN\'s CommonName.',
  353. :type => 'string',
  354. :required => 'optional',
  355. :default => 'nil'
  356. attribute 'dovecot/conf/auth_mechanisms',
  357. :display_name => 'auth mechanisms',
  358. :description => 'Space separated list of wanted authentication mechanisms: plain, login, digest-md5, cram-md5, ntlm, rpa, apop, anonymous, gssapi, otp, skey, gss-spnego',
  359. :type => 'string',
  360. :required => 'optional',
  361. :default => 'plain'
  362. #
  363. # conf.d/10-director.conf
  364. #
  365. attribute 'dovecot/conf/director_servers',
  366. :display_name => 'director servers',
  367. :description => 'List of IPs or hostnames to all director servers, including ourself (as a string or as an array).',
  368. :type => 'string',
  369. :required => 'optional',
  370. :default => 'nil'
  371. attribute 'dovecot/conf/director_mail_servers',
  372. :display_name => 'director mail servers',
  373. :description => 'List of IPs or hostnames to all backend mail servers.',
  374. :type => 'string',
  375. :required => 'optional',
  376. :default => 'nil'
  377. attribute 'dovecot/conf/director_user_expire',
  378. :display_name => 'director_user_expire',
  379. :description => 'How long to redirect users to a specific server after it no longer has any connections.',
  380. :type => 'string',
  381. :required => 'optional',
  382. :default => 'nil'
  383. attribute 'dovecot/conf/director_doveadm_port',
  384. :display_name => 'director doveadm port',
  385. :description => 'TCP/IP port that accepts doveadm connections (instead of director connections).',
  386. :type => 'string',
  387. :required => 'optional',
  388. :default => 'nil'
  389. #
  390. # conf.d/10-logging.conf
  391. #
  392. attribute 'dovecot/conf/log_path',
  393. :display_name => 'path',
  394. :description => 'Log file to use for error messages. "syslog" logs to syslog, /dev/stderr logs to stderr.',
  395. :type => 'string',
  396. :required => 'optional',
  397. :default => 'nil'
  398. attribute 'dovecot/conf/info_log_path',
  399. :display_name => 'info log path',
  400. :description => 'Log file to use for informational messages. Defaults to log_path.',
  401. :type => 'string',
  402. :required => 'optional',
  403. :default => 'nil'
  404. attribute 'dovecot/conf/debug_log_path',
  405. :display_name => 'debug log path',
  406. :description => 'Log file to use for debug messages. Defaults to info_log_path.',
  407. :type => 'string',
  408. :required => 'optional',
  409. :default => 'nil'
  410. attribute 'dovecot/conf/syslog_facility',
  411. :display_name => 'syslog facility',
  412. :description => 'Syslog facility to use if you\'re logging to syslog.',
  413. :type => 'string',
  414. :required => 'optional',
  415. :default => 'nil'
  416. attribute 'dovecot/conf/auth_verbose',
  417. :display_name => 'auth verbose',
  418. :description => 'Log unsuccessful authentication attempts and the reasons why they failed.',
  419. :type => 'string',
  420. :required => 'optional',
  421. :default => 'nil'
  422. attribute 'dovecot/conf/auth_verbose_passwords',
  423. :display_name => 'auth verbose passwords',
  424. :description => 'In case of password mismatches, log the attempted password.',
  425. :type => 'string',
  426. :required => 'optional',
  427. :default => 'nil'
  428. attribute 'dovecot/conf/auth_debug',
  429. :display_name => 'auth debug',
  430. :description => 'Even more verbose logging for debugging purposes.',
  431. :type => 'string',
  432. :required => 'optional',
  433. :default => 'nil'
  434. attribute 'dovecot/conf/auth_debug_passwords',
  435. :display_name => 'auth debug passwords',
  436. :description => 'In case of password mismatches, log the passwords and used scheme so the problem can be debugged.',
  437. :type => 'string',
  438. :required => 'optional',
  439. :default => 'nil'
  440. attribute 'dovecot/conf/mail_debug',
  441. :display_name => 'mail debug',
  442. :description => 'Enable mail process debugging.',
  443. :type => 'string',
  444. :required => 'optional',
  445. :default => 'nil'
  446. attribute 'dovecot/conf/verbose_ssl',
  447. :display_name => 'verbose ssl',
  448. :description => 'Show protocol level SSL errors.',
  449. :type => 'string',
  450. :required => 'optional',
  451. :default => 'nil'
  452. attribute 'dovecot/conf/log_timestamp',
  453. :display_name => 'log timestamp',
  454. :description => 'Prefix for each line written to log file.',
  455. :type => 'string',
  456. :required => 'optional',
  457. :default => 'nil'
  458. attribute 'dovecot/conf/login_log_format_elements',
  459. :display_name => 'login log format elements',
  460. :description => 'Space-separated list (or array) of elements we want to log.',
  461. :type => 'string',
  462. :required => 'optional',
  463. :default => 'nil'
  464. attribute 'dovecot/conf/login_log_format',
  465. :display_name => 'login log format',
  466. :description => 'Login log format.',
  467. :type => 'string',
  468. :required => 'optional',
  469. :default => 'nil'
  470. attribute 'dovecot/conf/mail_log_prefix',
  471. :display_name => 'mail log prefix',
  472. :description => 'Log prefix for mail processes.',
  473. :type => 'string',
  474. :required => 'optional',
  475. :default => 'nil'
  476. attribute 'dovecot/conf/deliver_log_format',
  477. :display_name => 'deliver log format',
  478. :description => 'Format to use for logging mail deliveries.',
  479. :type => 'string',
  480. :required => 'optional',
  481. :default => 'nil'
  482. #
  483. # conf.d/10-mail.conf
  484. #
  485. attribute 'dovecot/mail_location',
  486. :display_name => 'mail location',
  487. :description => 'Location for user\'s mailboxes.',
  488. :type => 'string',
  489. :required => 'optional',
  490. :default => 'nil'
  491. attribute 'dovecot/mail_uid',
  492. :display_name => 'mail uid',
  493. :description => 'System user used to access mails.',
  494. :type => 'string',
  495. :required => 'optional',
  496. :default => 'nil'
  497. attribute 'dovecot/mail_gid',
  498. :display_name => 'mail gid',
  499. :description => 'System group used to access mails.',
  500. :type => 'string',
  501. :required => 'optional',
  502. :default => 'nil'
  503. attribute 'dovecot/mail_privileged_group',
  504. :display_name => 'mail privileged group',
  505. :description => 'Group to enable temporarily for privileged operations.',
  506. :type => 'string',
  507. :required => 'optional',
  508. :default => 'nil'
  509. attribute 'dovecot/mail_access_groups',
  510. :display_name => 'mail access groups',
  511. :description => 'Grant access to these supplementary groups for mail processes.',
  512. :type => 'string',
  513. :required => 'optional',
  514. :default => 'nil'
  515. attribute 'dovecot/mail_full_filesystem_access',
  516. :display_name => 'mail full filesystem access',
  517. :description => 'Allow full filesystem access to clients.',
  518. :type => 'string',
  519. :required => 'optional',
  520. :default => 'nil'
  521. attribute 'dovecot/mmap_disable',
  522. :display_name => 'mmap disable',
  523. :description => 'Don\'t use mmap() at all.',
  524. :type => 'string',
  525. :required => 'optional',
  526. :default => 'nil'
  527. attribute 'dovecot/dotlock_use_excl',
  528. :display_name => 'dotlock use excl',
  529. :description => 'Rely on O_EXCL to work when creating dotlock files.',
  530. :type => 'string',
  531. :required => 'optional',
  532. :default => 'nil'
  533. attribute 'dovecot/mail_fsync',
  534. :display_name => 'mail fsync',
  535. :description => 'When to use fsync() or fdatasync() calls: optimized, always or never',
  536. :type => 'string',
  537. :required => 'optional',
  538. :default => 'nil'
  539. attribute 'dovecot/mail_nfs_storage',
  540. :display_name => 'mail nfs storage',
  541. :description => 'Mail storage exists in NFS.',
  542. :type => 'string',
  543. :required => 'optional',
  544. :default => 'nil'
  545. attribute 'dovecot/mail_nfs_index',
  546. :display_name => 'mail nfs index',
  547. :description => 'Mail index files also exist in NFS.',
  548. :type => 'string',
  549. :required => 'optional',
  550. :default => 'nil'
  551. attribute 'dovecot/lock_method',
  552. :display_name => 'lock method',
  553. :description => 'Locking method for index files: fcntl, flock or dotlock.',
  554. :type => 'string',
  555. :required => 'optional',
  556. :default => 'nil'
  557. attribute 'dovecot/mail_temp_dir',
  558. :display_name => 'mail temp dir',
  559. :description => 'Directory in which LDA/LMTP temporarily stores incoming mails >128 kB.',
  560. :type => 'string',
  561. :required => 'optional',
  562. :default => 'nil'
  563. attribute 'dovecot/first_valid_uid',
  564. :display_name => 'first valid uid',
  565. :description => 'Valid UID range for users, defaults to 500 and above.',
  566. :type => 'string',
  567. :required => 'optional',
  568. :default => 'nil'
  569. attribute 'dovecot/last_valid_uid',
  570. :display_name => 'last valid uid',
  571. :description => 'Valid UID range for users, defaults to 500 and above.',
  572. :type => 'string',
  573. :required => 'optional',
  574. :default => 'nil'
  575. attribute 'dovecot/first_valid_gid',
  576. :display_name => 'first valid gid',
  577. :description => 'Valid GID range for users, defaults to non-root/wheel.',
  578. :type => 'string',
  579. :required => 'optional',
  580. :default => 'nil'
  581. attribute 'dovecot/last_valid_gid',
  582. :display_name => 'last valid gid',
  583. :description => 'Valid GID range for users, defaults to non-root/wheel.',
  584. :type => 'string',
  585. :required => 'optional',
  586. :default => 'nil'
  587. attribute 'dovecot/mail_max_keyword_length',
  588. :display_name => 'mail max keyword length',
  589. :description => 'Maximum allowed length for mail keyword name.',
  590. :type => 'string',
  591. :required => 'optional',
  592. :default => 'nil'
  593. attribute 'dovecot/valid_chroot_dirs',
  594. :display_name => 'valid chroot dirs',
  595. :description => '\':\' separated list of directories under which chrooting is allowed for mail processes.',
  596. :type => 'string',
  597. :required => 'optional',
  598. :default => 'nil'
  599. attribute 'dovecot/mail_chroot',
  600. :display_name => 'mail chroot',
  601. :description => 'Default chroot directory for mail processes.',
  602. :type => 'string',
  603. :required => 'optional',
  604. :default => 'nil'
  605. attribute 'dovecot/auth_socket_path',
  606. :display_name => 'auth socket path',
  607. :description => 'UNIX socket path to master authentication server to find users.',
  608. :type => 'string',
  609. :required => 'optional',
  610. :default => 'nil'
  611. attribute 'dovecot/mail_plugin_dir',
  612. :display_name => 'mail plugin dir',
  613. :description => 'Directory where to look up mail plugins.',
  614. :type => 'string',
  615. :required => 'optional',
  616. :default => 'nil'
  617. attribute 'dovecot/mail_cache_min_mail_count',
  618. :display_name => 'mail cache min mail count',
  619. :description => 'The minimum number of mails in a mailbox before updates are done to cache file.',
  620. :type => 'string',
  621. :required => 'optional',
  622. :default => 'nil'
  623. attribute 'dovecot/mailbox_idle_check_interval',
  624. :display_name => 'mailbox idle check interval',
  625. :description => 'When IDLE command is running, mailbox is checked once in a while to see if there are any new mails or other changes.',
  626. :type => 'string',
  627. :required => 'optional',
  628. :default => 'nil'
  629. attribute 'dovecot/mail_save_crlf',
  630. :display_name => 'mail save crlf',
  631. :description => 'Save mails with CR+LF instead of plain LF.',
  632. :type => 'string',
  633. :required => 'optional',
  634. :default => 'nil'
  635. attribute 'dovecot/maildir_stat_dirs',
  636. :display_name => 'maildir stat dirs',
  637. :description => 'By default LIST command returns all entries in maildir beginning with a dot.',
  638. :type => 'string',
  639. :required => 'optional',
  640. :default => 'nil'
  641. attribute 'dovecot/maildir_copy_with_hardlinks',
  642. :display_name => 'maildir copy with hardlinks',
  643. :description => 'When copying a message, do it with hard links whenever possible.',
  644. :type => 'string',
  645. :required => 'optional',
  646. :default => 'nil'
  647. attribute 'dovecot/maildir_very_dirty_syncs',
  648. :display_name => 'maildir very dirty syncs',
  649. :description => 'Assume Dovecot is the only MUA accessing Maildir.',
  650. :type => 'string',
  651. :required => 'optional',
  652. :default => 'nil'
  653. attribute 'dovecot/mbox_read_locks',
  654. :display_name => 'mbox read locks',
  655. :description => 'Which read locking methods to use for locking mbox: dotlock, dotlock_try, fcntl, flock or lockfyy',
  656. :type => 'string',
  657. :required => 'optional',
  658. :default => 'nil'
  659. attribute 'dovecot/mbox_write_locks',
  660. :display_name => 'mbox write locks',
  661. :description => 'Which write locking methods to use for locking mbox: dotlock, dotlock_try, fcntl, flock or lockfyy',
  662. :type => 'string',
  663. :required => 'optional',
  664. :default => 'nil'
  665. attribute 'dovecot/mbox_lock_timeout',
  666. :display_name => 'mbox lock timeout',
  667. :description => 'Maximum time to wait for lock (all of them) before aborting.',
  668. :type => 'string',
  669. :required => 'optional',
  670. :default => 'nil'
  671. attribute 'dovecot/mbox_dotlock_change_timeout',
  672. :display_name => 'mbox dotlock change timeout',
  673. :description => 'If dotlock exists but the mailbox isn\'t modified in any way, override the lock file after this much time.',
  674. :type => 'string',
  675. :required => 'optional',
  676. :default => 'nil'
  677. attribute 'dovecot/mbox_dirty_syncs',
  678. :display_name => 'mbox dirty syncs',
  679. :description => 'When mbox changes unexpectedly simply read the new mails but still safely fallbacks to re-reading the whole mbox file whenever something in mbox isn\'t how it\'s expected to be.',
  680. :type => 'string',
  681. :required => 'optional',
  682. :default => 'nil'
  683. attribute 'dovecot/mbox_very_dirty_syncs',
  684. :display_name => 'mbox very dirty syncs',
  685. :description => 'Like mbox_dirty_syncs, but don\'t do full syncs even with SELECT, EXAMINE, EXPUNGE or CHECK commands.',
  686. :type => 'string',
  687. :required => 'optional',
  688. :default => 'nil'
  689. attribute 'dovecot/mbox_lazy_writes',
  690. :display_name => 'mbox lazy writes',
  691. :description => 'Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK commands and when closing the mailbox).',
  692. :type => 'string',
  693. :required => 'optional',
  694. :default => 'nil'
  695. attribute 'dovecot/mbox_min_index_size',
  696. :display_name => 'mbox min index size',
  697. :description => 'If mbox size is smaller than this (e.g. 100k), don\'t write index files.',
  698. :type => 'string',
  699. :required => 'optional',
  700. :default => 'nil'
  701. attribute 'dovecot/mdbox_rotate_size',
  702. :display_name => 'mdbox rotate size',
  703. :description => 'Maximum dbox file size until it\'s rotated.',
  704. :type => 'string',
  705. :required => 'optional',
  706. :default => 'nil'
  707. attribute 'dovecot/mdbox_rotate_interval',
  708. :display_name => 'mdbox rotate interval',
  709. :description => 'Maximum dbox file age until it\'s rotated.',
  710. :type => 'string',
  711. :required => 'optional',
  712. :default => 'nil'
  713. attribute 'dovecot/mdbox_preallocate_space',
  714. :display_name => 'mdbox preallocate space',
  715. :description => 'When creating new mdbox files, immediately preallocate their size to mdbox_rotate_size.',
  716. :type => 'string',
  717. :required => 'optional',
  718. :default => 'nil'
  719. attribute 'dovecot/mail_attachment_min_size',
  720. :display_name => 'mail attachment min size',
  721. :description => 'Attachments smaller than this aren\'t saved externally.',
  722. :type => 'string',
  723. :required => 'optional',
  724. :default => 'nil'
  725. attribute 'dovecot/mail_attachment_fs',
  726. :display_name => 'mail attachment fs',
  727. :description => 'Filesystem backend to use for saving attachments: posix, sis posix or sis-queue posix.',
  728. :type => 'string',
  729. :required => 'optional',
  730. :default => 'nil'
  731. attribute 'dovecot/mail_attachment_hash',
  732. :display_name => 'mail attachment hash',
  733. :description => 'Hash format to use in attachment filenames.',
  734. :type => 'string',
  735. :required => 'optional',
  736. :default => 'nil'
  737. #
  738. # conf.d/10-master.conf
  739. #
  740. attribute 'dovecot/default_process_limit',
  741. :display_name => 'default process limit',
  742. :description => 'Default process limit.',
  743. :type => 'string',
  744. :required => 'optional',
  745. :default => 'nil'
  746. attribute 'dovecot/default_client_limit',
  747. :display_name => 'default client limit',
  748. :description => 'Default client limit.',
  749. :type => 'string',
  750. :required => 'optional',
  751. :default => 'nil'
  752. attribute 'dovecot/default_vsz_limit',
  753. :display_name => 'default vsz limit',
  754. :description => 'Default VSZ (virtual memory size) limit for service processes.',
  755. :type => 'string',
  756. :required => 'optional',
  757. :default => 'nil'
  758. attribute 'dovecot/default_login_user',
  759. :display_name => 'default login user',
  760. :description => 'Login user is internally used by login processes.',
  761. :type => 'string',
  762. :required => 'optional',
  763. :default => 'nil'
  764. attribute 'dovecot/default_internal_user',
  765. :display_name => 'default internal user',
  766. :description => 'Internal user is used by unprivileged processes.',
  767. :type => 'string',
  768. :required => 'optional',
  769. :default => 'nil'
  770. #
  771. # conf.d/10-ssl.conf
  772. #
  773. attribute 'dovecot/ssl',
  774. :display_name => 'ssl',
  775. :description => 'SSL/TLS support: true or false',
  776. :type => 'string',
  777. :required => 'optional',
  778. :default => 'nil'
  779. attribute 'dovecot/ssl_cert',
  780. :display_name => 'ssl cert',
  781. :description => 'PEM encoded X.509 SSL/TLS certificate.',
  782. :calculated => true,
  783. :type => 'string',
  784. :required => 'optional'
  785. attribute 'dovecot/ssl_key',
  786. :display_name => 'ssl key',
  787. :description => 'PEM encoded X.509 SSL/TLS private key.',
  788. :calculated => true,
  789. :type => 'string',
  790. :required => 'optional'
  791. attribute 'dovecot/ssl_key_password',
  792. :display_name => 'ssl key password',
  793. :description => 'If key file is password protected, give the password here.',
  794. :type => 'string',
  795. :required => 'optional',
  796. :default => 'nil'
  797. attribute 'dovecot/ssl_ca',
  798. :display_name => 'ssl ca',
  799. :description => 'PEM encoded trusted certificate authority.',
  800. :type => 'string',
  801. :required => 'optional',
  802. :default => 'nil'
  803. attribute 'dovecot/ssl_verify_client_cert',
  804. :display_name => 'ssl verify client cert',
  805. :description => 'Request client to send a certificate.',
  806. :type => 'string',
  807. :required => 'optional',
  808. :default => 'nil'
  809. attribute 'dovecot/ssl_cert_username_field',
  810. :display_name => 'ssl cert username field',
  811. :description => 'Which field from certificate to use for username.',
  812. :type => 'string',
  813. :required => 'optional',
  814. :default => 'nil'
  815. attribute 'dovecot/ssl_parameters_regenerate',
  816. :display_name => 'ssl parameters regenerate',
  817. :description => 'How often to regenerate the SSL parameters file.',
  818. :type => 'string',
  819. :required => 'optional',
  820. :default => 'nil'
  821. attribute 'dovecot/ssl_cipher_list',
  822. :display_name => 'ssl cipher list',
  823. :description => 'SSL ciphers to use',
  824. :type => 'string',
  825. :required => 'optional',
  826. :default => 'nil'
  827. #
  828. # conf.d/15-lda.conf
  829. #
  830. attribute 'dovecot/postmaster_address',
  831. :display_name => 'postmaster address',
  832. :description => 'Address to use when sending rejection mails.',
  833. :type => 'string',
  834. :required => 'optional',
  835. :default => 'nil'
  836. attribute 'dovecot/hostname',
  837. :display_name => 'hostname',
  838. :description => 'Hostname to use in various parts of sent mails, eg. in Message-Id.',
  839. :type => 'string',
  840. :required => 'optional',
  841. :default => 'nil'
  842. attribute 'dovecot/quota_full_tempfail',
  843. :display_name => 'quota full tempfail',
  844. :description => 'If user is over quota, return with temporary failure instead of bouncing the mail.',
  845. :type => 'string',
  846. :required => 'optional',
  847. :default => 'nil'
  848. attribute 'dovecot/sendmail_path',
  849. :display_name => 'sendmail path',
  850. :description => 'Binary to use for sending mails.',
  851. :type => 'string',
  852. :required => 'optional',
  853. :default => 'nil'
  854. attribute 'dovecot/submission_host',
  855. :display_name => 'submission host',
  856. :description => 'If non-empty, send mails via this SMTP host[:port] instead of sendmail.',
  857. :type => 'string',
  858. :required => 'optional',
  859. :default => 'nil'
  860. attribute 'dovecot/rejection_subject',
  861. :display_name => 'rejection subject',
  862. :description => 'Subject: header to use for rejection mails.',
  863. :type => 'string',
  864. :required => 'optional',
  865. :default => 'nil'
  866. attribute 'dovecot/rejection_reason',
  867. :display_name => 'rejection reason',
  868. :description => 'Human readable error message for rejection mails.',
  869. :type => 'string',
  870. :required => 'optional',
  871. :default => 'nil'
  872. attribute 'dovecot/recipient_delimiter',
  873. :display_name => 'recipient delimiter',
  874. :description => 'Delimiter character between local-part and detail in email address.',
  875. :type => 'string',
  876. :required => 'optional',
  877. :default => 'nil'
  878. attribute 'dovecot/lda_original_recipient_header',
  879. :display_name => 'lda original recipient header',
  880. :description => 'Header where the original recipient address (SMTP\'s RCPT TO: address) is taken from if not available elsewhere.',
  881. :type => 'string',
  882. :required => 'optional',
  883. :default => 'nil'
  884. attribute 'dovecot/lda_mailbox_autocreate',
  885. :display_name => 'lda mailbox autocreate',
  886. :description => 'Should saving a mail to a nonexistent mailbox automatically create it?',
  887. :type => 'string',
  888. :required => 'optional',
  889. :default => 'nil'
  890. attribute 'dovecot/lda_mailbox_autosubscribe',
  891. :display_name => 'lda mailbox autosubscribe',
  892. :description => 'Should automatically created mailboxes be also automatically subscribed?',
  893. :type => 'string',
  894. :required => 'optional',
  895. :default => 'nil'