mjhas / dovecot Goto Github PK
View Code? Open in Web Editor NEWPuppet Dovecot Module
License: Other
Puppet Dovecot Module
License: Other
Is there any particular reason we use mod
over mode
in this module? It would be a breaking change to fix this variable name throughout the module, but gah, it bugs me.
The filter in the augeas lens for dovecot says
let filter = incl "/etc/dovecot/dovecot.conf"
. (incl "/etc/dovecot/conf.d/*.conf")
. Util.stdexcl
I believe the second line should be
. (incl "/etc/dovecot/conf.d/*")
The last release has been made quite a while ago and there's been some progress of the module (e.g., I'm using the passwdfile which is not present in the last release). What do you think about issuing a new release?
hi,
I have an error on this module:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, 'ensure_packages' expects (Variant[String[1], Array[String[1]], Hash[String[1], Any]] packages, Hash default_attributes?)
rejected: parameter 'packages' variant 0 expects a String value, got Tuple
rejected: parameter 'packages' variant 1 index 0 expects a String value, got Tuple
rejected: parameter 'packages' variant 2 expects a Hash value, got Tuple (file: /etc/puppetlabs/code/environments/production/modules/dovecot/manifests/init.pp, line: 12, column: 3)
in init i have
default => ['dovecot-imapd', 'dovecot-pop3d'],
'Debian' => ['dovecot-imapd', 'dovecot-pop3d'],
'Redhat' => ['dovecot']
}
ensure_packages([$mailpackages], { 'configfiles' => $package_configfiles })
it only works if i change to
ensure_packages($mailpackages, { 'configfiles' => $package_configfiles })
so $mailpackages is allready an array and using [$mailpackages] is an array of array.
best regards,
Ghislain.
I just installed postfix and dovecot via your modules. When processing mail i get the following message in mail.log:
postfix/pipe[2689]: 1BB6642432: to=<[email protected]>, relay=dovecot, delay=626, delays=626/0.07/0/0.1, dsn=4.3.0, status=deferred (temporary failure. Command output: doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10- auth.conf line 122: Couldn't open include file /etc/dovecot/conf.d/auth-ldap.conf.ext: Permission denied )
As there are no credentials or anything secret in this file I forked the module and changed the mode to 644. This is the mode all other files in conf.d have on debian. I'm asking because I want to be sure I don't overlook something.
I am receiving multiple warnings and error messages which seem to be related to Augeas (see end of ticket). Since I am new to puppet and have never worked with Augeas before I am unable to solve (even understand) the problem. Here is the puppet code I am trying to execute:
class my_mail::dovecot {
include dovecot
class { dovecot::ssl:
ssl => 'yes',
ssl_keyfile => '/etc/ssl/private/ssl-cert-snakeoil.key',
ssl_certfile => '/etc/ssl/certs/ssl-cert-snakeoil.pem',
}
include dovecot::sieve
class { dovecot::master:
postfix => yes
}
include dovecot::mail
class { dovecot::lda:
postmaster_address => '[email protected]'
}
include dovecot::imap
include dovecot::base
include dovecot::auth
}
class { 'my_mail::dovecot' : }
Some facts about my setup:
OS: Debian Jessie (Raspbian)
Puppet: 3.7.2-4
mjhas/dovecot: latest (2016-03-19)
Postfix: 2.11.3-1
Anything I can do to fix the problem? I will be happy to test and provide further information. Thanks in advance for any help you can provide.
Cheers,
Bernd
Error: /Stage[main]/Dovecot::Master/Dovecot::Config::Dovecotcfmulti[/etc/dovecot/conf.d/10-master.conf-userdblistener0]/Augeas[dovecot /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf-userdblistener0]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Sieve/Dovecot::Config::Dovecotcfmulti[plugin]/Augeas[dovecot /etc/dovecot/conf.d/90-plugin.conf plugin]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Master/Dovecot::Config::Dovecotcfsingle[service[ . = "auth-worker"]/group]/Augeas[dovecot /etc/dovecot/conf.d/10-master.conf service[ . = "auth-worker"]/group]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Imap/Dovecot::Config::Dovecotcfmulti[imap]/Augeas[dovecot /etc/dovecot/conf.d/20-imap.conf imap]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Mail/Dovecot::Config::Dovecotcfmulti[mail]/Augeas[dovecot /etc/dovecot/conf.d/10-mail.conf mail]: Could not evaluate: unknown error - Failed to initialize Augeas
...
Warning: /Stage[main]/Dovecot::Master/Dovecot::Config::Dovecotcfmulti[/etc/dovecot/conf.d/10-master.conf-userdblistener1]/Augeas[dovecot /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf-userdblistener1]: Skipping because of failed dependencies
Error: /Stage[main]/Dovecot::Lda/Dovecot::Config::Dovecotcfmulti[lda]/Augeas[dovecot /etc/dovecot/conf.d/15-lda.conf lda]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Ssl/Dovecot::Config::Dovecotcfsingle[ssl_ca]/Augeas[dovecot /etc/dovecot/conf.d/10-ssl.conf ssl_ca]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Ssl/Dovecot::Config::Dovecotcfsingle[ssl_key]/Augeas[dovecot /etc/dovecot/conf.d/10-ssl.conf ssl_key]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Ssl/Dovecot::Config::Dovecotcfsingle[ssl_key_password]/Augeas[dovecot /etc/dovecot/conf.d/10-ssl.conf ssl_key_password]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Ssl/Dovecot::Config::Dovecotcfsingle[ssl]/Augeas[dovecot /etc/dovecot/conf.d/10-ssl.conf ssl]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Ssl/Dovecot::Config::Dovecotcfsingle[ssl_cert]/Augeas[dovecot /etc/dovecot/conf.d/10-ssl.conf ssl_cert]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Base/Dovecot::Config::Dovecotcfmulti[base]/Augeas[dovecot /etc/dovecot/dovecot.conf base]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Auth/Dovecot::Config::Dovecotcfmulti[auth]/Augeas[dovecot /etc/dovecot/conf.d/10-auth.conf auth]: Could not evaluate: unknown error - Failed to initialize Augeas
Error: /Stage[main]/Dovecot::Master/Dovecot::Config::Dovecotcfsingle[service[ . = "auth-worker"]/user]/Augeas[dovecot /etc/dovecot/conf.d/10-master.conf service[ . = "auth-worker"]/user]: Could not evaluate: unknown error - Failed to initialize Augeas
Currently the autocreate plugin for imap is hardcoded in the template to create certain (undesirable to me) folders.
The syntax for the plugin is wonky, but I think it'll be doable to fix with Augueas, it'll just be a while until I can take a crack at it.
The default configuration (10-ssl.conf) allows for all possible curves. There is a handful of safe curves, however, and thus it should be possible to select them, for example via a new "ssl_ecdh_curve" option.
Hi!
Somehow, travis ci tests are failing right now,
kindly refer to e.g. https://travis-ci.org/raoulbhatia/puppet-dovecot/builds/41247514 which is upstream commit 2767061
Any idea what makes this fail?
Thanks,
Raoul
the 15-mailboxes.conf file should be managed by augeas and not like this:
if $manage_mailboxfile {
file { '/etc/dovecot/conf.d/15-mailboxes.conf':
ensure => present,
content => template('dovecot/15-mailboxes.conf'),
mode => '0644',
owner => root,
group => root,
before => Exec['dovecot'],
}
}
Hi Michael,
I'm fairly new to Puppet, so sorry it this is an obvious mistake. I installed your dovecot and postfix modules in a master/node environment. Running a sudo puppet agent --test
on the node gives me lots of Augeas related errors:
Error: /Stage[main]/Dovecot::Master/Dovecot::Config::Dovecotcfmulti[/etc/dovecot/conf.d/10-master.conf-userdblistener0]/Augeas[dovecot /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf-userdblistener0]: Could not evaluate: unknown error - Failed to initialize Augeas
I checked to see if I had Augeas installed on the node:
dpkg -l \*augeas\* puppet
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=================================================-=============================-=============================-=======================================================================================================
un augeas-doc <none> <none> (no description available)
ii augeas-lenses 1.2.0-0ubuntu1.1 all Set of lenses needed by libaugeas0 to parse config files
ii augeas-tools 1.2.0-0ubuntu1.1 amd64 Augeas command line tools
ii libaugeas-ruby 0.5.0-2 all Transitional package for ruby-augeas
ii libaugeas-ruby1.8 0.5.0-2 all Transitional package for ruby-augeas
ii libaugeas-ruby1.9.1 0.5.0-2 all Transitional package for ruby-augeas
ii libaugeas0 1.2.0-0ubuntu1.1 amd64 Augeas configuration editing library and API
ii puppet 3.4.3-1 all Centralized configuration management - agent startup and compatibility scripts
ii ruby-augeas 0.5.0-2 amd64 Augeas bindings for the Ruby language
Node versions:
Ubuntu 14.04.1 LTS
puppet --version 3.4.3
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
Master versions:
Ubuntu 12.04.4 LTS
puppet --version 3.7.1
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
Dovecot supports client-initiated secure renegotiation which may be unsafe and allow Denial of Service attacks.
Dovecot does not support OCSP stapling. Its support allows better verification of the certificate validation status.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.