Repository navigation
Expand file tree
/
Copy pathupdate.sh
More file actions
61 lines (53 loc) · 2 KB
/
Copy pathupdate.sh
File metadata and controls
61 lines (53 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
echo "update du module LDAP"
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
DEFAULT_BACKENDS_DIR="$(cd -- "${SCRIPT_DIR}/../../backends" 2>/dev/null && pwd || true)"
RUNTIME_BACKENDS_DIR="/var/lib/sesame-daemon/backends"
INSTALLDIR="${DEFAULT_BACKENDS_DIR}"
if [[ -d "${RUNTIME_BACKENDS_DIR}" ]]; then
INSTALLDIR="${RUNTIME_BACKENDS_DIR}"
fi
echo "dir : ${INSTALLDIR}"
MODULE_DIR="${SCRIPT_DIR}"
shopt -s nullglob
for DIR in "${INSTALLDIR}"/*; do
[[ -d "${DIR}" ]] || continue
[[ -f "${DIR}/config.yml" ]] || continue
TYPE="$(
grep -m1 -E "^[[:space:]]*name:" "${DIR}/config.yml" \
| cut -f2- -d':' \
| sed -e "s/^[[:space:]]*//" -e "s/[[:space:]]*$//" -e "s/'//g"
)"
if [[ "${TYPE}" == "openldap" ]]; then
echo "${DIR} is openldap"
# maj config.yml
mkdir -p "${DIR}/lib" "${DIR}/bin" "${DIR}/lifecycle"
for I in "${MODULE_DIR}"/lib/*; do
[[ -e "${I}" ]] || continue
[[ "$(basename -- "${I}")" == "__pycache__" ]] && continue
[[ -f "${I}" ]] || continue
ln -sf "${I}" "${DIR}/lib/"
done
for I in "${MODULE_DIR}"/bin/*; do
[[ -e "${I}" ]] || continue
[[ "$(basename -- "${I}")" == "__pycache__" ]] && continue
[[ -f "${I}" ]] || continue
ln -sf "${I}" "${DIR}/bin/"
done
# update config.yml
grep 'IDENTITY_LIFECYCLE_CHANGED:' ${DIR}/config.yml >/dev/null
OK=$?
if [ $OK -eq 1 ];then
echo "Update for lifecycle"
echo -e " IDENTITY_LIFECYCLE_CHANGED:\n script: 'lifecycle.py'\n onError: 'stop'" >>${DIR}/config.yml
fi
grep 'GROUP_CREATE:' ${DIR}/config.yml >/dev/null
OK=$?
if [ $OK -eq 1 ];then
echo "Update for groups"
echo -e " GROUP_CREATE:\n script: 'groups.py'\n onError: 'continue'" >>${DIR}/config.yml
echo -e " GROUP_UPDATE:\n script: 'groups.py'\n onError: 'continue'" >>${DIR}/config.yml
echo -e " GROUP_DELETE:\n script: 'groups_del.py'\n onError: 'continue'" >>${DIR}/config.yml
fi
fi
done