<commit_before># PowerDNS Community Cookbook

Provides resources for installing and configuring both PowerDNS authoritative and recursor. It uses the official PowerDNS repositories for packages and installs the appropiate configuration for your platform's init system.

## Requirements

IMPORTANT: Please read the Deprecations and Compatibility Notes sections below since there is breaking changes between 2 and 3 versions of this cookbook.

### Deprecations

  - The recipe and attribute based way of setting different PowerDNS installs is completely deprecated, there is not  attributes in the newest version of this cookbok and just a simple empty `default` recipe.
  - `pdnsrecord` and `domainrecord` resources have been deprecated since they were coupled with sqlite3 backend.
  - Ubuntu 12.02 support has been removed, if you want this platform to be supported PRs are welcome, see Contributing  section at the end of this document.

### Compatibility Notes

**This cookbook is being completely rewritten, transitioning from an attribute centric design to a newer resource based design. 

TLDR: 

BREAKING CHANGES, Please pin your PowerDNS installs pin your cookbook to the latest 2.5.0 version. We also advise to read this document carefully.
**

The current version of the cookbook provides basic support for recursors and authoritative servers with a handful of platforms, backends and init systems supported. You can find what is supported in this table:


| Platform | Backends         | Init Systems |
|----------|------------------|--------------|
| Debian   | bind, postgresql | SysVinit     |
| CentOS   | bind, postgresql | SysVinit     |

### Platforms:

* Ubuntu (14.04)
* CentOS (6.8)

### Chef:

- Chef 12.5+

### Init Systems:

Only SysVinit is supported for now, Systemd is next, and along it other platforms such us Debian 8, Ubuntu 16.04 and CentOS 7.2 will be available.

### Required Cookbooks:

* apt
* yum

### Suggested Cookbooks:

* postgres (for the PostgreSQL backend)

## Usage

Combine the different resources in order to install, configure and manage your PowerDNS instances. This is a list of resouces that can be used:

  | Resource                            | Functionality                                     |
  |-------------------------------------|---------------------------------------------------|
  | pdns_authoritative_install          | Installs an authoritative server                  |
  | pdns_authoritative_config           | Configures an authoritative instance              |
  | pdns_authoritative_service          | Manages an authoritative instance                 |
  | pdns_authoritative_backend          | Installs authoritative backend                    |
  | pdns_recursor_install               | Installs a recusor                                |
  | pdns_recursor_config                | Configures a recursor instance                    |
  | pdns_recursor_service               | Manages a a recursor instance                     | 

To fully configure an authoritative server you need to add at least 3 resources to your run list, `pdns_authoritative_install`, `pdns_authoritative_config` and `pdns_authoritative_service`. If you want to install any backend than the default (bind) for the authoritative server you need to add a fourth resource: `pdns_authoritative_backend`. There is a some good usage examples on `test/cookbooks/pdns_test/recipes/`.
<commit_msg>Removing imprecise information<commit_after># PowerDNS Community Cookbook

Provides resources for installing and configuring both PowerDNS authoritative and recursor. It uses the official PowerDNS repositories for packages and installs the appropiate configuration for your platform's init system.

## Requirements

IMPORTANT: Please read the Deprecations and Compatibility Notes sections below since there is breaking changes between 2 and 3 versions of this cookbook.

### Deprecations

  - The recipe and attribute based way of setting different PowerDNS installs is completely deprecated, there is not  attributes in the newest version of this cookbok and just a simple empty `default` recipe.
  - `pdnsrecord` and `domainrecord` resources have been deprecated since they were coupled with sqlite3 backend.
  - Ubuntu 12.02 support has been removed, if you want this platform to be supported PRs are welcome, see Contributing  section at the end of this document.

### Compatibility Notes

**This cookbook is being completely rewritten, transitioning from an attribute centric design to a newer resource based design. 

TLDR: 

BREAKING CHANGES, Please pin your PowerDNS installs pin your cookbook to the latest 2.5.0 version. We also advise to read this document carefully.
**

The current version of the cookbook provides basic support for recursors and authoritative servers with a handful of platforms, backends and init systems supported. You can find what is supported in this table:


| Platform | Backends         | Init Systems |
|----------|------------------|--------------|
| Debian   | bind, postgresql | SysVinit     |
| CentOS   | bind, postgresql | SysVinit     |

### Platforms:

* Ubuntu (14.04)
* CentOS (6.8)

### Chef:

- Chef 12.5+

### Init Systems:

Only SysVinit is supported for now, Systemd is next to come.

### Required Cookbooks:

* apt
* yum

### Suggested Cookbooks:

* postgres (for the PostgreSQL backend)

## Usage

Combine the different resources in order to install, configure and manage your PowerDNS instances. This is a list of resouces that can be used:

  | Resource                            | Functionality                                     |
  |-------------------------------------|---------------------------------------------------|
  | pdns_authoritative_install          | Installs an authoritative server                  |
  | pdns_authoritative_config           | Configures an authoritative instance              |
  | pdns_authoritative_service          | Manages an authoritative instance                 |
  | pdns_authoritative_backend          | Installs authoritative backend                    |
  | pdns_recursor_install               | Installs a recusor                                |
  | pdns_recursor_config                | Configures a recursor instance                    |
  | pdns_recursor_service               | Manages a a recursor instance                     | 

To fully configure an authoritative server you need to add at least 3 resources to your run list, `pdns_authoritative_install`, `pdns_authoritative_config` and `pdns_authoritative_service`. If you want to install any backend than the default (bind) for the authoritative server you need to add a fourth resource: `pdns_authoritative_backend`. There is a some good usage examples on `test/cookbooks/pdns_test/recipes/`.

{'fraction_non_alphanumeric': 0.08525650448331619, 'fraction_numerical': 0.006908716742613553, 'mean_word_length': 2.6, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2782477', 'n_tokens_mistral': 1717, 'n_tokens_neox': 1591, 'n_words': 749}