Testing updates
Signed-off-by: Tim Smith <tsmith@chef.io>
This commit is contained in:
parent
82aec2f311
commit
4667cdfc1e
@ -1,7 +1,6 @@
|
|||||||
driver:
|
driver:
|
||||||
name: dokken
|
name: dokken
|
||||||
privileged: true # because Docker and SystemD/Upstart
|
privileged: true # because Docker and SystemD/Upstart
|
||||||
chef_image: chef/chef
|
|
||||||
chef_version: current
|
chef_version: current
|
||||||
|
|
||||||
transport:
|
transport:
|
||||||
@ -31,14 +30,6 @@ platforms:
|
|||||||
- RUN /usr/bin/apt-get update
|
- RUN /usr/bin/apt-get update
|
||||||
- RUN /usr/bin/apt-get install lsb-release -y
|
- RUN /usr/bin/apt-get install lsb-release -y
|
||||||
|
|
||||||
- name: centos-5
|
|
||||||
driver:
|
|
||||||
image: centos:5
|
|
||||||
platform: rhel
|
|
||||||
pid_one_command: /sbin/init
|
|
||||||
intermediate_instructions:
|
|
||||||
- RUN yum install -y which initscripts
|
|
||||||
|
|
||||||
- name: centos-6
|
- name: centos-6
|
||||||
driver:
|
driver:
|
||||||
image: centos:6
|
image: centos:6
|
||||||
@ -90,9 +81,9 @@ platforms:
|
|||||||
intermediate_instructions:
|
intermediate_instructions:
|
||||||
- RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which net-tools
|
- RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which net-tools
|
||||||
|
|
||||||
- name: opensuse-42.1
|
- name: opensuse-leap
|
||||||
driver:
|
driver:
|
||||||
image: opensuse:42.1
|
image: opensuse:leap
|
||||||
pid_one_command: /bin/systemd
|
pid_one_command: /bin/systemd
|
||||||
intermediate_instructions:
|
intermediate_instructions:
|
||||||
- RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which hostname
|
- RUN zypper --non-interactive install aaa_base perl-Getopt-Long-Descriptive which hostname
|
||||||
|
@ -5,7 +5,6 @@ provisioner:
|
|||||||
name: chef_zero
|
name: chef_zero
|
||||||
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: centos-5.11
|
|
||||||
- name: centos-6.8
|
- name: centos-6.8
|
||||||
- name: centos-7.2
|
- name: centos-7.2
|
||||||
- name: debian-7.11
|
- name: debian-7.11
|
||||||
@ -14,6 +13,8 @@ platforms:
|
|||||||
run_list: apt::default
|
run_list: apt::default
|
||||||
- name: fedora-25
|
- name: fedora-25
|
||||||
run_list: yum::dnf_yum_compat
|
run_list: yum::dnf_yum_compat
|
||||||
|
- name: opensuse-13.2
|
||||||
|
- name: opensuse-leap-42.1
|
||||||
- name: ubuntu-12.04
|
- name: ubuntu-12.04
|
||||||
run_list: apt::default
|
run_list: apt::default
|
||||||
- name: ubuntu-14.04
|
- name: ubuntu-14.04
|
||||||
|
15
.travis.yml
15
.travis.yml
@ -1,7 +1,7 @@
|
|||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
dist: trusty
|
||||||
|
|
||||||
# install the pre-release chef-dk. Use chef-stable-precise to install the stable release
|
# install the pre-release chef-dk. Use chef-stable-trusty to install the stable release
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
@ -20,26 +20,23 @@ services: docker
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
matrix:
|
matrix:
|
||||||
|
- INSTANCE=default-centos-6
|
||||||
|
- INSTANCE=default-centos-7
|
||||||
- INSTANCE=default-ubuntu-1204
|
- INSTANCE=default-ubuntu-1204
|
||||||
- INSTANCE=default-ubuntu-1404
|
- INSTANCE=default-ubuntu-1404
|
||||||
- INSTANCE=default-ubuntu-1604
|
- INSTANCE=default-ubuntu-1604
|
||||||
- INSTANCE=default-centos-5
|
|
||||||
- INSTANCE=default-centos-6
|
|
||||||
- INSTANCE=default-centos-7
|
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
|
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
|
||||||
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
|
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
|
||||||
|
- /opt/chefdk/embedded/bin/chef --version
|
||||||
|
- /opt/chefdk/embedded/bin/cookstyle --version
|
||||||
|
- /opt/chefdk/embedded/bin/foodcritic --version
|
||||||
|
|
||||||
script: KITCHEN_LOCAL_YAML=.kitchen.docker.yml /opt/chefdk/embedded/bin/kitchen verify ${INSTANCE}
|
script: KITCHEN_LOCAL_YAML=.kitchen.docker.yml /opt/chefdk/embedded/bin/kitchen verify ${INSTANCE}
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- before_script:
|
|
||||||
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
|
|
||||||
- /opt/chefdk/embedded/bin/chef --version
|
|
||||||
- /opt/chefdk/embedded/bin/cookstyle --version
|
|
||||||
- /opt/chefdk/embedded/bin/foodcritic --version
|
|
||||||
- script:
|
- script:
|
||||||
- /opt/chefdk/bin/chef exec rake
|
- /opt/chefdk/bin/chef exec rake
|
||||||
env: UNIT_AND_LINT=1
|
env: UNIT_AND_LINT=1
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
<!-- This is a generated file. Please do not edit directly -->
|
<!-- This is a generated file. Please do not edit directly -->
|
||||||
|
|
||||||
# Maintainers
|
# Maintainers
|
||||||
This file lists how this cookbook project is maintained. When making changes to the system, this
|
|
||||||
file tells you who needs to review your patch - you need a review from an existing maintainer
|
|
||||||
for the cookbook to provide a :+1: on your pull request. Additionally, you need
|
|
||||||
to not receive a veto from a Lieutenant or the Project Lead.
|
|
||||||
|
|
||||||
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD)
|
This file lists how this cookbook project is maintained. When making changes to the system, this file tells you who needs to review your patch - you need a review from an existing maintainer for the cookbook to provide a :+1: on your pull request. Additionally, you need to not receive a veto from a Lieutenant or the Project Lead.
|
||||||
for details on the process and how to become a maintainer or the project lead.
|
|
||||||
|
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) for details on the process and how to become a maintainer or the project lead.
|
||||||
|
|
||||||
# Project Maintainer
|
# Project Maintainer
|
||||||
* [Tim Smith](https://github.com/tas50)
|
* [Tim Smith](https://github.com/tas50)
|
||||||
|
@ -5,13 +5,10 @@
|
|||||||
[Preamble]
|
[Preamble]
|
||||||
title = "Maintainers"
|
title = "Maintainers"
|
||||||
text = """
|
text = """
|
||||||
This file lists how this cookbook project is maintained. When making changes to the system, this
|
|
||||||
file tells you who needs to review your patch - you need a review from an existing maintainer
|
|
||||||
for the cookbook to provide a :+1: on your pull request. Additionally, you need
|
|
||||||
to not receive a veto from a Lieutenant or the Project Lead.
|
|
||||||
|
|
||||||
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD)
|
This file lists how this cookbook project is maintained. When making changes to the system, this file tells you who needs to review your patch - you need a review from an existing maintainer for the cookbook to provide a :+1: on your pull request. Additionally, you need to not receive a veto from a Lieutenant or the Project Lead.
|
||||||
for details on the process and how to become a maintainer or the project lead.
|
|
||||||
|
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD) for details on the process and how to become a maintainer or the project lead.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
[Org]
|
[Org]
|
||||||
@ -20,7 +17,7 @@ for details on the process and how to become a maintainer or the project lead.
|
|||||||
title = "Project Maintainer"
|
title = "Project Maintainer"
|
||||||
|
|
||||||
lieutenant = 'tas50'
|
lieutenant = 'tas50'
|
||||||
|
|
||||||
maintainers = [
|
maintainers = [
|
||||||
'sigje',
|
'sigje',
|
||||||
'tas50',
|
'tas50',
|
||||||
|
43
README.md
43
README.md
@ -1,5 +1,4 @@
|
|||||||
postfix Cookbook
|
# postfix Cookbook
|
||||||
================
|
|
||||||
|
|
||||||
[](https://travis-ci.org/chef-cookbooks/postfix)
|
[](https://travis-ci.org/chef-cookbooks/postfix)
|
||||||
[](https://supermarket.chef.io/cookbooks/postfix)
|
[](https://supermarket.chef.io/cookbooks/postfix)
|
||||||
@ -8,10 +7,10 @@ Installs and configures postfix for client or outbound relayhost, or to do SASL
|
|||||||
|
|
||||||
On RHEL-family systems, sendmail will be replaced with postfix.
|
On RHEL-family systems, sendmail will be replaced with postfix.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
### Platforms
|
||||||
|
|
||||||
Requirements
|
|
||||||
------------
|
|
||||||
#### Platforms
|
|
||||||
- Ubuntu 12.04+
|
- Ubuntu 12.04+
|
||||||
- Debian 7.0+
|
- Debian 7.0+
|
||||||
- RHEL/CentOS/Scientific 5.7+, 6.2+
|
- RHEL/CentOS/Scientific 5.7+, 6.2+
|
||||||
@ -19,15 +18,17 @@ Requirements
|
|||||||
|
|
||||||
May work on other platforms with or without modification.
|
May work on other platforms with or without modification.
|
||||||
|
|
||||||
#### Chef
|
### Chef
|
||||||
|
|
||||||
- Chef 12.1+
|
- Chef 12.1+
|
||||||
|
|
||||||
#### Cookbooks
|
### Cookbooks
|
||||||
|
|
||||||
- none
|
- none
|
||||||
|
|
||||||
|
|
||||||
Attributes
|
## Attributes
|
||||||
----------
|
|
||||||
See `attributes/default.rb` for default values.
|
See `attributes/default.rb` for default values.
|
||||||
|
|
||||||
### Generic cookbook attributes
|
### Generic cookbook attributes
|
||||||
@ -93,14 +94,16 @@ Example of json role config, for setup *_map_entries:
|
|||||||
* `node['postfix']['master']['submission'] - Whether to use submission (TCP 587) daemon. (true/false); default false
|
* `node['postfix']['master']['submission'] - Whether to use submission (TCP 587) daemon. (true/false); default false
|
||||||
|
|
||||||
|
|
||||||
Recipes
|
## Recipes
|
||||||
-------
|
|
||||||
### default
|
### default
|
||||||
|
|
||||||
Installs the postfix package and manages the service and the main configuration files (`/etc/postfix/main.cf` and `/etc/postfix/master.cf`). See __Usage__ and __Examples__ to see how to affect behavior of this recipe through configuration. Depending on the `node['postfix']['use_alias_maps']`, `node['postfix']['use_transport_maps']`, `node['postfix']['use_access_maps']` and `node['postfix']['use_virtual_aliases']` attributes the default recipe can call additional recipes to manage additional postfix configuration files
|
Installs the postfix package and manages the service and the main configuration files (`/etc/postfix/main.cf` and `/etc/postfix/master.cf`). See __Usage__ and __Examples__ to see how to affect behavior of this recipe through configuration. Depending on the `node['postfix']['use_alias_maps']`, `node['postfix']['use_transport_maps']`, `node['postfix']['use_access_maps']` and `node['postfix']['use_virtual_aliases']` attributes the default recipe can call additional recipes to manage additional postfix configuration files
|
||||||
|
|
||||||
For a more dynamic approach to discovery for the relayhost, see the `client` and `server` recipes below.
|
For a more dynamic approach to discovery for the relayhost, see the `client` and `server` recipes below.
|
||||||
|
|
||||||
### client
|
### client
|
||||||
|
|
||||||
Use this recipe to have nodes automatically search for the mail relay based which node has the `node['postfix']['relayhost_role']` role. Sets the `node['postfix']['main']['relayhost']` attribute to the first result from the search.
|
Use this recipe to have nodes automatically search for the mail relay based which node has the `node['postfix']['relayhost_role']` role. Sets the `node['postfix']['main']['relayhost']` attribute to the first result from the search.
|
||||||
|
|
||||||
Includes the default recipe to install, configure and start postfix.
|
Includes the default recipe to install, configure and start postfix.
|
||||||
@ -108,31 +111,35 @@ Includes the default recipe to install, configure and start postfix.
|
|||||||
Does not work with `chef-solo`.
|
Does not work with `chef-solo`.
|
||||||
|
|
||||||
### sasl\_auth
|
### sasl\_auth
|
||||||
|
|
||||||
Sets up the system to authenticate with a remote mail relay using SASL authentication.
|
Sets up the system to authenticate with a remote mail relay using SASL authentication.
|
||||||
|
|
||||||
### server
|
### server
|
||||||
|
|
||||||
To use Chef Server search to automatically detect a node that is the relayhost, use this recipe in a role that will be relayhost. By default, the role should be "relayhost" but you can change the attribute `node['postfix']['relayhost_role']` to modify this.
|
To use Chef Server search to automatically detect a node that is the relayhost, use this recipe in a role that will be relayhost. By default, the role should be "relayhost" but you can change the attribute `node['postfix']['relayhost_role']` to modify this.
|
||||||
|
|
||||||
**Note** This recipe will set the `node['postfix']['mail_type']` to "master" with an override attribute.
|
**Note** This recipe will set the `node['postfix']['mail_type']` to "master" with an override attribute.
|
||||||
|
|
||||||
### aliases
|
### aliases
|
||||||
|
|
||||||
Manage `/etc/aliases` with this recipe. Currently only Ubuntu 10.04 platform has a template for the aliases file. Add your aliases template to the `templates/default` or to the appropriate platform+version directory per the File Specificity rules for templates. Then specify a hash of aliases for the `node['postfix']['aliases']` attribute.
|
Manage `/etc/aliases` with this recipe. Currently only Ubuntu 10.04 platform has a template for the aliases file. Add your aliases template to the `templates/default` or to the appropriate platform+version directory per the File Specificity rules for templates. Then specify a hash of aliases for the `node['postfix']['aliases']` attribute.
|
||||||
|
|
||||||
Arrays are supported as alias values, since postfix supports comma separated values per alias, simply specify your alias as an array to use this handy feature.
|
Arrays are supported as alias values, since postfix supports comma separated values per alias, simply specify your alias as an array to use this handy feature.
|
||||||
|
|
||||||
### aliases
|
|
||||||
Manage `/etc/aliases` with this recipe.
|
|
||||||
|
|
||||||
### transports
|
### transports
|
||||||
|
|
||||||
Manage `/etc/postfix/transport` with this recipe.
|
Manage `/etc/postfix/transport` with this recipe.
|
||||||
|
|
||||||
### access
|
### access
|
||||||
|
|
||||||
Manage `/etc/postfix/access` with this recipe.
|
Manage `/etc/postfix/access` with this recipe.
|
||||||
|
|
||||||
### virtual_aliases
|
### virtual_aliases
|
||||||
|
|
||||||
Manage `/etc/postfix/virtual` with this recipe.
|
Manage `/etc/postfix/virtual` with this recipe.
|
||||||
|
|
||||||
### relay_restrictions
|
### relay_restrictions
|
||||||
|
|
||||||
Manage `/etc/postfix/relay_restriction` with this recipe
|
Manage `/etc/postfix/relay_restriction` with this recipe
|
||||||
The postfix option smtpd_relay_restrictions in main.cf will point to this hash map db.
|
The postfix option smtpd_relay_restrictions in main.cf will point to this hash map db.
|
||||||
|
|
||||||
@ -140,8 +147,8 @@ The postfix option smtpd_relay_restrictions in main.cf will point to this hash m
|
|||||||
http://wiki.chef.io/display/chef/Templates#Templates-TemplateLocationSpecificity
|
http://wiki.chef.io/display/chef/Templates#Templates-TemplateLocationSpecificity
|
||||||
|
|
||||||
|
|
||||||
Usage
|
## Usage
|
||||||
-----
|
|
||||||
On systems that should simply send mail directly to a relay, or out to the internet, use `recipe[postfix]` and modify the `node['postfix']['main']['relayhost']` attribute via a role.
|
On systems that should simply send mail directly to a relay, or out to the internet, use `recipe[postfix]` and modify the `node['postfix']['main']['relayhost']` attribute via a role.
|
||||||
|
|
||||||
On systems that should be the MX for a domain, set the attributes accordingly and make sure the `node['postfix']['mail_type']` attribute is `master`. See __Examples__ for information on how to use `recipe[postfix::server]` to do this automatically.
|
On systems that should be the MX for a domain, set the attributes accordingly and make sure the `node['postfix']['mail_type']` attribute is `master`. See __Examples__ for information on how to use `recipe[postfix::server]` to do this automatically.
|
||||||
@ -152,6 +159,7 @@ For each of these implementations, see __Examples__ for role usage.
|
|||||||
|
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
|
|
||||||
The example roles below only have the relevant postfix usage. You may have other contents depending on what you're configuring on your systems.
|
The example roles below only have the relevant postfix usage. You may have other contents depending on what you're configuring on your systems.
|
||||||
|
|
||||||
The `base` role is applied to all nodes in the environment.
|
The `base` role is applied to all nodes in the environment.
|
||||||
@ -298,8 +306,7 @@ override_attributes(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
License & Authors
|
## License & Authors
|
||||||
-----------------
|
|
||||||
|
|
||||||
**Author:** Cookbook Engineering Team (<cookbooks@chef.io>)
|
**Author:** Cookbook Engineering Team (<cookbooks@chef.io>)
|
||||||
|
|
||||||
|
12
Rakefile
12
Rakefile
@ -11,7 +11,7 @@ namespace :style do
|
|||||||
desc 'Run Ruby style checks'
|
desc 'Run Ruby style checks'
|
||||||
RuboCop::RakeTask.new(:ruby)
|
RuboCop::RakeTask.new(:ruby)
|
||||||
rescue LoadError => e
|
rescue LoadError => e
|
||||||
puts ">>> Gem load error: #{e}, omitting style:ruby" unless ENV['CI']
|
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
|
||||||
end
|
end
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -24,8 +24,8 @@ namespace :style do
|
|||||||
progress: true,
|
progress: true,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
rescue LoadError
|
rescue LoadError => e
|
||||||
puts ">>> Gem load error: #{e}, omitting style:chef" unless ENV['CI']
|
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ begin
|
|||||||
desc 'Run ChefSpec examples'
|
desc 'Run ChefSpec examples'
|
||||||
RSpec::Core::RakeTask.new(:spec)
|
RSpec::Core::RakeTask.new(:spec)
|
||||||
rescue LoadError => e
|
rescue LoadError => e
|
||||||
puts ">>> Gem load error: #{e}, omitting spec" unless ENV['CI']
|
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
|
||||||
end
|
end
|
||||||
|
|
||||||
# Integration tests. Kitchen.ci
|
# Integration tests. Kitchen.ci
|
||||||
@ -49,8 +49,8 @@ namespace :integration do
|
|||||||
|
|
||||||
desc 'Run kitchen integration tests'
|
desc 'Run kitchen integration tests'
|
||||||
Kitchen::RakeTasks.new
|
Kitchen::RakeTasks.new
|
||||||
rescue StandardError => e
|
rescue LoadError, StandardError => e
|
||||||
puts ">>> Kitchen error: #{e}, omitting #{task.name}" unless ENV['CI']
|
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -21,5 +21,4 @@ end
|
|||||||
|
|
||||||
source_url 'https://github.com/chef-cookbooks/postfix'
|
source_url 'https://github.com/chef-cookbooks/postfix'
|
||||||
issues_url 'https://github.com/chef-cookbooks/postfix/issues'
|
issues_url 'https://github.com/chef-cookbooks/postfix/issues'
|
||||||
|
chef_version '>= 12.1' if respond_to?(:chef_version)
|
||||||
chef_version '>= 12.1'
|
|
||||||
|
@ -1,2 +1,8 @@
|
|||||||
require 'chefspec'
|
require 'chefspec'
|
||||||
require 'chefspec/berkshelf'
|
require 'chefspec/berkshelf'
|
||||||
|
|
||||||
|
RSpec.configure do |config|
|
||||||
|
config.color = true # Use color in STDOUT
|
||||||
|
config.formatter = :documentation # Use the specified formatter
|
||||||
|
config.log_level = :error # Avoid deprecation notice SPAM
|
||||||
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user