From c76ae7d9398e3a04ded06c7e54811ad7a379921a Mon Sep 17 00:00:00 2001 From: Jan Provaznik Date: Thu, 31 Mar 2016 10:57:30 +0200 Subject: Allow containerized deployment of dns role If containerized, docker image for bind service is built during ansible run. The default named systemd unit file triggers named-checkconf on named service start so it's not neccessary to include this validation when copying file templates (equivalent named-checkconf is included in the containerized named unit file too). --- roles/dns/templates/Dockerfile | 11 +++++++++++ roles/dns/templates/named.service.j2 | 15 +++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 roles/dns/templates/Dockerfile create mode 100644 roles/dns/templates/named.service.j2 (limited to 'roles/dns/templates') diff --git a/roles/dns/templates/Dockerfile b/roles/dns/templates/Dockerfile new file mode 100644 index 000000000..cdff0a228 --- /dev/null +++ b/roles/dns/templates/Dockerfile @@ -0,0 +1,11 @@ +FROM {{ base_docker_image }} +MAINTAINER Jan Provaznik + +# install main packages: +RUN yum -y update; yum clean all; +RUN yum -y install bind-utils bind + +EXPOSE 53 + +# start services: +CMD ["/usr/sbin/named", "-f"] diff --git a/roles/dns/templates/named.service.j2 b/roles/dns/templates/named.service.j2 new file mode 100644 index 000000000..566739f25 --- /dev/null +++ b/roles/dns/templates/named.service.j2 @@ -0,0 +1,15 @@ +[Unit] +Requires=docker.service +After=docker.service +PartOf=docker.service + +[Service] +Type=simple +TimeoutStartSec=5m +ExecStartPre=/usr/bin/docker run --rm -v /etc/named.conf:/etc/named.conf -v /var/named:/var/named:z bind named-checkconf -z /etc/named.conf +ExecStartPre=-/usr/bin/docker rm -f bind +ExecStart=/usr/bin/docker run --name bind -p 53:53/udp -v /var/log:/var/log -v /etc/named.conf:/etc/named.conf -v /var/named:/var/named:z bind +ExecStop=/usr/bin/docker stop bind + +[Install] +WantedBy=docker.service -- cgit v1.2.3