59 Commits
Author SHA1 Message Date
Bertrand Gouny a75d5c401e Merge branch 'release-0.8.0' into stable 2014-06-24 15:38:28 +02:00
Bertrand Gouny 8e81c4574d version 2014-06-24 15:33:22 +02:00
Bertrand Gouny e4a4f6a667 Merge branch 'feature-makefile' into release-0.8.0 2014-06-24 15:14:44 +02:00
Bertrand Gouny a9f7f47e9a Merge branch 'feature-new-tests' into release-0.8.0 2014-06-24 15:14:31 +02:00
Bertrand Gouny e11220fb96 Merge branch 'feature-new-baseimage' into release-0.8.0 2014-06-24 15:14:19 +02:00
Bertrand Gouny d36e3dd10e [twgit] Init release 'release-0.8.0'. 2014-06-24 15:11:46 +02:00
Bertrand Gouny b7a2691545 base 2014-06-24 15:04:49 +02:00
Bertrand Gouny d4e039a2bf [twgit] Init feature 'feature-new-baseimage'. 2014-06-24 15:01:44 +02:00
Bertrand Gouny 6cfd595bd5 nouveaux tests 2014-06-23 21:30:04 +02:00
Bertrand Gouny e553d3749d [twgit] Init feature 'feature-new-tests'. 2014-06-23 19:20:51 +02:00
Bertrand Gouny 1b6dab9852 makefile 2014-06-22 17:48:54 +02:00
Bertrand Gouny ea563acee9 [twgit] Init feature 'feature-makefile'. 2014-06-22 17:03:25 +02:00
Bertrand Gouny 0a1e79690e Merge branch 'hotfix-0.7.4' into stable 2014-06-19 15:52:22 +02:00
Bertrand Gouny 378207027a delete image 2014-06-19 14:55:02 +02:00
Bertrand Gouny d245c07803 use osixia/baseimage:0.4.0 2014-06-19 14:50:06 +02:00
Bertrand Gouny 6849077ee8 [twgit] Init hotfix 'hotfix-0.7.4'. 2014-06-19 14:49:15 +02:00
Bertrand Gouny 35904aa284 Merge branch 'hotfix-0.7.3' into stable 2014-06-19 13:50:48 +02:00
Bertrand Gouny 3ae806c51f retour utilisateur openldap 2014-06-18 23:03:01 +02:00
Bertrand Gouny 1e2512c998 [twgit] Init hotfix 'hotfix-0.7.3'. 2014-06-18 23:02:30 +02:00
Bertrand Gouny 9531804222 Merge branch 'hotfix-0.7.2' into stable 2014-06-18 17:29:34 +02:00
Bertrand Gouny faeb220686 pb droits 2014-06-18 17:29:25 +02:00
Bertrand Gouny 987d044727 [twgit] Init hotfix 'hotfix-0.7.2'. 2014-06-18 17:28:24 +02:00
Bertrand Gouny ba0b83ad27 Merge branch 'hotfix-0.7.1' into stable 2014-06-18 17:12:31 +02:00
Bertrand Gouny ccaf1cf6bc correction utilisateur slapd deamon 2014-06-18 17:12:22 +02:00
Bertrand Gouny e303d10740 [twgit] Init hotfix 'hotfix-0.7.1'. 2014-06-18 17:07:08 +02:00
Bertrand Gouny b4de6adb08 Merge branch 'release-0.7.0' into stable 2014-06-18 09:39:24 +02:00
Bertrand Gouny b98fb70cd4 Merge branch 'feature-new-tests' into release-0.7.0 2014-06-18 09:37:13 +02:00
Bertrand Gouny e936973e9c merge 2014-06-18 09:36:08 +02:00
Bertrand Gouny 223c040565 [twgit] Init release 'release-0.7.0'. 2014-06-18 09:32:05 +02:00
Bertrand Gouny 940c5afc4f new tests 2014-06-18 09:31:50 +02:00
Bertrand Gouny 857e692b3c news tests 2014-06-17 21:40:31 +02:00
Bertrand Gouny e7efbceae8 [twgit] Init feature 'feature-new-tests'. 2014-06-17 20:54:57 +02:00
Bertrand Gouny 87fea6c869 Merge branch 'hotfix-0.6.2' into stable 2014-06-17 09:43:26 +02:00
Bertrand Gouny c32c1683ed reorganisation code 2014-06-17 09:43:13 +02:00
Bertrand Gouny 5606ef1938 [twgit] Init hotfix 'hotfix-0.6.2'. 2014-06-17 09:28:20 +02:00
osixia 5125257293 Update README.md 2014-06-17 09:26:56 +02:00
osixia 2c6ceec151 Create LICENSE.txt 2014-06-17 09:26:42 +02:00
osixia d9f06d5579 Update README.md 2014-06-17 09:12:15 +02:00
osixia a31e2ce8bd Update README.md 2014-06-17 09:10:50 +02:00
Bertrand Gouny 676d3d736d Merge branch 'hotfix-0.6.1' into stable 2014-05-09 15:57:15 +02:00
Bertrand Gouny a413a31ed3 nouvelle baseimage + maj tests 2014-05-09 15:57:03 +02:00
Bertrand Gouny c00342523e [twgit] Init hotfix 'hotfix-0.6.1'. 2014-05-09 15:25:39 +02:00
Bertrand Gouny 08b5a758be Merge branch 'release-0.6.0' into stable 2014-05-08 17:54:43 +02:00
Bertrand Gouny 38e78710af Merge branch 'feature-new-base-image' into release-0.6.0 2014-05-08 17:54:31 +02:00
Bertrand Gouny e3588f93f2 [twgit] Init release 'release-0.6.0'. 2014-05-08 17:54:05 +02:00
Bertrand Gouny d7245df8bb osixia base 2014-05-08 17:53:41 +02:00
Bertrand Gouny 60293c62cb [twgit] Init feature 'feature-new-base-image'. 2014-05-07 23:25:52 +02:00
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
31 changed files with 249 additions and 119 deletions

No files matched your search

+11 -6
View File
@@ -1,4 +1,4 @@
FROM osixia/baseimage
FROM osixia/baseimage:0.5.0
MAINTAINER Bertrand Gouny <bertrand.gouny@osixia.fr>
# From Nick Stenning's work
@@ -9,11 +9,16 @@ ENV LDAP_ADMIN_PWD toor
ENV LDAP_ORGANISATION Example Inc.
ENV LDAP_DOMAIN example.com
# /!\ To store the data outside the container, mount /var/lib/ldap as a data volume
# add -v /some/host/directory:/var/lib/ldap to the run command
# /!\ To store the data outside the container,
# 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
# to the run command
# 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
RUN /sbin/enable-service dnsmasq
# Use baseimage-docker's init system.
CMD ["/sbin/my_init"]
@@ -32,11 +37,11 @@ RUN mkdir /etc/ldap/ssl
# Add config directory
RUN mkdir /etc/ldap/config
ADD config /etc/ldap/config
ADD service/slapd/config /etc/ldap/config
# Add slapd deamon
RUN mkdir /etc/service/slapd
ADD slapd.sh /etc/service/slapd/run
ADD service/slapd/slapd.sh /etc/service/slapd/run
# Clear out the local repository of retrieved package files
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+21
View File
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Osixia
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+21
View File
@@ -0,0 +1,21 @@
NAME = osixia/openldap
VERSION = 0.8.0
.PHONY: all build test tag_latest release
all: build
build:
docker.io build -t $(NAME):$(VERSION) --rm .
test:
env NAME=$(NAME) VERSION=$(VERSION) ./test.sh
tag_latest:
docker.io tag $(NAME):$(VERSION) $(NAME):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
docker.io push $(NAME)
@echo "*** Don't forget to run 'twgit release finish' :)"
+3 -1
View File
@@ -1,4 +1,4 @@
## docker-openldap
# docker-openldap
Fork of Nick Stenning docker-slapd :
https://github.com/nickstenning/docker-slapd
@@ -23,9 +23,11 @@ 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 \
-e LDAP_ORGANISATION="Example Corp." \
-e LDAP_ROOTPASS=toor \
-p 389:389 -d osixia/openldap
File renamed without changes.
File renamed without changes.
+5 -6
View File
@@ -46,11 +46,8 @@ fi
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 "ldap:/// ldapi:///" -u openldap -g openldap
chown -R openldap:openldap /etc/ldap
slapd -h "ldapi:///" -u openldap -g openldap
chown -R openldap:openldap /etc/ldap
# TLS
if [ -e /etc/ldap/ssl/ldap.crt ] && [ -e /etc/ldap/ssl/ldap.key ] && [ -e /etc/ldap/ssl/ca.crt ]; then
@@ -88,4 +85,6 @@ fi
status "starting slapd on default port 389"
set -x
exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d -1
#with debug:
#exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d -1
exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
# Usage
# sudo ./test.sh
# add -v for verbose mode (or type whatever you like !) :p
. test/config-repository
. test/tools/run.sh
run_test simple.sh "dn: dc=example,dc=com"
run_test tls.sh "dn: dc=example,dc=com"
run_test db.sh "dn: dc=otherdomain,dc=com"
. test/tools/end.sh
+8 -47
View File
@@ -2,54 +2,15 @@
# Usage
# sudo ./test.sh
# add -v for verbose mode
# add -v for verbose mode (or type whatever you like !) :p
verbose=$1
error=0
ok=0
. test/config
. test/tools/run.sh
echo_start () {
echo "------- Start $* test -------"
}
run_test tools/build-container.sh "Successfully built"
run_test simple.sh "dn: dc=example,dc=com"
run_test tls.sh "dn: dc=example,dc=com"
run_test db.sh "dn: dc=otherdomain,dc=com"
echo_error () {
echo "\n$(tput setaf 1)/!\ $* failed$(tput sgr0)\n"
error=`expr $error + 1`
}
echo_ok () {
echo "\n--> $* ok\n"
ok=`expr $ok + 1`
}
run_test () {
fction=$1
out=test/test.out
echo_start $fction
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
else
echo_ok $fction
fi
rm $out
}
./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 > /dev/null 2>&1
echo "------- Test finished -------"
echo $error " failed " $ok " passed"
. test/tools/end.sh
-8
View File
@@ -1,8 +0,0 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/config.prop
sudo docker.io build -t $openldapTestImage .
#sudo docker.io build --no-cache=true -t openldap-test .
Executable
+8
View File
@@ -0,0 +1,8 @@
testImage=openldap-test
testContainer=openldap-test-container
testDir=/osixia-test-docker-openldap
export testImage
export testContainer
export testDir
+7
View File
@@ -0,0 +1,7 @@
testImage=osixia/openldap:latest
testContainer=openldap-repository-test-container
testDir=/osixia-repository-test-docker-openldap
export testImage
export testContainer
export testDir
Executable
+23
View File
@@ -0,0 +1,23 @@
#!/bin/sh
dir=$(dirname $0)
if [ -d "$testDir" ]; then
rm -r $testDir
fi
mkdir $testDir
mkdir $testDir/db
mkdir $testDir/config
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/delete-container.sh
runOptions="-v $testDir/db:/var/lib/ldap -v $testDir/config:/etc/ldap/slapd.d"
. $dir/tools/run-container.sh
echo "ldapsearch -x -h $IP -b dc=otherdomain,dc=com"
ldapsearch -x -h $IP -b dc=otherdomain,dc=com
rm -r $testDir
$dir/tools/delete-container.sh
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/config.prop
docker.io run --name $openldapTestContainer -p 65389:389 -d $openldapTestImage
sleep 5
ldapsearch -x -h localhost -p 65389 -b dc=example,dc=com
$dir/tools/delete-container.sh
-24
View File
@@ -1,24 +0,0 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/config.prop
docker.io run --name $openldapTestContainer --dns=127.0.0.1 -v `pwd`/test/ssl:/etc/ldap/ssl -p 65389:389 -d $openldapTestImage
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
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
$dir/tools/delete-container.sh
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tools/run-container.sh
echo "ldapsearch -x -h $IP -b dc=example,dc=com"
ldapsearch -x -h $IP -b dc=example,dc=com
$dir/tools/delete-container.sh
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
dir=$(dirname $0)
. $dir/tls/run.sh
echo "ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ"
ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ
. $dir/tls/end.sh
+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
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
runOptions="--dns=127.0.0.1 -v `pwd`/test/tls/ssl:/etc/ldap/ssl"
. $dir/tools/run-container.sh
cert=$(echo $dir/tls/ssl/ldap.crt)
certCN=$(openssl x509 -in $cert -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
addLine=$(echo $IP $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
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
docker.io build -t $testImage .
#docker.io build --no-cache=true -t $testImage .
-2
View File
@@ -1,2 +0,0 @@
openldapTestImage=openldap-test
openldapTestContainer=openldap-test-container
+4 -6
View File
@@ -1,11 +1,9 @@
#!/bin/sh
. $(dirname $0)/config.prop
# remove openldap test container
res=$(docker.io ps -a | grep -c "$openldapTestContainer")
# remove test container
res=$(docker.io ps -a | grep -c "$testContainer")
if [ $res -ne 0 ]; then
docker.io stop openldap-test-container
docker.io rm openldap-test-container
docker.io stop $testContainer
docker.io rm $testContainer
fi
+3 -5
View File
@@ -1,10 +1,8 @@
#!/bin/sh
. $(dirname $0)/config.prop
# remove openldap test image
res=$(docker.io images | grep -c "$openldapTestImage")
# remove test image
res=$(docker.io images | grep -c "$testImage")
if [ $res -ne 0 ]; then
docker.io rmi openldap-test
docker.io rmi $testImage
fi
+11 -2
View File
@@ -1,4 +1,13 @@
#!/bin/sh
$(dirname $0)/delete-container.sh
$(dirname $0)/delete-image.sh
./test/tools/delete-container.sh
./test/tools/delete-image.sh > /dev/null 2>&1
echo "------- End -------"
echo $error " failed " $ok " succeeded"
if [ "$error" -eq 0 ]; then
exit 0
else
exit 1
fi
+3 -2
View File
@@ -1,4 +1,5 @@
#!/bin/sh
$(dirname $0)/delete-container.sh
$(dirname $0)/delete-image.sh
dir=$(dirname $0)
$dir/delete-container.sh
$dir/delete-image.sh
+14
View File
@@ -0,0 +1,14 @@
#!/bin/sh
echo "docker.io run --name $testContainer $runOptions -d $testImage"
ID=`docker.io run --name $testContainer $runOptions -d $testImage`
sleep 10
echo " --> Obtaining IP"
IP=`docker.io inspect -f "{{ .NetworkSettings.IPAddress }}" $ID`
if [ "$IP" = "" ]; then
abort "Unable to obtain container IP"
exit 1
else
echo " -->" $IP
fi
+46
View File
@@ -0,0 +1,46 @@
#!/bin/sh
# Usage
# sudo ./test.sh
# add -v for verbose mode (or type whatever you like !) :p
verbose=$1
error=0
ok=0
echo_start () {
echo "------- Test: $* -------"
}
echo_error () {
echo "\n$(tput setaf 1)/!\ $* failed$(tput sgr0)\n"
error=`expr $error + 1`
}
echo_ok () {
echo "\n--> $* ok\n"
ok=`expr $ok + 1`
}
run_test () {
test=$1
out=test/test.out
echo_start $test
if [ -z ${verbose} ]; then
./test/$test > $out 2>&1
else
./test/$test | tee $out 2>&1
fi
if [ "$(grep -c "$2" $out)" -eq 0 ]; then
echo_error $test
else
echo_ok $test
fi
rm $out
}
./test/tools/prepare.sh > /dev/null 2>&1