Skip to content

Commit 0a9815f

Browse files
committed
fixes #52 add docker-compose.yml example and update kubernetes examples
1 parent 81ef654 commit 0a9815f

File tree

5 files changed

+73
-11
lines changed

5 files changed

+73
-11
lines changed

example/docker-compose.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
version: '2'
2+
services:
3+
openldap:
4+
image: osixia/openldap:1.1.3
5+
container_name: openldap
6+
environment:
7+
LDAP_LOG_LEVEL: "256"
8+
LDAP_ORGANISATION: "Example Inc."
9+
LDAP_DOMAIN: "example.org"
10+
LDAP_BASE_DN: ""
11+
LDAP_ADMIN_PASSWORD: "admin"
12+
LDAP_CONFIG_PASSWORD: "config"
13+
LDAP_READONLY_USER: "false"
14+
#LDAP_READONLY_USER_USERNAME: "readonly"
15+
#LDAP_READONLY_USER_PASSWORD: "readonly"
16+
LDAP_BACKEND: "hdb"
17+
LDAP_TLS: "true"
18+
LDAP_TLS_CRT_FILENAME: "ldap.crt"
19+
LDAP_TLS_KEY_FILENAME: "ldap.key"
20+
LDAP_TLS_CA_CRT_FILENAME: "ca.crt"
21+
LDAP_TLS_ENFORCE: "false"
22+
LDAP_TLS_CIPHER_SUITE: "SECURE256:-VERS-SSL3.0"
23+
LDAP_TLS_PROTOCOL_MIN: "3.1"
24+
LDAP_TLS_VERIFY_CLIENT: "demand"
25+
LDAP_REPLICATION: "false"
26+
#LDAP_REPLICATION_CONFIG_SYNCPROV: "binddn="cn=admin,cn=config" bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase="cn=config" type=refreshAndPersist retry="60 +" timeout=1 starttls=critical"
27+
#LDAP_REPLICATION_DB_SYNCPROV: "binddn="cn=admin,$LDAP_BASE_DN" bindmethod=simple credentials=$LDAP_ADMIN_PASSWORD searchbase="$LDAP_BASE_DN" type=refreshAndPersist interval=00:00:00:10 retry="60 +" timeout=1 starttls=critical"
28+
#LDAP_REPLICATION_HOSTS: "#PYTHON2BASH:['ldap://ldap.example.org','ldap://ldap2.example.org']"
29+
LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
30+
LDAP_CFSSL_PREFIX: "ldap"
31+
tty: true
32+
stdin_open: true
33+
volumes:
34+
- /var/lib/ldap
35+
- /etc/ldap/slapd.d
36+
- /container/service/slapd/assets/certs/
37+
ports:
38+
- "389:389"
39+
- "639:639"
40+
hostname: "example.org"
41+
phpldapadmin:
42+
image: osixia/phpldapadmin:latest
43+
container_name: phpldapadmin
44+
environment:
45+
PHPLDAPADMIN_LDAP_HOSTS: "openldap"
46+
PHPLDAPADMIN_HTTPS: "false"
47+
ports:
48+
- "8080:80"
49+
depends_on:
50+
- openldap

example/kubernetes/simple/ldap-rc.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ spec:
4343
value: "readonly"
4444
- name: LDAP_READONLY_USER_PASSWORD
4545
value: "readonly"
46+
- name: LDAP_BACKEND
47+
value: "hdb"
4648
- name: LDAP_TLS
4749
value: "true"
4850
- name: LDAP_TLS_CRT_FILENAME
@@ -69,6 +71,8 @@ spec:
6971
value: "#PYTHON2BASH:['ldap://ldap-one-service', 'ldap://ldap-two-service']"
7072
- name: LDAP_REMOVE_CONFIG_AFTER_SETUP
7173
value: "true"
74+
- name: LDAP_CFSSL_PREFIX
75+
value: "ldap"
7276
- name: ldap-backup
7377
image: osixia/openldap-backup:0.1.8
7478
volumeMounts:

example/kubernetes/using-secrets/environment/my-env.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77

88
# General container configuration
99
# see table 5.1 in http://www.openldap.org/doc/admin24/slapdconf2.html for the available log levels.
10-
LDAP_LOG_LEVEL: 0
10+
LDAP_LOG_LEVEL: 256

example/kubernetes/using-secrets/environment/my-env.yaml.startup

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,28 @@
99
# Required and used for new ldap server only
1010
LDAP_ORGANISATION: Example Inc.
1111
LDAP_DOMAIN: example.org
12-
LDAP_ADMIN_PASSWORD: Adm1n!
13-
LDAP_CONFIG_PASSWORD: c0nfig
12+
LDAP_BASE_DN: #if empty automatically set from LDAP_DOMAIN
1413

15-
LDAP_READONLY_USER: true
14+
LDAP_ADMIN_PASSWORD: admin
15+
LDAP_CONFIG_PASSWORD: config
16+
17+
LDAP_READONLY_USER: false
1618
LDAP_READONLY_USER_USERNAME: readonly
17-
LDAP_READONLY_USER_PASSWORD: passwr0rd!
19+
LDAP_READONLY_USER_PASSWORD: readonly
20+
21+
# Backend
22+
LDAP_BACKEND: hdb
1823

1924
# Tls
2025
LDAP_TLS: true
21-
LDAP_TLS_CRT_FILENAME: cert.crt
22-
LDAP_TLS_KEY_FILENAME: cert.key
26+
LDAP_TLS_CRT_FILENAME: ldap.crt
27+
LDAP_TLS_KEY_FILENAME: ldap.key
2328
LDAP_TLS_CA_CRT_FILENAME: ca.crt
2429

2530
LDAP_TLS_ENFORCE: false
2631
LDAP_TLS_CIPHER_SUITE: SECURE256:-VERS-SSL3.0
2732
LDAP_TLS_PROTOCOL_MIN: 3.1
28-
LDAP_TLS_VERIFY_CLIENT: never
33+
LDAP_TLS_VERIFY_CLIENT: demand
2934

3035
# Replication
3136
LDAP_REPLICATION: false
@@ -43,4 +48,7 @@ LDAP_REPLICATION_HOSTS:
4348

4449

4550
# Remove config after setup
46-
LDAP_REMOVE_CONFIG_AFTER_SETUP: false
51+
LDAP_REMOVE_CONFIG_AFTER_SETUP: true
52+
53+
# cfssl environment variables prefix
54+
LDAP_CFSSL_PREFIX: ldap # cfssl-helper first search config from LDAP_CFSSL_* variables, before CFSSL_* variables.

example/kubernetes/using-secrets/ldap-secret.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ items:
77
name: "ldap-secret"
88
data:
99
# files in environment/* converted into base64 with file-to-base64.sh
10-
env.yaml: "IyBUaGlzIGlzIHRoZSBkZWZhdWx0IGltYWdlIGNvbmZpZ3VyYXRpb24gZmlsZQojIFRoZXNlIHZhbHVlcyB3aWxsIHBlcnNpc3RzIGluIGNvbnRhaW5lciBlbnZpcm9ubWVudC4KCiPCoEFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdXNlZCBhZnRlciB0aGUgY29udGFpbmVyIGZpcnN0IHN0YXJ0CiMgbXVzdCBiZSBkZWZpbmVkIGhlcmUuCiMgbW9yZSBpbmZvcm1hdGlvbiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9vc2l4aWEvZG9ja2VyLWxpZ2h0LWJhc2VpbWFnZQoKIyBHZW5lcmFsIGNvbnRhaW5lciBjb25maWd1cmF0aW9uCiMgc2VlIHRhYmxlIDUuMSBpbiBodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy9kb2MvYWRtaW4yNC9zbGFwZGNvbmYyLmh0bWwgZm9yIHRoZSBhdmFpbGFibGUgbG9nIGxldmVscy4KTERBUF9MT0dfTEVWRUw6IDAK"
11-
env.yaml.startup: "IyBUaGlzIGlzIHRoZSBkZWZhdWx0IGltYWdlIHN0YXJ0dXAgY29uZmlndXJhdGlvbiBmaWxlCiMgdGhpcyBmaWxlIGRlZmluZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdXNlZCBkdXJpbmcgdGhlIGNvbnRhaW5lciAqKmZpcnN0IHN0YXJ0KiogaW4gKipzdGFydHVwIGZpbGVzKiouCgojIFRoaXMgZmlsZSBpcyBkZWxldGVkIHJpZ2h0IGFmdGVyIHN0YXJ0dXAgZmlsZXMgYXJlIHByb2Nlc3NlZCBmb3IgdGhlIGZpcnN0IHRpbWUsCiMgYWZ0ZXIgdGhhdCBhbGwgdGhlc2UgdmFsdWVzIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBpbiB0aGUgY29udGFpbmVyIGVudmlyb25tZW50LgojIFRoaXMgaGVscHMgdG8ga2VlcCB5b3VyIGNvbnRhaW5lciBjb25maWd1cmF0aW9uIHNlY3JldC4KIyBtb3JlIGluZm9ybWF0aW9uIDogaHR0cHM6Ly9naXRodWIuY29tL29zaXhpYS9kb2NrZXItbGlnaHQtYmFzZWltYWdlCgojIFJlcXVpcmVkIGFuZCB1c2VkIGZvciBuZXcgbGRhcCBzZXJ2ZXIgb25seQpMREFQX09SR0FOSVNBVElPTjogRXhhbXBsZSBJbmMuCkxEQVBfRE9NQUlOOiBleGFtcGxlLm9yZwpMREFQX0FETUlOX1BBU1NXT1JEOiBBZG0xbiEKTERBUF9DT05GSUdfUEFTU1dPUkQ6IGMwbmZpZwoKTERBUF9SRUFET05MWV9VU0VSOiB0cnVlCkxEQVBfUkVBRE9OTFlfVVNFUl9VU0VSTkFNRTogcmVhZG9ubHkKTERBUF9SRUFET05MWV9VU0VSX1BBU1NXT1JEOiBwYXNzd3IwcmQhCgojIFRscwpMREFQX1RMUzogdHJ1ZQpMREFQX1RMU19DUlRfRklMRU5BTUU6IGNlcnQuY3J0CkxEQVBfVExTX0tFWV9GSUxFTkFNRTogY2VydC5rZXkKTERBUF9UTFNfQ0FfQ1JUX0ZJTEVOQU1FOiBjYS5jcnQKCkxEQVBfVExTX0VORk9SQ0U6IGZhbHNlCkxEQVBfVExTX0NJUEhFUl9TVUlURTogU0VDVVJFMjU2Oi1WRVJTLVNTTDMuMApMREFQX1RMU19QUk9UT0NPTF9NSU46IDMuMQpMREFQX1RMU19WRVJJRllfQ0xJRU5UOiBuZXZlcgoKIyBSZXBsaWNhdGlvbgpMREFQX1JFUExJQ0FUSU9OOiBmYWxzZQojIHZhcmlhYmxlcyAkTERBUF9CQVNFX0ROLCAkTERBUF9BRE1JTl9QQVNTV09SRCwgJExEQVBfQ09ORklHX1BBU1NXT1JECiMgYXJlIGF1dG9tYXRpY2FseSByZXBsYWNlZCBhdCBydW4gdGltZQoKIyBpZiB5b3Ugd2FudCB0byBhZGQgcmVwbGljYXRpb24gdG8gYW4gZXhpc3RpbmcgbGRhcAojIGFkYXB0IExEQVBfUkVQTElDQVRJT05fQ09ORklHX1NZTkNQUk9WIGFuZCBMREFQX1JFUExJQ0FUSU9OX0hEQl9TWU5DUFJPViB0byB5b3VyIGNvbmZpZ3VyYXRpb24KIyBhdm9pZCB1c2luZyAkTERBUF9CQVNFX0ROLCAkTERBUF9BRE1JTl9QQVNTV09SRCBhbmQgJExEQVBfQ09ORklHX1BBU1NXT1JEIHZhcmlhYmxlcwpMREFQX1JFUExJQ0FUSU9OX0NPTkZJR19TWU5DUFJPVjogYmluZGRuPSJjbj1hZG1pbixjbj1jb25maWciIGJpbmRtZXRob2Q9c2ltcGxlIGNyZWRlbnRpYWxzPSRMREFQX0NPTkZJR19QQVNTV09SRCBzZWFyY2hiYXNlPSJjbj1jb25maWciIHR5cGU9cmVmcmVzaEFuZFBlcnNpc3QgcmV0cnk9IjYwICsiIHRpbWVvdXQ9MSBzdGFydHRscz1jcml0aWNhbApMREFQX1JFUExJQ0FUSU9OX0hEQl9TWU5DUFJPVjogYmluZGRuPSJjbj1hZG1pbiwkTERBUF9CQVNFX0ROIiBiaW5kbWV0aG9kPXNpbXBsZSBjcmVkZW50aWFscz0kTERBUF9BRE1JTl9QQVNTV09SRCBzZWFyY2hiYXNlPSIkTERBUF9CQVNFX0ROIiB0eXBlPXJlZnJlc2hBbmRQZXJzaXN0IGludGVydmFsPTAwOjAwOjAwOjEwIHJldHJ5PSI2MCArIiB0aW1lb3V0PTEgc3RhcnR0bHM9Y3JpdGljYWwKTERBUF9SRVBMSUNBVElPTl9IT1NUUzoKICAtIGxkYXA6Ly9sZGFwLmV4YW1wbGUub3JnICMgVGhlIG9yZGVyIG11c3QgYmUgdGhlIHNhbWUgb24gYWxsIGxkYXAgc2VydmVycwogIC0gbGRhcDovL2xkYXAyLmV4YW1wbGUub3JnCgoKIyBSZW1vdmUgY29uZmlnIGFmdGVyIHNldHVwCkxEQVBfUkVNT1ZFX0NPTkZJR19BRlRFUl9TRVRVUDogZmFsc2UK"
10+
env.yaml: "IyBUaGlzIGlzIHRoZSBkZWZhdWx0IGltYWdlIGNvbmZpZ3VyYXRpb24gZmlsZQojIFRoZXNlIHZhbHVlcyB3aWxsIHBlcnNpc3RzIGluIGNvbnRhaW5lciBlbnZpcm9ubWVudC4KCiPCoEFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdXNlZCBhZnRlciB0aGUgY29udGFpbmVyIGZpcnN0IHN0YXJ0CiMgbXVzdCBiZSBkZWZpbmVkIGhlcmUuCiMgbW9yZSBpbmZvcm1hdGlvbiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9vc2l4aWEvZG9ja2VyLWxpZ2h0LWJhc2VpbWFnZQoKIyBHZW5lcmFsIGNvbnRhaW5lciBjb25maWd1cmF0aW9uCiMgc2VlIHRhYmxlIDUuMSBpbiBodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy9kb2MvYWRtaW4yNC9zbGFwZGNvbmYyLmh0bWwgZm9yIHRoZSBhdmFpbGFibGUgbG9nIGxldmVscy4KTERBUF9MT0dfTEVWRUw6IDI1Ngo="
11+
env.yaml.startup: "IyBUaGlzIGlzIHRoZSBkZWZhdWx0IGltYWdlIHN0YXJ0dXAgY29uZmlndXJhdGlvbiBmaWxlCiMgdGhpcyBmaWxlIGRlZmluZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdXNlZCBkdXJpbmcgdGhlIGNvbnRhaW5lciAqKmZpcnN0IHN0YXJ0KiogaW4gKipzdGFydHVwIGZpbGVzKiouCgojIFRoaXMgZmlsZSBpcyBkZWxldGVkIHJpZ2h0IGFmdGVyIHN0YXJ0dXAgZmlsZXMgYXJlIHByb2Nlc3NlZCBmb3IgdGhlIGZpcnN0IHRpbWUsCiMgYWZ0ZXIgdGhhdCBhbGwgdGhlc2UgdmFsdWVzIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBpbiB0aGUgY29udGFpbmVyIGVudmlyb25tZW50LgojIFRoaXMgaGVscHMgdG8ga2VlcCB5b3VyIGNvbnRhaW5lciBjb25maWd1cmF0aW9uIHNlY3JldC4KIyBtb3JlIGluZm9ybWF0aW9uIDogaHR0cHM6Ly9naXRodWIuY29tL29zaXhpYS9kb2NrZXItbGlnaHQtYmFzZWltYWdlCgojIFJlcXVpcmVkIGFuZCB1c2VkIGZvciBuZXcgbGRhcCBzZXJ2ZXIgb25seQpMREFQX09SR0FOSVNBVElPTjogRXhhbXBsZSBJbmMuCkxEQVBfRE9NQUlOOiBleGFtcGxlLm9yZwpMREFQX0JBU0VfRE46ICNpZiBlbXB0eSBhdXRvbWF0aWNhbGx5IHNldCBmcm9tIExEQVBfRE9NQUlOCgpMREFQX0FETUlOX1BBU1NXT1JEOiBhZG1pbgpMREFQX0NPTkZJR19QQVNTV09SRDogY29uZmlnCgpMREFQX1JFQURPTkxZX1VTRVI6IGZhbHNlCkxEQVBfUkVBRE9OTFlfVVNFUl9VU0VSTkFNRTogcmVhZG9ubHkKTERBUF9SRUFET05MWV9VU0VSX1BBU1NXT1JEOiByZWFkb25seQoKIyBCYWNrZW5kCkxEQVBfQkFDS0VORDogaGRiCgojIFRscwpMREFQX1RMUzogdHJ1ZQpMREFQX1RMU19DUlRfRklMRU5BTUU6IGxkYXAuY3J0CkxEQVBfVExTX0tFWV9GSUxFTkFNRTogbGRhcC5rZXkKTERBUF9UTFNfQ0FfQ1JUX0ZJTEVOQU1FOiBjYS5jcnQKCkxEQVBfVExTX0VORk9SQ0U6IGZhbHNlCkxEQVBfVExTX0NJUEhFUl9TVUlURTogU0VDVVJFMjU2Oi1WRVJTLVNTTDMuMApMREFQX1RMU19QUk9UT0NPTF9NSU46IDMuMQpMREFQX1RMU19WRVJJRllfQ0xJRU5UOiBkZW1hbmQKCiMgUmVwbGljYXRpb24KTERBUF9SRVBMSUNBVElPTjogZmFsc2UKIyB2YXJpYWJsZXMgJExEQVBfQkFTRV9ETiwgJExEQVBfQURNSU5fUEFTU1dPUkQsICRMREFQX0NPTkZJR19QQVNTV09SRAojIGFyZSBhdXRvbWF0aWNhbHkgcmVwbGFjZWQgYXQgcnVuIHRpbWUKCiMgaWYgeW91IHdhbnQgdG8gYWRkIHJlcGxpY2F0aW9uIHRvIGFuIGV4aXN0aW5nIGxkYXAKIyBhZGFwdCBMREFQX1JFUExJQ0FUSU9OX0NPTkZJR19TWU5DUFJPViBhbmQgTERBUF9SRVBMSUNBVElPTl9EQl9TWU5DUFJPViB0byB5b3VyIGNvbmZpZ3VyYXRpb24KIyBhdm9pZCB1c2luZyAkTERBUF9CQVNFX0ROLCAkTERBUF9BRE1JTl9QQVNTV09SRCBhbmQgJExEQVBfQ09ORklHX1BBU1NXT1JEIHZhcmlhYmxlcwpMREFQX1JFUExJQ0FUSU9OX0NPTkZJR19TWU5DUFJPVjogYmluZGRuPSJjbj1hZG1pbixjbj1jb25maWciIGJpbmRtZXRob2Q9c2ltcGxlIGNyZWRlbnRpYWxzPSRMREFQX0NPTkZJR19QQVNTV09SRCBzZWFyY2hiYXNlPSJjbj1jb25maWciIHR5cGU9cmVmcmVzaEFuZFBlcnNpc3QgcmV0cnk9IjYwICsiIHRpbWVvdXQ9MSBzdGFydHRscz1jcml0aWNhbApMREFQX1JFUExJQ0FUSU9OX0RCX1NZTkNQUk9WOiBiaW5kZG49ImNuPWFkbWluLCRMREFQX0JBU0VfRE4iIGJpbmRtZXRob2Q9c2ltcGxlIGNyZWRlbnRpYWxzPSRMREFQX0FETUlOX1BBU1NXT1JEIHNlYXJjaGJhc2U9IiRMREFQX0JBU0VfRE4iIHR5cGU9cmVmcmVzaEFuZFBlcnNpc3QgaW50ZXJ2YWw9MDA6MDA6MDA6MTAgcmV0cnk9IjYwICsiIHRpbWVvdXQ9MSBzdGFydHRscz1jcml0aWNhbApMREFQX1JFUExJQ0FUSU9OX0hPU1RTOgogIC0gbGRhcDovL2xkYXAuZXhhbXBsZS5vcmcgIyBUaGUgb3JkZXIgbXVzdCBiZSB0aGUgc2FtZSBvbiBhbGwgbGRhcCBzZXJ2ZXJzCiAgLSBsZGFwOi8vbGRhcDIuZXhhbXBsZS5vcmcKCgojIFJlbW92ZSBjb25maWcgYWZ0ZXIgc2V0dXAKTERBUF9SRU1PVkVfQ09ORklHX0FGVEVSX1NFVFVQOiB0cnVlCgojIGNmc3NsIGVudmlyb25tZW50IHZhcmlhYmxlcyBwcmVmaXgKTERBUF9DRlNTTF9QUkVGSVg6IGxkYXAgIyBjZnNzbC1oZWxwZXIgZmlyc3Qgc2VhcmNoIGNvbmZpZyBmcm9tIExEQVBfQ0ZTU0xfKiB2YXJpYWJsZXMsIGJlZm9yZSBDRlNTTF8qIHZhcmlhYmxlcy4K"

0 commit comments

Comments
 (0)