Forge Home

postfix

Fully manages postfix with full Hiera support

6,462 downloads

6,328 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.2 (latest)
  • 0.1.1
released Nov 18th 2017
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.4.x
  • Puppet >=4.9.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'wwkimball-postfix', '0.1.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add wwkimball-postfix
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install wwkimball-postfix --version 0.1.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: postfix, hiera

Documentation

wwkimball/postfix — version 0.1.2 Nov 18th 2017

postfix

Build Status Version Documentation Coverage Coverage Status

Foreword

The original author of this module has long promoted a line of thinking that builds off of Infrastructure As Code into Infrastructure As Data. With Hiera and modules like this, end-users can simply import the code they need and then fully express their entire enterprise infrastructure purely as data without any more code to write or support (not even antiquated roles/profiles). As such, all examples in this document and the module's in-file documentation are presented strictly as YAML.

Table of Contents

  1. Description
  2. Setup - The basics of getting started with postfix
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

This module was written from scratch, specifically for Puppet 5 and Hiera 5 to fully manage postfix; nothing more and nothing less. No assumptions are made as to what you intend to do with postfix other than enjoy full control over it via Hiera in every respect.

Here, "fully manage" means this Puppet module:

  • Installs, upgrades, downgrades, version-pins, and uninstalls postfix.
  • Controls every line in every postfix configuration file, both vendor- and user-supplied.
  • Optionally controls the postfix service.

This is one of a generation of Puppet modules that fully extends control over the subject resources to Hiera. Use modules like this where you'd rather express your infrastructure as data without any further Puppet code.

Setup

What postfix affects

This module specifically affects the following resources:

  • The primary postfix package, or whatever it is named for your platform.
  • Every line of every file in the postfix configuration directory.
  • The postfix service -- by any name -- if you so choose.

Setup Requirements

Please refer to the dependencies section of metadata.json to learn what other modules this one needs, if any.

Beginning with postfix

At its simplest, you can install postfix in its vendor-supplied default state merely with:

---
classes:
  - postfix

Usage

Many usage examples are provided via the source code documentation. Refer to the Reference section to learn how to access it.

Reference

Pre-generated, web-accessible reference documentation -- with abundant examples -- can be found at GitHub Pages for this project, generated via via Puppet Strings. If you do not have access to this on-line documentation, please just run bundle install && bundle exec rake strings:generate from this module's top directory to have a local copy of the documentation generated for you in the docs directory.

Limitations

Please refer to the operatingsystem_support section of metadata.json for known, proven-in-production OS compatibility. This is not an exhaustive list. You will very likely find that this module runs just fine on other operating system and version combinations, given the proper inputs. In fact, if you do, please report it back so the metadata can be updated!

Development

Please refer to CONTRIBUTING to learn how to hack this module.