-
Notifications
You must be signed in to change notification settings - Fork 12
/
docker-entrypoint.sh
45 lines (38 loc) · 998 Bytes
/
docker-entrypoint.sh
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
#!/bin/sh
set -e
PATH=/opt/sbin:/opt/bin:$PATH
export PATH
cat >> /etc/raddb/proxy.conf <<EOF
realm $AzureAdDomain {
oauth2 {
discovery = "https://login.microsoftonline.com/%{Realm}/v2.0"
client_id = "$AzureAdClientId"
client_secret = "$AzureAdSecret"
cache_password = yes
}
}
EOF
cat >> /etc/raddb/clients.conf <<EOF
client $NASName {
ipaddr = $NASNetwork
secret = $NASSecret
}
EOF
# this if will check if the first argument is a flag
# but only works if all arguments require a hyphenated flag
# -v; -SL; -f arg; etc will work, but not arg1 arg2
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
set -- radiusd "$@"
fi
# check for the expected command
if [ "$1" = 'radiusd' ]; then
shift
exec radiusd -f "$@"
fi
# debian people are likely to call "freeradius" as well, so allow that
if [ "$1" = 'freeradius' ]; then
shift
exec radiusd -f "$@"
fi
# else default to run whatever the user wanted like "bash" or "sh"
exec "$@"