On the Puppet forge there are already some modules available that can help you install the postgres software on your system. Most of these modules, however, are missing facilities for you to create and configure databases.
The pg_config module is the missing link. This module extends the puppet language so that Puppet knows about Postgres and the things to manage inside a Postgres database. This module provides an easy Puppet DSL to for example:
- Create, manage and drop Postgres databases (pg_database)
- Manage the parameter setting of a Postgres database (pg_parameter)
- Create, manage and drop Postgres users and roles (pg_role)
- Create, manage and drop Postgres tablespaces (pg_tablespaces)
- Create, update, manage and drop Postgres schema definitions (pg_schema_definition)
- Create, update, manage and drop (configuration) records in a Postgres table. (pg_record)
- Validate the contents of your database using pg_validate
- Create your own custom facts based on Postgres database content
- An easy way to execute arbitrary SQL scripts with
unless
and only_if
inhibitors to facilitate idempotence. (pg_exec)
All knowledge required to inspect, create, change and remove these Postgres objects is coded into our custom types. For our customers, it means they can focus on the “what” and leave the implementation details to our modules.
Our modules support a broad range of Postgres versions. We are committed to making our modules work on future releases. This allows our customers an easy upgrade path from older to newer versions.
Our modules are based on an annual subscription(an entitlement). When you purchase an entitlement:
- you are allowed to use the module on the named nodes you purchased the subscription for;
- you get full support on usage and any issues you have;
- we will guide you towards a working setup;
- Are allowed to use the latest and greatest version without any extra charge.
We will make sure the modules keep working with the latest versions of Puppet en the supporting products like Oracle IBM MQ or WebLogic.
We currently have the following licensing methods for you:
1) Free when used on VirtualBox
2) Per node per year subscription
3) Custom licensing
1. Free when used on VirtualBox
This module is Free when used on a VirtualBox testing machine. The software checks if you are using VirtualBox and allows usage. No need to get any licenses from us to get going. Just download the module from our own forge and get going. To download the module use:
puppet module install
--module_repository=http://forge.enterprisemodules.com
enterprisemodules-modulename
2. Per node per year subscription
Our basic licensing model requires a subscription per node. The subscription is valid for a year. To make this work, we need you to send us the node name of the system you want to use the module on. (Not the puppetmaster, but the system where the agent is running.). Based on this information we will send you a file containing the entitlement for your node(s). You can purchase the entitlement in the shop or you can contact us. After you have ordered this module, you will receive an entitlement file. This file contains the information needed to run the software on your Puppet machine (agents).
3. Custom licensing
Our license manager is very flexible. If you have special requirements, please contact us so we can discuss other options.
When you have questions about licensing, please contact us or check our licensing FAQ
The pg_config
module requires:
- Puppet version 5.0 or higher. Can be Puppet Enterprise or Puppet Open Source
- Postgres 10 or higher
- A valid entitlement for usage.
- Runs on most Linux systems.