Archived
Compare commits
20
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc0dd766d2 | ||
|
|
78e3ae88e2 | ||
|
|
01f8d8ddcf | ||
|
|
dc2ec09f22 | ||
|
|
ad1de4a196 | ||
|
|
41dd9c581e | ||
|
|
79387d1f4e | ||
|
|
9a3d247903 | ||
|
|
a659aba3ce | ||
|
|
680bfa91f7 | ||
|
|
f1a9dd1b78 | ||
|
|
69b7e8fdfe | ||
|
|
f5d4c7b5c5 | ||
|
|
c788c20245 | ||
|
|
731d92cb2e | ||
|
|
09b8595d62 | ||
|
|
e893fff3c8 | ||
|
|
234448a2f6 | ||
|
|
f689d38735 | ||
|
|
ea98e31808 |
No files matched your search
Whitespace-only changes.
+22
-10
@@ -1,47 +1,59 @@
|
|||||||
FROM osixia/baseimage:0.6.0
|
FROM osixia/baseimage:0.10.0
|
||||||
MAINTAINER Bertrand Gouny <bertrand.gouny@osixia.fr>
|
MAINTAINER Bertrand Gouny <bertrand.gouny@osixia.net>
|
||||||
|
|
||||||
# From Nick Stenning's work
|
# From Nick Stenning's work
|
||||||
# https://github.com/nickstenning/docker-slapd
|
# https://github.com/nickstenning/docker-slapd
|
||||||
|
|
||||||
# Default configuration: can be overridden at the docker command line
|
# Default configuration: can be overridden at the docker command line
|
||||||
|
ENV DOMAIN_NAME ldap.example.com
|
||||||
|
ENV LDAP_DOMAIN example.com
|
||||||
ENV LDAP_ADMIN_PWD toor
|
ENV LDAP_ADMIN_PWD toor
|
||||||
ENV LDAP_ORGANISATION Example Inc.
|
ENV LDAP_ORGANISATION Example Inc.
|
||||||
ENV LDAP_DOMAIN example.com
|
|
||||||
|
ENV WITH_MMC_AGENT false
|
||||||
|
ENV MMC_AGENT_LOGIN mmc-docker
|
||||||
|
ENV MMC_AGENT_PASSWORD passw0rd
|
||||||
|
|
||||||
# /!\ To store the data outside the container,
|
# /!\ To store the data outside the container,
|
||||||
# mount /var/lib/ldap and /etc/ldap/slapd.d as a data volume add
|
# mount /var/lib/ldap and /etc/ldap/slapd.d as a data volume add
|
||||||
# -v /some/host/directory:/var/lib/ldap and -v /some/other/host/directory:/etc/ldap/slapd.d
|
# -v /some/host/directory:/var/lib/ldap and -v /some/other/host/directory:/etc/ldap/slapd.d
|
||||||
# to the run command
|
# to the run command
|
||||||
|
|
||||||
|
VOLUME ["/var/lib/ldap", "/etc/ldap/slapd.d"]
|
||||||
|
|
||||||
# Disable SSH
|
# Disable SSH
|
||||||
# RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh
|
# RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh
|
||||||
|
|
||||||
# Enable dnsmasq
|
# Enable dnsmasq
|
||||||
RUN /sbin/enable-service dnsmasq
|
RUN /sbin/enable-service dnsmasq ca-authority
|
||||||
|
|
||||||
# Use baseimage-docker's init system.
|
# Use baseimage-docker's init system.
|
||||||
CMD ["/sbin/my_init"]
|
CMD ["/sbin/my_init"]
|
||||||
|
|
||||||
|
# Add Mandriva MDS repository
|
||||||
|
RUN echo "deb http://mds.mandriva.org/pub/mds/debian wheezy main" >> /etc/apt/sources.list
|
||||||
|
|
||||||
# Resynchronize the package index files from their sources
|
# Resynchronize the package index files from their sources
|
||||||
RUN apt-get -y update
|
RUN apt-get -y update
|
||||||
|
|
||||||
# Install openldap (slapd) and ldap-utils
|
# Install openldap (slapd) and ldap-utils
|
||||||
RUN LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends slapd ldap-utils openssl
|
RUN LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes --no-install-recommends slapd ldap-utils mmc-agent python-mmc-mail
|
||||||
|
|
||||||
# Expose ldap default port
|
# Expose ldap and mmc-agent default ports
|
||||||
EXPOSE 389
|
EXPOSE 389 7080
|
||||||
|
|
||||||
# Create TLS certificats directory
|
# Create TLS certificats directory
|
||||||
RUN mkdir /etc/ldap/ssl
|
RUN mkdir /etc/ldap/ssl
|
||||||
|
|
||||||
# Add config directory
|
# Add config directory
|
||||||
RUN mkdir /etc/ldap/config
|
ADD service/slapd/assets/config /etc/ldap/config
|
||||||
ADD service/slapd/config /etc/ldap/config
|
ADD service/mmc-agent/assets /etc/mmc/agent/assets
|
||||||
|
|
||||||
# Add slapd deamon
|
# Add slapd deamon
|
||||||
RUN mkdir /etc/service/slapd
|
|
||||||
ADD service/slapd/slapd.sh /etc/service/slapd/run
|
ADD service/slapd/slapd.sh /etc/service/slapd/run
|
||||||
|
|
||||||
|
# Add mmc-agent deamon
|
||||||
|
ADD service/mmc-agent/mmc-agent.sh /etc/service/mmc-agent/run
|
||||||
|
|
||||||
# Clear out the local repository of retrieved package files
|
# Clear out the local repository of retrieved package files
|
||||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
NAME = nikolaik/openldap
|
NAME = osixia/openldap
|
||||||
VERSION = 0.9.2
|
VERSION = 0.9.2
|
||||||
|
|
||||||
.PHONY: all build test tag_latest release
|
.PHONY: all build test tag_latest release
|
||||||
@@ -6,16 +6,17 @@ VERSION = 0.9.2
|
|||||||
all: build
|
all: build
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker.io build -t $(NAME):$(VERSION) --rm .
|
docker build -t $(NAME):$(VERSION) --rm .
|
||||||
|
|
||||||
test:
|
test:
|
||||||
env NAME=$(NAME) VERSION=$(VERSION) ./test.sh debug
|
env NAME=$(NAME) VERSION=$(VERSION) ./test.sh debug
|
||||||
|
|
||||||
tag_latest:
|
tag_latest:
|
||||||
docker.io tag $(NAME):$(VERSION) $(NAME):latest
|
docker tag $(NAME):$(VERSION) $(NAME):latest
|
||||||
|
|
||||||
release: build test tag_latest
|
release: build test tag_latest
|
||||||
@if ! docker.io images $(NAME) | awk '{ print $$2 }' | grep -q -F $(VERSION); then echo "$(NAME) version $(VERSION) is not yet built. Please run 'make build'"; false; fi
|
@if ! docker images $(NAME) | awk '{ print $$2 }' | grep -q -F $(VERSION); then echo "$(NAME) version $(VERSION) is not yet built. Please run 'make build'"; false; fi
|
||||||
docker.io push $(NAME)
|
@if ! head -n 1 CHANGELOG.md | grep -q 'release date'; then echo 'Please note the release date in Changelog.md.' && false; fi
|
||||||
@echo "*** Don't forget to run 'twgit release finish' :)"
|
docker push $(NAME)
|
||||||
|
@echo "*** Don't forget to run 'twgit release/hotfix finish' :)"
|
||||||
|
|
||||||
@@ -28,6 +28,6 @@ and optionaly `dhparam.pem` this file is genereted automaticaly if not present.
|
|||||||
-v /data/ldap/log/:/var/log \
|
-v /data/ldap/log/:/var/log \
|
||||||
-e LDAP_DOMAIN=example.com \
|
-e LDAP_DOMAIN=example.com \
|
||||||
-e LDAP_ORGANISATION="Example Corp." \
|
-e LDAP_ORGANISATION="Example Corp." \
|
||||||
-e LDAP_ADMIN_PWD=toor \
|
-e LDAP_ROOTPASS=toor \
|
||||||
-p 389:389 -d osixia/openldap
|
-p 389:389 -d osixia/openldap
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[userdefault]
|
||||||
|
mailbox = /home/vmail/%uid%/
|
||||||
|
mailuserquota = 204800
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
include /etc/ldap/schema/core.schema
|
||||||
|
include /etc/ldap/schema/cosine.schema
|
||||||
|
include /etc/ldap/schema/nis.schema
|
||||||
|
include /etc/ldap/schema/inetorgperson.schema
|
||||||
|
include /usr/share/doc/mmc/contrib/base/mmc.schema
|
||||||
|
include /usr/share/doc/mmc/contrib/mail/mail.schema
|
||||||
Executable
+94
@@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# -e Exit immediately if a command exits with a non-zero status
|
||||||
|
set -e
|
||||||
|
|
||||||
|
WITH_MMC_AGENT=${WITH_MMC_AGENT}
|
||||||
|
|
||||||
|
# Run mmc-agent
|
||||||
|
if [ "$WITH_MMC_AGENT" = true ]; then
|
||||||
|
|
||||||
|
# Openldap is configured
|
||||||
|
if [ -e /etc/ldap/slapd.d/docker_bootstrapped ]; then
|
||||||
|
|
||||||
|
# mmc-agent is not already configured
|
||||||
|
if [ ! -e /etc/mmc/agent/docker_bootstrapped ]; then
|
||||||
|
status "configuring mmc-agent for first run"
|
||||||
|
|
||||||
|
status () {
|
||||||
|
echo "---> ${@}" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
getBaseDn () {
|
||||||
|
IFS="."
|
||||||
|
export IFS
|
||||||
|
|
||||||
|
domain=$1
|
||||||
|
init=1
|
||||||
|
|
||||||
|
for s in $domain; do
|
||||||
|
dc="dc=$s"
|
||||||
|
if [ "$init" -eq 1 ]; then
|
||||||
|
baseDn=$dc
|
||||||
|
init=0
|
||||||
|
else
|
||||||
|
baseDn="$baseDn,$dc"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
DOMAIN_NAME=${DOMAIN_NAME}
|
||||||
|
WITH_MMC_AGENT=${WITH_MMC_AGENT}
|
||||||
|
LDAP_DOMAIN=${LDAP_DOMAIN}
|
||||||
|
LDAP_ADMIN_PWD=${LDAP_ADMIN_PWD}
|
||||||
|
MMC_AGENT_LOGIN=${MMC_AGENT_LOGIN}
|
||||||
|
MMC_AGENT_PASSWORD=${MMC_AGENT_PASSWORD}
|
||||||
|
|
||||||
|
# mmc-agent config
|
||||||
|
sed -i -e "s/127.0.0.1/0.0.0.0/" /etc/mmc/agent/config.ini #listen on docker default network
|
||||||
|
sed -i -e "s/login = mmc/login = $MMC_AGENT_LOGIN/" /etc/mmc/agent/config.ini
|
||||||
|
sed -i -e "s/password = s3cr3t/password = $MMC_AGENT_PASSWORD/" /etc/mmc/agent/config.ini
|
||||||
|
|
||||||
|
# generate ssl certificate
|
||||||
|
rm /etc/mmc/agent/keys/cacert.pem /etc/mmc/agent/keys/localcert.pem
|
||||||
|
/sbin/ssl-create-cert mmc /etc/mmc/agent/keys/cacert.pem /etc/mmc/agent/keys/localcert.pem
|
||||||
|
|
||||||
|
# Get base dn from ldap domain
|
||||||
|
getBaseDn ${LDAP_DOMAIN}
|
||||||
|
|
||||||
|
sed -i -e "s/dc=mandriva, dc=com/$baseDn/" /etc/mmc/plugins/base.ini
|
||||||
|
sed -i -e "s/password = secret/password = $LDAP_ADMIN_PWD/" /etc/mmc/plugins/base.ini
|
||||||
|
|
||||||
|
mkdir /home/archives
|
||||||
|
|
||||||
|
# Mail plugin
|
||||||
|
|
||||||
|
sed -i -e 's/vDomainSupport = 0/vDomainSupport = 1/g' /etc/mmc/plugins/mail.ini
|
||||||
|
sed -i -e 's/vAliasesSupport = 0/vAliasesSupport = 1/g' /etc/mmc/plugins/mail.ini
|
||||||
|
cat /etc/mmc/agent/assets/append_to_mail.ini >> /etc/mmc/plugins/mail.ini
|
||||||
|
|
||||||
|
touch /etc/mmc/agent/docker_bootstrapped
|
||||||
|
else
|
||||||
|
status "found already-configured mmc-agent"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run mmc-agent
|
||||||
|
exec /usr/sbin/mmc-agent -d
|
||||||
|
|
||||||
|
# wait openldap config done
|
||||||
|
else
|
||||||
|
sleep 3s
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Do nothing but needed for runit
|
||||||
|
else
|
||||||
|
sleep 1d
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
dn: cn=config
|
dn: cn=config
|
||||||
changetype: modify
|
changetype: modify
|
||||||
|
add: olcTLSCipherSuite
|
||||||
|
olcTLSCipherSuite: SECURE256:-VERS-SSL3.0
|
||||||
|
-
|
||||||
replace: olcTLSCACertificateFile
|
replace: olcTLSCACertificateFile
|
||||||
olcTLSCACertificateFile: /etc/ldap/ssl/ca.crt
|
olcTLSCACertificateFile: /etc/ldap/ssl/ca.crt
|
||||||
-
|
-
|
||||||
File renamed without changes.
@@ -1,12 +0,0 @@
|
|||||||
dn: cn=autofs,cn=schema,cn=config
|
|
||||||
changetype: add
|
|
||||||
objectClass: olcSchemaConfig
|
|
||||||
cn: autofs
|
|
||||||
olcAttributeTypes: {0}( 1.3.6.1.1.1.1.25 NAME 'automountInformation' DESC 'Inf
|
|
||||||
ormation used by the autofs automounter' EQUALITY caseExactIA5Match SYNTAX 1.
|
|
||||||
3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
||||||
olcObjectClasses: {0}( 1.3.6.1.1.1.1.13 NAME 'automount' DESC 'An entry in an
|
|
||||||
automounter map' SUP top STRUCTURAL MUST ( cn $ automountInformation $ object
|
|
||||||
class ) MAY description )
|
|
||||||
olcObjectClasses: {1}( 1.3.6.1.4.1.2312.4.2.2 NAME 'automountMap' DESC 'An gro
|
|
||||||
up of related automount objects' SUP top STRUCTURAL MUST ou )
|
|
||||||
+53
-13
@@ -11,6 +11,7 @@ set -x
|
|||||||
: LDAP_ADMIN_PWD=${LDAP_ADMIN_PWD}
|
: LDAP_ADMIN_PWD=${LDAP_ADMIN_PWD}
|
||||||
: LDAP_DOMAIN=${LDAP_DOMAIN}
|
: LDAP_DOMAIN=${LDAP_DOMAIN}
|
||||||
: LDAP_ORGANISATION=${LDAP_ORGANISATION}
|
: LDAP_ORGANISATION=${LDAP_ORGANISATION}
|
||||||
|
: DOMAIN_NAME=${DOMAIN_NAME}
|
||||||
|
|
||||||
|
|
||||||
############ Base config ############
|
############ Base config ############
|
||||||
@@ -35,6 +36,10 @@ EOF
|
|||||||
|
|
||||||
dpkg-reconfigure -f noninteractive slapd
|
dpkg-reconfigure -f noninteractive slapd
|
||||||
|
|
||||||
|
# Enable access only from docker default network and localhost
|
||||||
|
echo "slapd: 172.17.0.0/255.255.0.0 127.0.0.1 : ALLOW" >> /etc/hosts.allow
|
||||||
|
echo "slapd: ALL : DENY" >> /etc/hosts.allow
|
||||||
|
|
||||||
touch /var/lib/ldap/docker_bootstrapped
|
touch /var/lib/ldap/docker_bootstrapped
|
||||||
|
|
||||||
else
|
else
|
||||||
@@ -43,41 +48,76 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
############ Custom config ############
|
############ Custom config ############
|
||||||
if [ ! -e /etc/ldap/config/docker_bootstrapped ]; then
|
if [ ! -e /etc/ldap/slapd.d/docker_bootstrapped ]; then
|
||||||
status "Custom config"
|
status "Custom config"
|
||||||
|
|
||||||
slapd -h "ldapi:///" -u openldap -g openldap
|
slapd -h "ldapi:///" -u openldap -g openldap
|
||||||
chown -R openldap:openldap /etc/ldap
|
chown -R openldap:openldap /etc/ldap
|
||||||
|
|
||||||
|
if [ "$WITH_MMC_AGENT" = true ]; then
|
||||||
|
|
||||||
|
# Convert needed mmc ldap schema to ldif
|
||||||
|
mkdir -p /etc/ldap/schema/converted
|
||||||
|
slaptest -f /etc/mmc/agent/assets/convert_to_ldif -F /etc/ldap/schema/converted
|
||||||
|
|
||||||
|
sed -i -e 's/^dn:.*$/dn: cn=mmc,cn=schema,cn=config/; s/^cn:.*$/cn: mmc/; /^structuralObjectClass:.*$/d; /^entryUUID:.*$/d; /^creatorsName:.*$/d; /^createTimestamp:.*$/d; /^entryCSN:.*$/d; /^modifiersName:.*$/d; /^modifyTimestamp:.*$/d' /etc/ldap/schema/converted/cn\=config/cn\=schema/cn=\{4\}mmc.ldif
|
||||||
|
|
||||||
|
sed -i -e 's/^dn:.*$/dn: cn=mail,cn=schema,cn=config/; s/^cn:.*$/cn: mail/; /^structuralObjectClass:.*$/d; /^entryUUID:.*$/d; /^creatorsName:.*$/d; /^createTimestamp:.*$/d; /^entryCSN:.*$/d; /^modifiersName:.*$/d; /^modifyTimestamp:.*$/d' /etc/ldap/schema/converted/cn\=config/cn\=schema/cn=\{5\}mail.ldif
|
||||||
|
|
||||||
|
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/converted/cn\=config/cn\=schema/cn=\{4\}mmc.ldif -Q
|
||||||
|
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/converted/cn\=config/cn\=schema/cn=\{5\}mail.ldif -Q
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# TLS
|
# TLS
|
||||||
if [ -e /etc/ldap/ssl/ldap.crt ] && [ -e /etc/ldap/ssl/ldap.key ] && [ -e /etc/ldap/ssl/ca.crt ]; then
|
if [ -e /etc/ldap/ssl/ldap.crt ] && [ -e /etc/ldap/ssl/ldap.key ] && [ -e /etc/ldap/ssl/ca.crt ]; then
|
||||||
status "certificates found"
|
status "certificates found"
|
||||||
|
|
||||||
chmod 600 /etc/ldap/ssl/ldap.key
|
else
|
||||||
|
|
||||||
# create DHParamFile if not found
|
# generate default tls certificate
|
||||||
[ -f /etc/ldap/ssl/dhparam.pem ] || openssl dhparam -out /etc/ldap/ssl/dhparam.pem 2048
|
export SSL_SLAPD_COMMON_NAME="$DOMAIN_NAME"
|
||||||
|
export SSL_SLAPD_ORGANIZATION="${LDAP_ORGANISATION}"
|
||||||
|
|
||||||
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ldap/config/auto/tls.ldif -Q
|
/sbin/ssl-gnutls-create-signed-cert slapd /etc/ldap/ssl/ldap.crt /etc/ldap/ssl/ldap.key
|
||||||
|
ln -s /etc/ssl/certs/docker_baseimage_gnutls_cacert.pem /etc/ldap/ssl/ca.crt
|
||||||
# add fake dnsmasq route to certificate cn
|
|
||||||
cn=$(openssl x509 -in /etc/ldap/ssl/ldap.crt -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
|
|
||||||
echo "127.0.0.1 " $cn >> /etc/dhosts
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Fix permission on certificates
|
||||||
|
chown openldap:openldap -R /etc/ldap/ssl
|
||||||
|
chmod 600 /etc/ldap/ssl/ldap.key
|
||||||
|
|
||||||
|
# ldap client config
|
||||||
|
sed -i 's,TLS_CACERT.*,TLS_CACERT /etc/ldap/ssl/ca.crt,g' /etc/ldap/ldap.conf
|
||||||
|
|
||||||
|
# create DHParamFile if not found
|
||||||
|
[ -f /etc/ldap/ssl/dhparam.pem ] || openssl dhparam -out /etc/ldap/ssl/dhparam.pem 2048
|
||||||
|
|
||||||
|
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ldap/config/modify/auto/tls.ldif -Q
|
||||||
|
|
||||||
|
# add fake dnsmasq route to certificate cn
|
||||||
|
cn=$(openssl x509 -in /etc/ldap/ssl/ldap.crt -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
|
||||||
|
/sbin/dns-add-host 127.0.0.1 $cn
|
||||||
|
|
||||||
# Replication
|
# Replication
|
||||||
# todo :)
|
# todo :)
|
||||||
|
|
||||||
# Other config files
|
# Add config
|
||||||
for f in $(find /etc/ldap/config -maxdepth 1 -name \*.ldif -type f); do
|
for f in $(find /etc/ldap/config/add -maxdepth 1 -name \*.ldif -type f); do
|
||||||
|
status "Processing file ${f}"
|
||||||
|
ldapadd -Y EXTERNAL -H ldapi:/// -f $f -Q
|
||||||
|
done
|
||||||
|
|
||||||
|
# Modify config
|
||||||
|
for f in $(find /etc/ldap/config/modify -maxdepth 1 -name \*.ldif -type f); do
|
||||||
status "Processing file ${f}"
|
status "Processing file ${f}"
|
||||||
ldapmodify -Y EXTERNAL -H ldapi:/// -f $f -Q
|
ldapmodify -Y EXTERNAL -H ldapi:/// -f $f -Q
|
||||||
done
|
done
|
||||||
|
|
||||||
kill -INT `cat /run/slapd/slapd.pid`
|
kill -INT `cat /run/slapd/slapd.pid`
|
||||||
|
|
||||||
touch /etc/ldap/config/docker_bootstrapped
|
touch /etc/ldap/slapd.d/docker_bootstrapped
|
||||||
|
|
||||||
else
|
else
|
||||||
status "found already-configured slapd"
|
status "found already-configured slapd"
|
||||||
@@ -86,4 +126,4 @@ fi
|
|||||||
status "starting slapd on default port 389"
|
status "starting slapd on default port 389"
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
exec /usr/sbin/slapd -h "ldap:/// ldapi:///" -u openldap -g openldap -d -1
|
exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d -1
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
testImage=nikolaik/openldap:latest
|
testImage=osixia/openldap:latest
|
||||||
testContainer=openldap-repository-test-container
|
testContainer=openldap-repository-test-container
|
||||||
testDir=/osixia-repository-test-docker-openldap
|
testDir=/osixia-repository-test-docker-openldap
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,12 @@ mkdir $testDir/config
|
|||||||
|
|
||||||
runOptions="-e LDAP_DOMAIN=otherdomain.com -v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
|
runOptions="-e LDAP_DOMAIN=otherdomain.com -v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
|
||||||
. $dir/tools/run-container.sh
|
. $dir/tools/run-container.sh
|
||||||
|
sleep 30
|
||||||
$dir/tools/delete-container.sh
|
$dir/tools/delete-container.sh
|
||||||
|
|
||||||
runOptions="-v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
|
runOptions="-v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
|
||||||
. $dir/tools/run-container.sh
|
. $dir/tools/run-container.sh
|
||||||
|
sleep 30
|
||||||
echo "ldapsearch -x -h $IP -b dc=otherdomain,dc=com"
|
echo "ldapsearch -x -h $IP -b dc=otherdomain,dc=com"
|
||||||
ldapsearch -x -h $IP -b dc=otherdomain,dc=com
|
ldapsearch -x -h $IP -b dc=otherdomain,dc=com
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ dir=$(dirname $0)
|
|||||||
. $dir/tools/run-container.sh
|
. $dir/tools/run-container.sh
|
||||||
|
|
||||||
echo "ldapsearch -x -h $IP -b dc=example,dc=com"
|
echo "ldapsearch -x -h $IP -b dc=example,dc=com"
|
||||||
|
sleep 30
|
||||||
ldapsearch -x -h $IP -b dc=example,dc=com
|
ldapsearch -x -h $IP -b dc=example,dc=com
|
||||||
|
|
||||||
$dir/tools/delete-container.sh
|
$dir/tools/delete-container.sh
|
||||||
@@ -4,6 +4,7 @@ dir=$(dirname $0)
|
|||||||
. $dir/tls/run.sh
|
. $dir/tls/run.sh
|
||||||
|
|
||||||
echo "ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ"
|
echo "ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ"
|
||||||
|
sleep 30
|
||||||
ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ
|
ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ
|
||||||
|
|
||||||
. $dir/tls/end.sh
|
. $dir/tls/end.sh
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
docker.io build -t $testImage .
|
docker build -t $testImage .
|
||||||
#docker.io build --no-cache=true -t $testImage .
|
#docker build --no-cache=true -t $testImage .
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# remove test container
|
# remove test container
|
||||||
res=$(docker.io ps -a | grep -c "$testContainer")
|
res=$(docker ps -a | grep -c "$testContainer")
|
||||||
|
|
||||||
if [ $res -ne 0 ]; then
|
if [ $res -ne 0 ]; then
|
||||||
docker.io stop $testContainer
|
docker stop $testContainer
|
||||||
docker.io rm $testContainer
|
docker rm $testContainer
|
||||||
fi
|
fi
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# remove test image
|
# remove test image
|
||||||
res=$(docker.io images | grep -c "$testImage")
|
res=$(docker images | grep -c "$testImage")
|
||||||
|
|
||||||
if [ $res -ne 0 ]; then
|
if [ $res -ne 0 ]; then
|
||||||
docker.io rmi $testImage
|
docker rmi $testImage
|
||||||
fi
|
fi
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
echo "docker.io run --name $testContainer $runOptions -d $testImage $runCommand"
|
echo "docker run --name $testContainer $runOptions -d $testImage $runCommand /sbin/my_init --enable-insecure-key"
|
||||||
ID=`docker.io run --name $testContainer $runOptions -d $testImage $runCommand`
|
ID=`docker run --name $testContainer $runOptions -d $testImage $runCommand /sbin/my_init --enable-insecure-key`
|
||||||
sleep 10
|
sleep 10
|
||||||
|
|
||||||
echo " --> Obtaining IP"
|
echo " --> Obtaining IP"
|
||||||
IP=`docker.io inspect -f "{{ .NetworkSettings.IPAddress }}" $ID`
|
IP=`docker inspect -f "{{ .NetworkSettings.IPAddress }}" $ID`
|
||||||
if [ "$IP" = "" ]; then
|
if [ "$IP" = "" ]; then
|
||||||
abort "Unable to obtain container IP"
|
abort "Unable to obtain container IP"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in new issue
Block a user