https://github.com/tohuwabohu/puppet-autoconfig
Puppet module to provide auto-discovery and auto-configuration for service clients
https://github.com/tohuwabohu/puppet-autoconfig
auto-discovery autoconfig puppet thunderbird
Last synced: 13 days ago
JSON representation
Puppet module to provide auto-discovery and auto-configuration for service clients
- Host: GitHub
- URL: https://github.com/tohuwabohu/puppet-autoconfig
- Owner: tohuwabohu
- License: apache-2.0
- Created: 2014-04-05T01:55:05.000Z (about 12 years ago)
- Default Branch: main
- Last Pushed: 2025-10-03T17:26:03.000Z (8 months ago)
- Last Synced: 2025-12-28T03:29:12.193Z (5 months ago)
- Topics: auto-discovery, autoconfig, puppet, thunderbird
- Language: Puppet
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# autoconfig
## Overview
Puppet module to provide auto-discovery functionality for clients of certain services. At the moment, the module
supports only [Autoconfiguration for Thunderbird](https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration).
## Usage
Setup the Thunderbird auto-configuration for a given domain. This will create all required files on disk which are
expected by Thunderbird when looking up the mail server configuration settings for the email domain `example.com`:
```
autoconfig::thunderbird { 'example.com': }
```
In order to make the configuration on disk accessible to Thunderbird, a web server vhost has to be provided which will
accept requests for the `autoconfig.example.com` domain and serve the content created by this module. The vhost
configuration is covered in the next section.
To use a custom mail server configuration you can provide your own file template via
```
autoconfig::thunderbird { 'example.com':
template => 'path/to/custom/template',
}
```
## Vhost configuration
The module relies on a `.htaccess` file which maps multiple vhosts to one common directory structure. If you're using
the [puppetlabs/apache](https://forge.puppetlabs.com/puppetlabs/apache) module, the following vhost would work
```
$domains = [
'foo.com',
'bar.com',
]
$autoconfig_domains = prefix($domains, $autoconfig::params::thunderbird_subdomain)
apache::vhost { $autoconfig_domains:
port => '80',
serveradmin => 'root@example.com',
docroot => $autoconfig::www_root,
manage_docroot => false,
options => [ 'FollowSymLinks' ],
override => [ 'All' ],
access_log => false,
error_log_file => 'vhost_autoconfig_error.log',
}
```
This will make the email configuration for `foo.com` and `bar.com` available to Thunderbird.
## Limitations
The module has been tested on the following operating systems. Testing and patches for other platforms are welcome.
* Debian Linux 6.0 (Squeeze)
[](https://travis-ci.org/tohuwabohu/puppet-autoconfig)
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request