Pārlūkot izejas kodu

Added openldap docker/fig block, ldap auth seems to be complicated and take some time, not sure if that is high prio now

Torkel Ödegaard 11 gadi atpakaļ
vecāks
revīzija
dc16c8c60c

+ 33 - 0
docker/blocks/openldap/Dockerfile

@@ -0,0 +1,33 @@
+FROM phusion/baseimage:0.9.8
+MAINTAINER Nick Stenning <nick@whiteink.com>
+
+ENV HOME /root
+
+# Disable SSH
+RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh
+
+# Use baseimage-docker's init system.
+CMD ["/sbin/my_init"]
+
+# Configure apt
+RUN echo 'deb http://us.archive.ubuntu.com/ubuntu/ precise universe' >> /etc/apt/sources.list
+RUN apt-get -y update
+
+# Install slapd
+RUN LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y slapd
+
+# Default configuration: can be overridden at the docker command line
+ENV LDAP_ROOTPASS toor
+ENV LDAP_ORG Acme Widgets Inc.
+ENV LDAP_DOMAIN example.com
+
+EXPOSE 389
+
+RUN mkdir /etc/service/slapd
+ADD slapd.sh /etc/service/slapd/run
+
+# To store the data outside the container, mount /var/lib/ldap as a data volume
+
+RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+
+# vim:ts=8:noet:

+ 9 - 0
docker/blocks/openldap/fig

@@ -0,0 +1,9 @@
+openldap:
+  image: cnry/openldap
+  environment:
+    SLAPD_PASSWORD: grafana
+    SLAPD_DOMAIN: grafana.org
+  ports:
+    - "389:389"
+
+

+ 42 - 0
docker/blocks/openldap/slapd.sh

@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -eu
+
+status () {
+  echo "---> ${@}" >&2
+}
+
+set -x
+: LDAP_ROOTPASS=${LDAP_ROOTPASS}
+: LDAP_DOMAIN=${LDAP_DOMAIN}
+: LDAP_ORGANISATION=${LDAP_ORGANISATION}
+
+if [ ! -e /var/lib/ldap/docker_bootstrapped ]; then
+  status "configuring slapd for first run"
+
+  cat <<EOF | debconf-set-selections
+slapd slapd/internal/generated_adminpw password ${LDAP_ROOTPASS}
+slapd slapd/internal/adminpw password ${LDAP_ROOTPASS}
+slapd slapd/password2 password ${LDAP_ROOTPASS}
+slapd slapd/password1 password ${LDAP_ROOTPASS}
+slapd slapd/dump_database_destdir string /var/backups/slapd-VERSION
+slapd slapd/domain string ${LDAP_DOMAIN}
+slapd shared/organization string ${LDAP_ORGANISATION}
+slapd slapd/backend string HDB
+slapd slapd/purge_database boolean true
+slapd slapd/move_old_database boolean true
+slapd slapd/allow_ldap_v2 boolean false
+slapd slapd/no_configuration boolean false
+slapd slapd/dump_database select when needed
+EOF
+
+  dpkg-reconfigure -f noninteractive slapd
+
+  touch /var/lib/ldap/docker_bootstrapped
+else
+  status "found already-configured slapd"
+fi
+
+status "starting slapd"
+set -x
+exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d 0

+ 8 - 3
docker/fig.yml

@@ -1,5 +1,10 @@
-graphite:
-  build: blocks/docker_graphite
+openldap:
+  image: cnry/openldap
+  environment:
+    SLAPD_PASSWORD: grafana
+    SLAPD_DOMAIN: grafana.org
   ports:
-    - "8776:80"
+    - "389:389"
+
+