phi/openldap/Makefile

59 lines
1.1 KiB
Makefile

CONTAINER := phi_slapd
.PHONY: all
all: build run
.PHONY: build
build: gen-cert
docker build --no-cache -t unit/slapd .
.PHONY: gen-cert
gen-cert:
openssl req \
-x509 -nodes -days 365 -sha256 \
-subj '/C=IT/ST=Lombardia/L=Milano/CN=localhost' \
-newkey rsa:2048 -keyout key.pem -out cert.pem
.PHONY: clean
clean:
docker rm $(CONTAINER) || true
docker rmi unit/slapd
rm -f key.pem cert.pem
.PHONY: run
run: prepare
docker attach phi_slapd
.PHONY: prepare
prepare:
docker run -p 389:389 -d --name="$(CONTAINER)" --rm unit/slapd
sleep 2
LDAPTLS_REQCERT=never \
ldapmodify -ZZ -H ldap://127.0.0.1:389 \
-x -D "cn=root,dc=unit,dc=macaomilano,dc=org" -w root \
-a -f init.ldif
.PHONY: run-bg
run-bg:
make prepare
.PHONY: logs
logs:
docker logs -f phi_slapd
.PHONY: stop
stop: is-running
docker stop $(CONTAINER)
.PHONY: is-running
is-running:
@[[ $$(docker ps -qf=name=$(CONTAINER)|wc -l) -eq 1 ]]
.PHONY: inspect
inspect: is-running
LDAPTLS_REQCERT=never \
ldapsearch -ZZ -H ldap://127.0.0.1 \
-x -D "cn=root,dc=unit,dc=macaomilano,dc=org" -w root \
-b "dc=unit,dc=macaomilano,dc=org" \
'(objectclass=*)'