97 Commits
Author SHA1 Message Date
Bertrand Gouny b68b62a130 Merge branch 'release-0.9.0' into stable 2014-07-16 22:48:37 +02:00
Bertrand Gouny 4ecd6c7ba7 version 2014-07-16 22:33:31 +02:00
Bertrand Gouny 1546818b81 merge 2014-07-16 22:32:44 +02:00
Bertrand Gouny 6fd179601b Merge branch 'feature-makefile' into release-0.9.0 2014-07-16 22:30:54 +02:00
Bertrand Gouny 13b7a0624e [twgit] Init release 'release-0.9.0'. 2014-07-16 22:30:23 +02:00
Bertrand Gouny fe18497e16 tests 2014-07-16 22:23:59 +02:00
osixia 8e9be9c75b Rename LICENSE.txt to LICENSE 2014-07-02 17:19:55 +02:00
Bertrand Gouny db173a2dc9 makefile 2014-06-24 17:55:39 +02:00
Bertrand Gouny 899389b581 [twgit] Init feature 'feature-makefile'. 2014-06-24 17:55:18 +02:00
Bertrand Gouny 62defdfd95 tests 2014-06-24 17:46:50 +02:00
Bertrand Gouny a07ed80902 [twgit] Init feature 'feature-tests'. 2014-06-24 17:46:22 +02:00
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
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
Bertrand Gouny 88ab3c3a3e Merge branch 'release-0.3.0' into stable 2014-05-06 18:07:39 +02:00
Bertrand Gouny 6026e823b0 Merge branch 'feature-tests' into release-0.3.0 2014-05-06 18:07:10 +02:00
Bertrand Gouny f6afa826b4 [twgit] Init release 'release-0.3.0'. 2014-05-06 18:01:43 +02:00
Bertrand Gouny 16843bee56 tests 2014-05-06 18:01:09 +02:00
Bertrand Gouny 144429b34d tests 2014-05-05 18:04:59 +02:00
Bertrand Gouny c7d1e15015 [twgit] Init feature 'feature-tests'. 2014-05-05 16:16:05 +02:00
osixia 0a06538f80 Update Dockerfile 2014-05-05 14:44:18 +02:00
osixia 18561ee776 Update README.md 2014-05-05 14:40:27 +02:00
Bertrand Gouny 288df9e3f5 Merge branch 'hotfix-0.2.2' into stable 2014-05-05 14:31:18 +02:00
Bertrand Gouny cc9d731b8a baseimage 2014-05-05 14:31:15 +02:00
Bertrand Gouny fc8d97628f [twgit] Init hotfix 'hotfix-0.2.2'. 2014-05-05 14:29:41 +02:00
osixia 37c816a1ce Update README.md 2014-05-05 14:24:40 +02:00
osixia d6a9b1cb3f Update README.md 2014-05-05 14:19:29 +02:00
Bertrand Gouny 9e3d056cc1 Merge branch 'hotfix-0.2.1' into stable 2014-05-05 13:58:14 +02:00
Bertrand Gouny a7f76b5604 tls.ldif 2014-05-05 13:56:51 +02:00
Bertrand Gouny c00fd8cfc7 [twgit] Init hotfix 'hotfix-0.2.1'. 2014-05-05 13:53:36 +02:00
28 changed files with 451 additions and 84 deletions

No files matched your search

+12 -7
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"]
@@ -27,16 +32,16 @@ RUN LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y slapd ldap-utils
# Expose ldap default port
EXPOSE 389
# Create TSL certificats directory
# Create TLS certificats directory
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.9.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 debug
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' :)"
+30 -1
View File
@@ -1,4 +1,33 @@
## docker-openldap
# docker-openldap
Fork of Nick Stenning docker-slapd :
https://github.com/nickstenning/docker-slapd
Add support of tls.
### How to use tls
Add `-v some/host/dir:/etc/ldap/ssl` and `--dns=127.0.0.1` to the run command.
`some/host/dir` must contain a least 3 files :
- `ca.crt` certificate authority certificate
- `ldap.crt` ldap server certificate
- `ldap.key` ldap server certificate private key
and optionaly `dhparam.pem` this file is genereted automaticaly if not present.
`--dns=127.0.0.1` allow to use the certificate cn correctly.
### Example
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.
+90
View File
@@ -0,0 +1,90 @@
#!/bin/sh
set -eu
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 database"
cat <<EOF | debconf-set-selections
slapd slapd/internal/generated_adminpw password ${LDAP_ADMIN_PWD}
slapd slapd/internal/adminpw password ${LDAP_ADMIN_PWD}
slapd slapd/password2 password ${LDAP_ADMIN_PWD}
slapd slapd/password1 password ${LDAP_ADMIN_PWD}
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 "slapd database found"
fi
############ Custom config ############
if [ ! -e /etc/ldap/config/docker_bootstrapped ]; then
status "Custom config"
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
status "certificates found"
chmod 600 /etc/ldap/ssl/ldap.key
# 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/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')
echo "127.0.0.1 " $cn >> /etc/dhosts
fi
# Replication
# todo :)
# Other config files
for f in $(find /etc/ldap/config -maxdepth 1 -name \*.ldif -type f); do
status "Processing file ${f}"
ldapmodify -Y EXTERNAL -H ldapi:/// -f $f -Q
done
kill -INT `cat /run/slapd/slapd.pid`
touch /etc/ldap/config/docker_bootstrapped
else
status "found already-configured slapd"
fi
status "starting slapd on default port 389"
set -x
#with debug:
#exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d -1
exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap
-76
View File
@@ -1,76 +0,0 @@
#!/bin/sh
set -eu
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"
cat <<EOF | debconf-set-selections
slapd slapd/internal/generated_adminpw password ${LDAP_ADMIN_PWD}
slapd slapd/internal/adminpw password ${LDAP_ADMIN_PWD}
slapd slapd/password2 password ${LDAP_ADMIN_PWD}
slapd slapd/password1 password ${LDAP_ADMIN_PWD}
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
############ Dynamic config ############
slapd -h "ldap:/// 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
status "certificates found"
chmod 600 /etc/ldap/ssl/ldap.key
# 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/auto/tls_add.ldif
# 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
# Replication
# todo
# Other config files
for f in $(find /etc/ldap/config -maxdepth 1 -name \*.ldif -type f); do
status "Processing file ${f}"
ldapmodify -Y EXTERNAL -H ldapi:/// -f $f
done
pkill slapd
status "starting slapd on default port 389"
set -x
exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d -1
+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
Executable
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
# Usage
# sudo ./test.sh
# add -v for verbose mode (or type whatever you like !) :p
. test/config
. test/tools/run.sh
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"
. test/tools/end.sh
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
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
+21
View File
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDZzCCAh+gAwIBAgIEU2ehnzANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDExhU
ZXN0IENBIENvbXBhbnkgLSBPc2l4aWEwHhcNMTQwNTA1MTQzNTExWhcNMTUwNTA1
MTQzNTExWjAjMSEwHwYDVQQDExhUZXN0IENBIENvbXBhbnkgLSBPc2l4aWEwggFS
MA0GCSqGSIb3DQEBAQUAA4IBPwAwggE6AoIBMQDdf+DVT4rPGxNB1SwL6git8Lw1
AsEvd+rHAMKyCSRxbJywvtN/OKxVz4qWCkoRvcffG0uyoWRE+1w6DnT8ON+8uvuI
2wbrLydFxuZdouZZJiX0QbXWra9lQpDWO2EAiPFchbN/K9+fXwV4SpsI3B7bGwM/
sVtn6khbxvtzn+9yUmjIpA7q8i9NLVoX8UwagANtFIVE/Dc/MwaX7ayu6yYiNLXx
GHzWXzQcTS6vWcVaf+pkq6/zZdXn0jVNfqnwAu3ooTWO3BeuQvGaQeRpRVlM0lPh
oM7YFhR8b13Y5EmkZtSjoM+7ZOKF5mqBvluj65gIcQxnx4l4YCZ4MUVAlZBYc87h
2JSYrAlq6eBhJzkNDi21jqtqSr1i08XICZrz4Vk8lrexWbRGzyz537La1LYNAgMB
AAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4E
FgQUnod7FQfSDLyWVeBSTTdCriQoEHYwDQYJKoZIhvcNAQELBQADggExAGtv/8Ot
3Acs+KlR+0OBtnWe6sfzfQ2fRJvol7szp0Nto+zTZLbtCEvNGIVkd8eLrm9a9soa
pY/pC6dAPPZHho/G46quSjtSARU/tlbabkRsCfHiWIvtjqKIyzqk+YjOc767pd0G
iWKxF98sI4fKdlZ+Aqw+9vO2KwQMYEtrIiCbPUYMff/BzxkrwUBnYcTjISPwEd3Z
JylfG78qsB8N6UOf89jRX2O7HCy6CGJvcuxbkwaCd5iqgLhBXj9bU7xgy/A2udav
JV/uV+vWDcy8cI22Xz1jfPpimAZjv+Qb3NjDX5nxjTciAEsNges0QdxZ71dfEqo+
DGSImtM8ORivPw7oXADztCC+11KcV4THa6wmu+Sblsxe46ldAwb6MLvMN04zALUN
mW4ojToqYgz9Jgc=
-----END CERTIFICATE-----
+8
View File
@@ -0,0 +1,8 @@
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAwC8hQ6nZ2kNNmZAGGYN8++rUvNlDjKqdwWubUnqY08ng6FfGcouL
VSvgsF3LeERW/h4hrkgN983QjwrbBOrNp+7B59lhCs6Acvi87dXf3iaGNy4Gca43
ERVkAJ7IWdXydyb9COANRtmBb1JvvYMAeVeMdofk8EcOW/kUV2adAQKluAcVhgRQ
Pesp5i6Lv1kN5zVHDGkrJz5h0Mzi35aYia0gSnVCqEzmU7Omnz/gXY3Jdx91ym5Y
2dTZuUZgIhco2bfPbhDl/1g0a1PWz7rxw24KJloNZC3nEt3JqIto83GsgaUtYxFT
EWINSpghTjl4Z0CGCamJ6HXsNJGaVUXuGwIBAg==
-----END DH PARAMETERS-----
+19
View File
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDAzCCAbugAwIBAgIEU2eiHTANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDExhU
ZXN0IENBIENvbXBhbnkgLSBPc2l4aWEwHhcNMTQwNTA1MTQzNzE3WhcNMjQwNTAy
MTQzNzE3WjBAMR4wHAYDVQQKExVUZXN0IENvbXBhbnkgLSBPc2l4aWExHjAcBgNV
BAMTFWxkYXAtdGVzdC5leGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEA0/9/VYQARBLg7TrEiO4DAjcBAt3u3IQNNo8YdsL9iGwmRTPOspxOBVuQ
2AVEIuT+4KLnm01q1NA+tEvXdfXI9eIN5zjCVTdt6VqwrF9E3zWxYEkuSJ4FWOhN
dc0837hWBg+mBl/d6fSTkmeRc9fpwwr1jK7t10/BIzMr/pCzf10CAwEAAaN2MHQw
DAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMD
B6AAMB0GA1UdDgQWBBThLwuObrBzlp4qsKs0NHFMrCgn8jAfBgNVHSMEGDAWgBSe
h3sVB9IMvJZV4FJNN0KuJCgQdjANBgkqhkiG9w0BAQsFAAOCATEAiAl9RGibKsfQ
5Vbz2ZjsykzYj9Dhkxp7fc7RdrK0SEHGXn8Qeg5jf+j9DtfhTrZPVF7Jn4WOvuqh
okQPrwRaDox6rtFPjsIR9JIO3/N2OvA3ozQyWqzB1ksU7CHJ5jGRskHBftSH2xwF
kdGvSMIAmr9VpZ/sp4ykmADWC/bfz8BXYJDOsCBzJMtss/12hBqiJQhSsuBAsOT7
40hG0t2S7mjGHWDF9PoARmNQ7X3Xc8j7V+dXLpNfZfc+htgI27WcOv7al4kxd//p
22a77U/q+9B1CV8T2q1UTRnQqPHxtgoRLd+5qzEtzBW37ecAs2eAs9Z7D3O/fScu
v0RxHSpnZDtL/JZcf3KO96l4sqCp6Ue5Ldg3tOvD4O46hjrlvUYnHcDdJjNYZ7rD
f5kGXs20Mg==
-----END CERTIFICATE-----
+15
View File
@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQDT/39VhABEEuDtOsSI7gMCNwEC3e7chA02jxh2wv2IbCZFM86y
nE4FW5DYBUQi5P7gouebTWrU0D60S9d19cj14g3nOMJVN23pWrCsX0TfNbFgSS5I
ngVY6E11zTzfuFYGD6YGX93p9JOSZ5Fz1+nDCvWMru3XT8EjMyv+kLN/XQIDAQAB
AoGAHY7OgKxWYydkr/7VHyhcSAdGP1GVN667ruM1rH1UXxyBG331MEcFw853+/6D
+P+Hn+dmtmsNXZ2pWHcIk/xQZ+MEsAdm+OZ1qpBJjHA0izJ6sqZaNxSToKCR4SHM
/ACPAKqM9r2g1jqXzLKzgHBVc25Fonb1vUilTpC3YfaN+sECQQDmQGEcEK9Lvyi9
RV1fONDP3Z9cPRaSzpjUjlQAWNbhvcoUYV4AOy+tVClDErRIs/Oo+wCOL+bHlMom
zghcmxThAkEA67SPV0pNFR32gXvRZT4uKvCJcAjmNY4LMpet5DJ41Spq6+lbqXwY
1e87zEei1UvdmEXOjVsa1wXcg8Ks+/59/QJAHh+CFOfh5ykFLW3rv09xkiBOfwTG
9UHuILDWMI1u322zCGOMpr8Xh7ehBlNmHrTcRdlAw1lk+etvXxBJa8QmQQJABbNT
OCg63wTfflgxQ0KSuUUh/cypTKhHywxyDy/NTlJ9TYFSTzIKI7pqdtFQtdnk3Rbr
HO4UIxkoMSOXLW0FPQJARScXqZd7Lmwlw+ovAubfdOZdxjWGFZLRRZifiYZqtnQ1
aw8PjdkaIPxLjCwSOelV9SsMue6a7nvkxKEn6QbT0w==
-----END RSA PRIVATE KEY-----
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
docker.io build -t $testImage .
#docker.io build --no-cache=true -t $testImage .
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
# remove test container
res=$(docker.io ps -a | grep -c "$testContainer")
if [ $res -ne 0 ]; then
docker.io stop $testContainer
docker.io rm $testContainer
fi
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
# remove test image
res=$(docker.io images | grep -c "$testImage")
if [ $res -ne 0 ]; then
docker.io rmi $testImage
fi
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
rm -rf $testDir
./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
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
mkdir -p $testDir
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 $runCommand"
ID=`docker.io run --name $testContainer $runOptions -d $testImage $runCommand`
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