diff --git a/.cookiecutter_params.json b/.cookiecutter_params.json
new file mode 100644
index 0000000..76dfe96
--- /dev/null
+++ b/.cookiecutter_params.json
@@ -0,0 +1,24 @@
+{
+    "_template": "../cookiecutters/role",
+    "author": "Open Networking Foundation",
+    "company": "Open Networking Foundation",
+    "description": "NSD DNS Server",
+    "email": "support@opennetworking.org",
+    "issue_tracker_url": "https://jira.opennetworking.org/",
+    "license": "Apache-2.0",
+    "min_ansible_version": "2.9.5",
+    "molecule_privileged": "true",
+    "platform": "deleteme",
+    "platforms": {
+        "Ubuntu": [
+            "16.04",
+            "18.04"
+        ]
+    },
+    "role_defaults": {
+        "example_default1": "example_value1",
+        "example_default2": "example_value2"
+    },
+    "role_name": "nsd",
+    "year": "2020"
+}
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..bc5343c
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.opencord.org
+port=29418
+project=ansible/role/nsd.git
+defaultremote=origin
diff --git a/.reuse/dep5 b/.reuse/dep5
new file mode 100644
index 0000000..36ce305
--- /dev/null
+++ b/.reuse/dep5
@@ -0,0 +1,5 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: .cookiecutter_params.json VERSION .gitreview
+Copyright: 2020 Open Networking Foundation
+License: Apache-2.0
diff --git a/LICENSES/Apache-2.0.txt b/LICENSES/Apache-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSES/Apache-2.0.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..897b99b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,39 @@
+# nsd Makefile
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+SHELL = bash -eu -o pipefail
+
+.DEFAULT_GOAL := help
+.PHONY: test lint yamllint ansiblelint license help
+
+test: ## run tests on the playbook with molecule
+	molecule --version
+	molecule test
+
+lint: yamllint ansiblelint ## run all lint checks
+
+# all YAML files
+YAML_FILES ?= $(shell find . -type f \( -name '*.yaml' -o -name '*.yml' \) -print )
+
+yamllint: ## lint check with yamllint
+	yamllint --version
+	yamllint \
+    -d "{extends: default, rules: {line-length: {max: 99}}}" \
+    -s $(YAML_FILES)
+
+ansiblelint: ## lint check with ansible-lint
+	ansible-lint --version
+	ansible-lint -v .
+	ansible-lint -v molecule/*/*
+
+license: ## Check license with the reuse tool
+	reuse --version
+	reuse --root . lint
+
+help: ## Print help for each target
+	@echo nsd test targets
+	@echo
+	@grep '^[[:alnum:]_-]*:.* ##' $(MAKEFILE_LIST) \
+    | sort | awk 'BEGIN {FS=":.* ## "}; {printf "%-25s %s\n", $$1, $$2};'
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8af9627
--- /dev/null
+++ b/README.md
@@ -0,0 +1,65 @@
+<!--
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+--!>
+# nsd
+
+NSD Authoritative DNS Server
+
+[NSD Documentation](https://nlnetlabs.nl/documentation/nsd/)
+
+By default, listens on 127.0.0.1 and assumes that `unbound` or a similar
+recursive resolver or a proxy like `dnscurve` is sending it requests.
+
+Both forward and reverse zones are created.
+
+TODO:
+
+- Handle creating forward-only zones, where the IP address isn't within the subnet
+
+## Requirements
+
+Minimum ansible version: 2.9.5
+
+## Defaults
+
+See the `dns_zones` structure:
+
+```yaml
+dns_zones:
+  example.com:
+    ip_range: 192.168.1.1/24
+    ns:
+      - gw.example.com.
+    a:
+      gw: 192.168.1.1
+      host1: 192.168.1.2
+      host2: 192.168.1.3
+      printer: 192.168.1.4
+    cname:
+      lpr: printer.example.com.
+    srv: {}
+    txt: {}
+```
+
+Note: In the molecule tests, `<zone>.serial` is used for the zonefile serial,
+and is set to a static value to guarantee idempotency. In production, this
+must be changed every time the zonefile changes, or can be omitted and the
+current timestamp is used to generate the serial.  Other DNS roles tried
+`complicated solutions
+<https://github.com/bertvv/ansible-role-bind/blob/master/templates/bind_zone.j2>`_
+to guarantee the serial changes, but that seems like a lot of trouble, and is only useful for zone transfers which are silly/antiquated 
+
+## Example Playbook
+
+```yaml
+- hosts: all
+  roles:
+    - nsd
+```
+
+## License and Author
+
+© 2020 Open Networking Foundation <support@opennetworking.org>
+
+License: Apache-2.0
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..c0ab82c
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.0.1-dev
diff --git a/defaults/main.yml b/defaults/main.yml
new file mode 100644
index 0000000..8a813bd
--- /dev/null
+++ b/defaults/main.yml
@@ -0,0 +1,13 @@
+---
+# nsd defaults/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+nsd_ip4: "127.0.0.1"
+
+nsd_port: 53
+
+nsd_default_ttl: 3600
+
+dns_zones: {}
diff --git a/filter_plugins/unbound_revdns.py b/filter_plugins/unbound_revdns.py
new file mode 100644
index 0000000..365e55d
--- /dev/null
+++ b/filter_plugins/unbound_revdns.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+# SPDX-FileCopyrightText: © 2017-2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# unbound_revdns - ansible filter - ipv4 address or cidr and generates a
+# reverse DNS string suitable for use with unbound, which requires them in a
+# slightly unusual format when a RFC1918 address is used with a local-zone
+# definition:
+# https://nlnetlabs.nl/documentation/unbound/unbound.conf/#local-zone
+# https://www.claudiokuenzler.com/blog/699/unbound-dns-not-serving-reverse-lookup-for-internal-addresses-rfc1918
+
+from __future__ import absolute_import
+import netaddr
+
+
+class FilterModule(object):
+    def filters(self):
+        return {
+            "unbound_revdns": self.unbound_revdns,
+        }
+
+    def unbound_revdns(self, var):
+        (o1, o2, o3, o4) = netaddr.IPNetwork(var).network.words
+
+        revdns = "%d.%d.%d.%d.in-addr.arpa." % (o4, o3, o2, o1)
+
+        if o2 == 0 or o1 == 10:
+            revdns = "%d.in-addr.arpa." % (o1)
+        elif (
+            o3 == 0
+            or (o1 == 172 and o2 >= 16 and o2 <= 31)
+            or (o1 == 192 and o2 == 168)
+        ):
+            revdns = "%d.%d.in-addr.arpa." % (o2, o1)
+        elif o4 == 0:
+            revdns = "%d.%d.%d.in-addr.arpa." % (o3, o2, o1)
+
+        return revdns
diff --git a/handlers/main.yml b/handlers/main.yml
new file mode 100644
index 0000000..dfb4676
--- /dev/null
+++ b/handlers/main.yml
@@ -0,0 +1,15 @@
+---
+# nsd handlers/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: restart-nsd
+  service:
+    name: "{{ nsd_service }}"
+    state: restarted
+
+- name: reload-nsd
+  service:
+    name: "{{ nsd_service }}"
+    state: reloaded
diff --git a/meta/main.yml b/meta/main.yml
new file mode 100644
index 0000000..f437da5
--- /dev/null
+++ b/meta/main.yml
@@ -0,0 +1,32 @@
+---
+# nsd meta/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+galaxy_info:
+  author: Open Networking Foundation
+  description: NSD Authoritative DNS Server
+  company: Open Networking Foundation
+
+  issue_tracker_url: https://jira.opennetworking.org/
+
+  license: Apache-2.0
+
+  min_ansible_version: 2.9.5
+
+  platforms:
+    - name: Ubuntu
+      versions:
+        - "18.04"
+    - name: Debian
+      versions:
+        - "10"
+    - name: OpenBSD
+      versions:
+        - "6.8"
+
+  galaxy_tags:
+    - nsd
+
+dependencies: []
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
new file mode 100644
index 0000000..e389b8f
--- /dev/null
+++ b/molecule/default/converge.yml
@@ -0,0 +1,28 @@
+---
+# nsd molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Converge
+  hosts: all
+  vars:
+    dns_zones:
+      example.com:
+        serial: 20201102
+        ip_range: 192.168.1.1/24
+        ns:
+          - gw.example.com.
+        a:
+          gw: 192.168.1.1
+          host1: 192.168.1.2
+          host2: 192.168.1.3
+          printer: 192.168.1.4
+        cname:
+          lpr: printer.example.com.
+        srv: {}
+        txt: {}
+  tasks:
+    - name: "Include nsd"
+      include_role:
+        name: "nsd"
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
new file mode 100644
index 0000000..f96dd10
--- /dev/null
+++ b/molecule/default/molecule.yml
@@ -0,0 +1,33 @@
+---
+# nsd molecule/default/molecule.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+dependency:
+  name: galaxy
+driver:
+  name: docker
+platforms:
+  - name: "ubuntu-18.04-priv"
+    image: "quay.io/paulfantom/molecule-systemd:ubuntu-18.04"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+  - name: "debian-10-priv"
+    image: "quay.io/paulfantom/molecule-systemd:debian-10"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+provisioner:
+  name: ansible
+  playbooks:
+    prepare: prepare.yml
+  inventory:
+    host_vars:
+      debian-10-priv:
+        ansible_python_interpreter: /usr/bin/python3
+      ubuntu-18.04-priv:
+        ansible_python_interpreter: /usr/bin/python3
+verifier:
+  name: ansible
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
new file mode 100644
index 0000000..311b712
--- /dev/null
+++ b/molecule/default/prepare.yml
@@ -0,0 +1,15 @@
+---
+# nsd molecule/default/prepare.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Prepare
+  hosts: all
+
+  tasks:
+  - name: Add dnsutils so dig works in tests
+    apt:
+      name: "dnsutils"
+      state: "present"
+      update_cache: true
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
new file mode 100644
index 0000000..a4851a1
--- /dev/null
+++ b/molecule/default/verify.yml
@@ -0,0 +1,32 @@
+---
+# nsd molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Verify
+  hosts: all
+  tasks:
+
+    # NOTE: Tests do not use the ansible dig lookup, because that executes on
+    # the host running ansible-playbook, not the target host.
+
+    # Lint flags the checks as they execute every time, skip this with 'noqa 301'
+
+    - name: Check for A record
+      command:  # noqa 301
+        cmd: "dig gw.example.com @127.0.0.1"
+      register: a_dig
+      failed_when: "'gw.example.com.\t\t3600\tIN\tA\t192.168.1.1' not in a_dig.stdout"
+
+    - name: Check for NS record
+      command:  # noqa 301
+        cmd: "dig ns example.com @127.0.0.1"
+      register: ns_dig
+      failed_when: "'example.com.\t\t3600\tIN\tNS\tgw.example.com.' not in ns_dig.stdout"
+
+    - name: Check for CNAME record
+      command:  # noqa 301
+        cmd: "dig lpr.example.com @127.0.0.1"
+      register: cn_dig
+      failed_when: "'lpr.example.com.\t3600\tIN\tCNAME\tprinter.example.com.' not in cn_dig.stdout"
diff --git a/tasks/Debian.yml b/tasks/Debian.yml
new file mode 100644
index 0000000..7f2e108
--- /dev/null
+++ b/tasks/Debian.yml
@@ -0,0 +1,12 @@
+---
+# nsd tasks/Debian.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Install NSD packages (Debian)
+  apt:
+    name: "nsd"
+    state: "present"
+    update_cache: true
+    cache_valid_time: 3600
diff --git a/tasks/OpenBSD.yml b/tasks/OpenBSD.yml
new file mode 100644
index 0000000..e64f33f
--- /dev/null
+++ b/tasks/OpenBSD.yml
@@ -0,0 +1,7 @@
+---
+# nsd tasks/OpenBSD.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# nothing to do here, OpenBSD already has NSD installed in base
diff --git a/tasks/main.yml b/tasks/main.yml
new file mode 100644
index 0000000..68af1d5
--- /dev/null
+++ b/tasks/main.yml
@@ -0,0 +1,58 @@
+---
+# nsd tasks/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: include OS-specific vars
+  include_vars: "{{ ansible_os_family }}.yml"
+
+- name: include OS-specific tasks
+  include_tasks: "{{ ansible_os_family }}.yml"
+
+- name: Create nsd zones directory
+  file:
+    name: "{{ nsd_zones_dir }}"
+    state: directory
+    mode: 0755
+    owner: root
+    group: "{{ nsd_groupname }}"
+
+- name: Create nsd.conf configuration file from template
+  template:
+    src: "nsd.conf.j2"
+    dest: "{{ nsd_conf_dir }}/nsd.conf"
+    owner: root
+    group: "{{ nsd_groupname }}"
+    mode: 0644
+    backup: true
+    validate: "nsd-checkconf %s"
+  notify:
+    - restart-nsd
+
+- name: Create DNS forward zonefiles from template
+  template:
+    src: zone.forward.j2
+    dest: "{{ nsd_zones_dir }}/{{ item.key }}.forward"
+    mode: 0644
+    owner: root
+    group: "{{ nsd_groupname }}"
+    validate: "nsd-checkzone {{ item.key }} %s"
+  with_dict: "{{ dns_zones }}"
+  notify:
+    - reload-nsd
+
+- name: Create DNS reverse zonefiles from template
+  template:
+    src: zone.reverse.j2
+    dest: "{{ nsd_zones_dir }}/{{ item.key }}.reverse"
+    mode: 0644
+    owner: root
+    group: "{{ nsd_groupname }}"
+    validate: "nsd-checkzone {{ item.value.ip_range | unbound_revdns }} %s"
+  with_dict: "{{ dns_zones }}"
+  notify:
+    - reload-nsd
+
+- name: Flush handlers as listen addresses can conflict with unbound
+  meta: flush_handlers
diff --git a/templates/nsd.conf.j2 b/templates/nsd.conf.j2
new file mode 100644
index 0000000..ff5b39f
--- /dev/null
+++ b/templates/nsd.conf.j2
@@ -0,0 +1,31 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+# nsd templates/nsd.conf.j2 - {{ ansible_managed }}
+
+server:
+  hide-version: yes
+
+## bind to a specific address/port
+  ip-address: {{ nsd_ip4 }}
+  ip4-only: yes
+  port: {{ nsd_port }}
+
+  server-count: 1
+  zonesdir: {{ nsd_zones_dir }}
+
+remote-control:
+  control-enable: yes
+
+# zonefiles to load
+{% for key, value in dns_zones.items() %}
+zone:
+  name: {{ key }}
+  zonefile: {{ key }}.forward
+
+zone:
+  name: {{ value.ip_range | unbound_revdns }}
+  zonefile: {{ key }}.reverse
+
+{% endfor %}
diff --git a/templates/zone.forward.j2 b/templates/zone.forward.j2
new file mode 100644
index 0000000..1a10187
--- /dev/null
+++ b/templates/zone.forward.j2
@@ -0,0 +1,49 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+;# nsd forward zone, templates/zone.forward.j2 - {{ ansible_managed }}
+
+$ORIGIN {{ item.key }}. ; default zone domain
+$TTL {{ item.ttl | default(nsd_default_ttl) }} ; default time to live
+
+@ IN SOA {{ item.value.ns | first }} admin.{{ item.key }}. (
+         {{ item.value.serial | default(ansible_date_time.epoch) }}   ; Serial, must be incremented every time you change this file
+         3600        ; Refresh [1hr]
+         600         ; Retry [10m]
+         3600        ; Expire [1hr]
+         60          ; Min TTL [1m]
+         )
+
+; NameServers
+{% for ns in item.value.ns %}
+ IN NS {{ ns }}
+{% endfor %}
+{% if item.value.a is defined %}
+
+; A records
+{% for name, ip4 in item.value.a.items() %}
+{{ name }} IN A {{ ip4 }}
+{% endfor %}
+{% endif %}
+{% if item.value.cname is defined %}
+
+; CNAME records
+{% for name, target in item.value.cname.items() %}
+{{ name }} IN CNAME {{ target }}
+{% endfor %}
+{% endif %}
+{% if item.srv is defined %}
+
+; SRV records
+{% for name, val in item.value.srv.items() %}
+{{ name }} {{ val.ttl | default(nsd_default_ttl) }} IN SRV {{ val.priority | default(10) }} {{ val.port }} {{ val.target }}
+{% endfor %}
+{% endif %}
+{% if item.value.txt is defined %}
+
+; TXT records
+{% for name, val in item.value.txt.items() %}
+{{ name }} IN TXT "{{ val }}"
+{% endfor %}
+{% endif %}
diff --git a/templates/zone.reverse.j2 b/templates/zone.reverse.j2
new file mode 100644
index 0000000..a0e5ecc
--- /dev/null
+++ b/templates/zone.reverse.j2
@@ -0,0 +1,23 @@
+{#
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+#}
+;# nsd reverse zone, templates/zone.reverse.j2 - {{ ansible_managed }}
+
+$ORIGIN {{ item.key }}. ; default zone domain
+$TTL {{ item.value.ttl | default(nsd_default_ttl) }} ; default time to live
+
+{{ item.value.ip_range | unbound_revdns }} IN SOA {{ item.value.ns | first }} admin.{{ item.key }}. (
+         {{ item.value.serial | default(ansible_date_time.epoch) }}   ; Serial, must be incremented every time you change this file
+         3600        ; Refresh [1hr]
+         600         ; Retry [10m]
+         3600        ; Expire [1hr]
+         60          ; Min TTL [1m]
+         )
+{% if item.value.a is defined %}
+
+; PTR records
+{% for name, ip4 in item.value.a.items() %}
+{{ ip4 | ipaddr('revdns')}} IN PTR {{ name }}
+{% endfor %}
+{% endif %}
diff --git a/vars/Debian.yml b/vars/Debian.yml
new file mode 100644
index 0000000..a8a5076
--- /dev/null
+++ b/vars/Debian.yml
@@ -0,0 +1,16 @@
+---
+# nsd vars/Debian.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+#
+# NOTE: Only put platform/OS-specific variables in this file.
+# Put all other variables in the 'defaults/main.yml' file.
+
+nsd_service: "nsd"
+
+nsd_username: "nsd"
+nsd_groupname: "nsd"
+
+nsd_conf_dir: "/etc/nsd"
+nsd_zones_dir: "/var/lib/nsd/zones"
diff --git a/vars/OpenBSD.yml b/vars/OpenBSD.yml
new file mode 100644
index 0000000..0849af3
--- /dev/null
+++ b/vars/OpenBSD.yml
@@ -0,0 +1,16 @@
+---
+# nsd vars/OpenBSD.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+#
+# NOTE: Only put platform/OS-specific variables in this file.
+# Put all other variables in the 'defaults/main.yml' file.
+
+nsd_service: "nsd"
+
+nsd_username: "_nsd"
+nsd_groupname: "_nsd"
+
+nsd_conf_dir: "/var/nsd/etc"
+nsd_zones_dir: "/var/nsd/zones"
