This release removes recipes/ and attributes/ in favor of custom resources.
Use postfix 'default' in a wrapper cookbook to install packages, render main.cf and master.cf, manage optional maps, configure SASL when enabled, and enable/start the service.
Common recipe replacements:
recipe[postfix]->postfix 'default'recipe[postfix::server]->postfix_server 'default'recipe[postfix::client]->postfix_client 'default'recipe[postfix::sasl_auth]->postfix_sasl_auth 'default'recipe[postfix::aliases]->postfix_config 'default'withuse_alias_maps true- map recipes ->
postfix_map
Most legacy node['postfix'] attributes are still read by the resources to ease wrapper cookbook migration, but new code should pass resource properties directly.
Example:
postfix 'default' do
main_settings(
'relayhost' => '[smtp.example.com]:587',
'smtp_sasl_auth_enable' => 'yes'
)
sasl(
'[smtp.example.com]:587' => {
'username' => 'postfix',
'password' => 'secret',
}
)
end