Install and configure bind with dnssec
Find a file
2018-03-17 11:07:20 +01:00
defaults feat: add option to enable or disable ipv4/ipv6 2017-10-15 02:23:00 +02:00
handlers fix: use reload for zone changed 2017-10-15 00:52:30 +02:00
meta first version 2017-10-08 14:57:04 +02:00
tasks feat: use args options with shell command 2018-01-19 22:59:57 +01:00
templates chore: rename entries by records 2018-03-17 11:07:20 +01:00
test/integration chore: rename entries by records 2018-03-17 11:07:20 +01:00
.gitignore feat: use kitchen for tests 2017-10-15 23:18:47 +02:00
.kitchen.yml feat: add test with many ansible version 2017-11-01 22:06:32 +01:00
.rubocop.yml feat: add Gemfile.lock 2017-10-15 01:09:01 +02:00
.travis.yml chore: update ansible version 2018-03-17 11:01:33 +01:00
Gemfile feat: use kitchen for tests 2017-10-15 23:18:47 +02:00
Gemfile.lock feat: use kitchen for tests 2017-10-15 23:18:47 +02:00
LICENSE first version 2017-10-08 14:57:04 +02:00
README.md chore: rename entries by records 2018-03-17 11:07:20 +01:00

Ansible role: Bind

Version Build Status License

Install and configure bind with dnssec

Requirements

None

Role variables

  • bind_role - the role master or slave, don't generate dnssec key on slave
  • bind_zones - the dns zones
  • bind_listen_ipv4 - enable or disable ip v4 support (default: true)
  • bind_listen_ipv6 - enable or disable ip v6 support (default: true)

How to use

  • host_vars/dns-master
bind_role: master
  • host_vars/dns-slave
bind_role: slave
  • group_vars/dns-server
bind_listen_ipv6: true
bind_listen_ipv4: true

bind_zones:
 test.local:
   ns_primary: ns1.test.local
   mail: root@test.local
   serial: 2017092202
   dnssec: yes
   records:
     - { name: '@', type: ns, value: localhost. }
     - { name: hello, type: a, ttl: 5m, value: 1.2.3.4 }
     - { name: hello, type: caa, flag: 0, tag: issue, value: letsencrypt.org }
 hello.local:
   ns_primary: ns1.hello.local
   mail: root@hello.local
   serial: 2017092201
   dnssec: no
   records:
     - { name: '@', type: ns, value: localhost. }
     - { name: hello, type: a, value: 4.3.2.1 }
  • playbook
- hosts: dns-server
  roles:
    - bind 

Development

Tests with docker

  • install docker
  • install ruby
  • install bundler gem install bundler
  • install dependencies bundle install
  • run the tests kitchen test

License

Copyright (c) 2017 Adrien Waksberg

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.