Giter Club home page Giter Club logo

puppet-bind's Introduction

Bind

Overview

This module installs and manages the bind package. The module is designed to get all of its configuration variables from hiera. The zone data is pulled from an external source that returns JSON arrays and hiera. The external source needs to be a REST-like service that takes the arguments appname, apptoken, and domain. An example of a data source is phpIPAM-api.

NOTE

Support for reverse lookup zones on subnets larger than CIDR /24 requires ruby gem netaddr.

bind:

Installs the named service. The module currently defaults to using a chroot environment. Defined types are called from this manifest to write the configuration file and zone data files.

Zones are added to a name server by defining them in the host YAML file as shown below.

bind::domains:
  winbox.local:
    type: slave
       master:
         - 192.168.88.3
       slave:
         - 192.168.88.5
  example.com:
    type: master
      slave:
         - 192.168.88.5

To add domain records, add the data to hiera under the domain it belongs to. The same form applies for adding CNAME records to a given domain, as shown below. MX and other record types will follow in the future.

....
bind::zones:
  example.com:
    ttl: 3600
    nameservers:
      - ns1.example.com
      - ns2.example.com
    data:
      foo: 192.168.135.5
      sally: 192.168.135.6
      dingbat: small-bird.local.

bind::services

Controls the main named service and handles restarts when zone files change.

bind::fwd_zone

This defined type creates any forward lookup zones for bind. The data for the zone files will be a combination of hieradata and external data from some source. This defined type will also write the serial number for the zone file and call named-compilezone to insure there are server stopping errors.

bind::ptr_zone

This defined type will create a reverse lookup zone using the external data source. If you happen to have zones that are not CIDR /24, this defined type calls another defined type to handle those zones. For the time being only CIDR subnets larger than /24 are supported.

Subdomains

You can now add a subdomain that points to a name server by adding a hiera record that begins with 'SUBDOM[number]_[subdomain]: [name server]'.

SUBDOM1_us: ns1.us.northamerica.com

The above will add a record in the domain of

us IN NS ns1.us.northamerica.com.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.