23 Commits
Author SHA1 Message Date
Bertrand Gouny 5f6a2c1530 Merge branch 'hotfix-0.5.1' into stable 2014-05-07 14:25:05 +02:00
Bertrand Gouny e54327660a hotfix 2014-05-07 14:24:55 +02:00
Bertrand Gouny b8f71b7953 [twgit] Init hotfix 'hotfix-0.5.1'. 2014-05-07 14:17:57 +02:00
osixia 14ebe80b99 Update README.md 2014-05-07 14:15:01 +02:00
Bertrand Gouny f50c6b3a97 Merge branch 'release-0.5.0' into stable 2014-05-07 14:12:34 +02:00
Bertrand Gouny 72f68af0fd Merge branch 'feature-ldapi' into release-0.5.0 2014-05-07 14:12:02 +02:00
Bertrand Gouny b9e85313b1 Merge branch 'feature-tests' into release-0.5.0 2014-05-07 14:11:48 +02:00
Bertrand Gouny bcaa13ac77 [twgit] Init release 'release-0.5.0'. 2014-05-07 14:11:29 +02:00
Bertrand Gouny 31b6c31d5e tests 2014-05-07 14:09:20 +02:00
Bertrand Gouny bd87b91d3a ldapi 2014-05-07 10:59:52 +02:00
Bertrand Gouny 4800e140cf [twgit] Init feature 'feature-ldapi'. 2014-05-07 10:57:57 +02:00
Bertrand Gouny df81b9ec7e [twgit] Init feature 'feature-tests'. 2014-05-07 10:57:33 +02:00
Bertrand Gouny ae2d4de5ec Merge branch 'release-0.4.0' into stable 2014-05-07 10:54:03 +02:00
Bertrand Gouny 9c542cafe2 Merge branch 'feature-clean' into release-0.4.0 2014-05-07 10:53:45 +02:00
Bertrand Gouny 2ceab05d59 [twgit] Init release 'release-0.4.0'. 2014-05-07 10:53:18 +02:00
Bertrand Gouny c5b29549a2 clean 2014-05-07 10:52:59 +02:00
Bertrand Gouny 2d97fce4e9 [twgit] Init feature 'feature-clean'. 2014-05-07 10:00:16 +02:00
Bertrand Gouny c057d3c2ac Merge branch 'hotfix-0.3.1' into stable 2014-05-07 08:29:57 +02:00
Bertrand Gouny 73bf28d2c5 tests 2014-05-07 08:29:43 +02:00
Bertrand Gouny 4e610b3b46 [twgit] Init hotfix 'hotfix-0.3.1'. 2014-05-06 19:38:45 +02:00
osixia 56705e7840 Delete delete-container.sh 2014-05-06 18:09:27 +02:00
osixia 69ac87fa51 Delete prepare.sh 2014-05-06 18:09:21 +02:00
osixia 01a9dc9d72 Delete end.sh 2014-05-06 18:09:01 +02:00
20 changed files with 135 additions and 71 deletions

No files matched your search

+1
View File
@@ -23,6 +23,7 @@ and optionaly `dhparam.pem` this file is genereted automaticaly if not present.
docker run --dns=127.0.0.1 \
-v /data/ldap/db:/var/lib/ldap \
-v /data/ldap/config:/etc/ldap/slapd.d \
-v /data/ldap/ssl/:/etc/ldap/ssl \
-v /data/ldap/log/:/var/log \
-e LDAP_DOMAIN=example.com \
+19 -9
View File
@@ -6,19 +6,17 @@ status () {
echo "---> ${@}" >&2
}
set -x
: LDAP_ADMIN_PWD=${LDAP_ADMIN_PWD}
: LDAP_DOMAIN=${LDAP_DOMAIN}
: LDAP_ORGANISATION=${LDAP_ORGANISATION}
############ Base config ############
if [ ! -e /var/lib/ldap/docker_bootstrapped ]; then
status "configuring slapd for first run"
status "configuring slapd database"
# permission error on /etc/ldap/slapd.conf if not set?! :'(
adduser openldap root
############ Base config ############
cat <<EOF | debconf-set-selections
slapd slapd/internal/generated_adminpw password ${LDAP_ADMIN_PWD}
slapd slapd/internal/adminpw password ${LDAP_ADMIN_PWD}
@@ -37,9 +35,21 @@ EOF
dpkg-reconfigure -f noninteractive slapd
touch /var/lib/ldap/docker_bootstrapped
############ Custom config ############
slapd -h "ldap:/// ldapi:///" -u openldap -g openldap
else
status "slapd database found"
fi
############ Custom config ############
if [ ! -e /etc/ldap/config/docker_bootstrapped ]; then
status "Custom config"
# permission error on /etc/ldap/slapd.conf if not set?! :'(
adduser openldap root
slapd -h "ldapi:///" -u openldap -g openldap
chown -R openldap:openldap /etc/ldap
# TLS
@@ -60,7 +70,7 @@ EOF
fi
# Replication
# todo
# todo :)
# Other config files
for f in $(find /etc/ldap/config -maxdepth 1 -name \*.ldif -type f); do
@@ -70,7 +80,7 @@ EOF
kill -INT `cat /run/slapd/slapd.pid`
touch /var/lib/ldap/docker_bootstrapped
touch /etc/ldap/config/docker_bootstrapped
else
status "found already-configured slapd"
+15 -7
View File
@@ -1,6 +1,10 @@
#!/bin/sh
# Tests
# Usage
# sudo ./test.sh
# add -v for verbose mode
verbose=$1
error=0
ok=0
@@ -24,8 +28,11 @@ run_test () {
echo_start $fction
#./test/$1.sh | tee $out 2>&1
./test/$1.sh > $out 2>&1
if [ -z ${verbose} ]; then
./test/$1.sh > $out 2>&1
else
./test/$1.sh | tee $out 2>&1
fi
if [ "$(grep -c "$2" $out)" -eq 0 ]; then
echo_error $fction
@@ -37,11 +44,12 @@ run_test () {
}
./test/tools/prepare.sh
./test/tools/prepare.sh > /dev/null 2>&1
run_test build "Successfully built"
run_test run-simple "dn: dc=example,dc=com"
run_test run-tls "dn: dc=example,dc=com"
./test/tools/end.sh
run_test simple "dn: dc=example,dc=com"
run_test tls "dn: dc=example,dc=com"
run_test db "dn: dc=otherdomain,dc=com"
./test/tools/end.sh > /dev/null 2>&1
echo "------- Test finished -------"
echo $error " failed " $ok " passed"
+6 -2
View File
@@ -1,4 +1,8 @@
#!/bin/sh
sudo docker.io build -t openldap-test .
#sudo docker.io build --no-cache=true -t openldap-test .
dir=$(dirname $0)
. $dir/tools/config.prop
docker.io build -t $openldapTestImage .
#docker.io build --no-cache=true -t $openldapTestImage .
Executable
+23
View File
@@ -0,0 +1,23 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/config.prop
if [ -d "$openldapTestDir" ]; then
rm -r $openldapTestDir
fi
mkdir $openldapTestDir
mkdir $openldapTestDir/db
mkdir $openldapTestDir/config
runOptions="-e LDAP_DOMAIN=otherdomain.com -v $openldapTestDir/db:/var/lib/ldap -v $openldapTestDir/config:/etc/ldap/slapd.d"
. $dir/tools/run-simple.sh
$dir/tools/delete-container.sh
runOptions="-v $openldapTestDir/db:/var/lib/ldap -v $openldapTestDir/config:/etc/ldap/slapd.d"
. $dir/tools/run-simple.sh
ldapsearch -x -h localhost -p 65389 -b dc=otherdomain,dc=com
rm -r $openldapTestDir
$dir/tools/delete-container.sh
-11
View File
@@ -1,11 +0,0 @@
#!/bin/sh
# remove openldap test containers
sudo docker.io ps -a > testcontainers.out
if [ "$(grep -c "openldap-test-container" ./testcontainers.out)" -ne 0 ]; then
sudo docker.io stop openldap-test-container
sudo docker.io rm openldap-test-container
fi
rm testcontainers.out
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
./test/delete-container.sh
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
./test/delete-container.sh
-7
View File
@@ -1,7 +0,0 @@
#!/bin/sh
docker.io run --name openldap-test-container -p 65389:389 -d openldap-test
sleep 5
ldapsearch -x -h localhost -p 65389 -b dc=example,dc=com
$(pwd)/test/tools/delete-container.sh
-21
View File
@@ -1,21 +0,0 @@
#!/bin/sh
docker.io run --name openldap-test-container --dns=127.0.0.1 -v `pwd`/test/ssl:/etc/ldap/ssl -p 65389:389 -d openldap-test
cert=$(echo `pwd`/test/ssl/ldap.crt)
certCN=$(openssl x509 -in $cert -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
addLine=$(echo "127.0.0.1" $certCN)
echo $addLine >> /etc/hosts
cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.old
sed -i 's,TLS_CACERT.*,TLS_CACERT '"$cert"',g' /etc/ldap/ldap.conf
sleep 5
ldapsearch -x -h $certCN -p 65389 -b dc=example,dc=com -ZZ
sed -i '/'"$addLine"'/d' /etc/hosts
cp /etc/ldap/ldap.conf.old /etc/ldap/ldap.conf
rm /etc/ldap/ldap.conf.old
$(pwd)/test/tools/delete-container.sh
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/config.prop
. $dir/tools/run-simple.sh
ldapsearch -x -h localhost -p 65389 -b dc=example,dc=com
$dir/tools/delete-container.sh
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/config.prop
. $dir/tools/run-tls.sh
ldapsearch -x -h $certCN -p 65389 -b dc=example,dc=com -ZZ
. $dir/tools/end-tls.sh
+3
View File
@@ -0,0 +1,3 @@
openldapTestImage=openldap-test
openldapTestContainer=openldap-test-container
openldapTestDir=/osixia-test-docker-openldap
+6 -6
View File
@@ -1,11 +1,11 @@
#!/bin/sh
. $(dirname $0)/config.prop
# remove openldap test container
sudo docker.io ps -a > testcontainer.out
res=$(docker.io ps -a | grep -c "$openldapTestContainer")
if [ "$(grep -c "openldap-test-container" ./testcontainer.out)" -ne 0 ]; then
sudo docker.io stop openldap-test-container
sudo docker.io rm openldap-test-container
if [ $res -ne 0 ]; then
docker.io stop $openldapTestContainer
docker.io rm $openldapTestContainer
fi
rm testcontainer.out
+10
View File
@@ -0,0 +1,10 @@
#!/bin/sh
. $(dirname $0)/config.prop
# remove openldap test image
res=$(docker.io images | grep -c "$openldapTestImage")
if [ $res -ne 0 ]; then
docker.io rmi $openldapTestImage
fi
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
sed -i '/'"$addLine"'/d' /etc/hosts
cp /etc/ldap/ldap.conf.old /etc/ldap/ldap.conf
rm /etc/ldap/ldap.conf.old
$dir/tools/delete-container.sh
+3 -1
View File
@@ -1,3 +1,5 @@
#!/bin/sh
./test/tools/delete-container.sh
dir=$(dirname $0)
$dir/delete-container.sh
$dir/delete-image.sh
+3 -1
View File
@@ -1,3 +1,5 @@
#!/bin/sh
./test/tools/delete-container.sh
dir=$(dirname $0)
$dir/delete-container.sh
$dir/delete-image.sh
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
echo "docker.io run --name $openldapTestContainer $runOptions -p 65389:389 -d $openldapTestImage"
docker.io run --name $openldapTestContainer $runOptions -p 65389:389 -d $openldapTestImage
sleep 5
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
runOptions="--dns=127.0.0.1 -v `pwd`/test/ssl:/etc/ldap/ssl"
. $dir/tools/run-simple.sh
cert=$(echo $dir/ssl/ldap.crt)
certCN=$(openssl x509 -in $cert -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
addLine=$(echo "127.0.0.1" $certCN)
echo $addLine >> /etc/hosts
cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.old
sed -i 's,TLS_CACERT.*,TLS_CACERT '"$cert"',g' /etc/ldap/ldap.conf
sleep 5