Skip to content

Commit 02f81b8

Browse files
committed
Allow more redis options to be configured
1 parent 3fbf7bf commit 02f81b8

10 files changed

+48
-42
lines changed

core/files/configure_misp.sh

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,8 @@
22

33
source /rest_client.sh
44
source /utilities.sh
5-
[ -z "$ADMIN_EMAIL" ] && export ADMIN_EMAIL="[email protected]"
6-
[ -z "$GPG_PASSPHRASE" ] && export GPG_PASSPHRASE="passphrase"
7-
[ -z "$REDIS_FQDN" ] && export REDIS_FQDN="redis"
8-
[ -z "$MISP_MODULES_FQDN" ] && export MISP_MODULES_FQDN="http://misp-modules"
9-
10-
# Switches to selectively disable configuration logic
11-
[ -z "$AUTOCONF_GPG" ] && AUTOCONF_GPG="true"
12-
[ -z "$AUTOCONF_ADMIN_KEY" ] && AUTOCONF_ADMIN_KEY="true"
13-
[ -z "$OIDC_ENABLE" ] && OIDC_ENABLE="false"
14-
[ -z "$LDAP_ENABLE" ] && LDAP_ENABLE="false"
15-
[ -z "$ENABLE_DB_SETTINGS" ] && ENABLE_DB_SETTINGS="false"
16-
[ -z "$PROXY_ENABLE" ] && PROXY_ENABLE="false"
17-
[ -z "$DEBUG" ] && DEBUG=0
5+
6+
MYSQLCMD="mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -P $MYSQL_PORT -h $MYSQL_HOST -r -N $MYSQL_DATABASE"
187

198
# We now use envsubst for safe variable substitution with pseudo-json objects for env var enforcement
209
# envsubst won't evaluate anything like $() or conditional variable expansion so lets do that here

core/files/entrypoint.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,31 @@ export NUM_WORKERS_EMAIL=${NUM_WORKERS_EMAIL:-${WORKERS:-5}}
77
export NUM_WORKERS_UPDATE=${NUM_WORKERS_UPDATE:-${WORKERS:-1}}
88
export NUM_WORKERS_CACHE=${NUM_WORKERS_CACHE:-${WORKERS:-5}}
99

10+
export MYSQL_HOST=${MYSQL_HOST:-db}
11+
export MYSQL_PORT=${MYSQL_PORT:-3306}
12+
export MYSQL_USER=${MYSQL_USER:-misp}
13+
export MYSQL_PASSWORD=${MYSQL_PASSWORD:-example}
14+
export MYSQL_DATABASE=${MYSQL_DATABASE:-misp}
15+
export REDIS_HOST=${REDIS_HOST:-redis}
16+
export REDIS_PORT=${REDIS_PORT:-6379}
17+
export REDIS_PASSWORD=${REDIS_PASSWORD:-redispassword}
18+
export CRON_USER_ID=${CRON_USER_ID:-1}
19+
export BASE_URL=${BASE_URL:-https://localhost}
20+
export DISABLE_IPV6=${DISABLE_IPV6:-false}
21+
export DISABLE_SSL_REDIRECT=${DISABLE_SSL_REDIRECT:-false}
22+
export SMTP_FQDN=${SMTP_FQDN:-mail}
23+
24+
export ADMIN_EMAIL=${ADMIN_EMAIL:-admin@admin.test}
25+
export GPG_PASSPHRASE=${GPG_PASSPHRASE:-passphrase}
26+
export MISP_MODULES_FQDN=${MISP_MODULES_FQDN:-http://misp-modules}
27+
28+
export AUTOCONF_GPG=${AUTOCONF_GPG:-true}
29+
export AUTOCONF_ADMIN_KEY=${AUTOCONF_ADMIN_KEY:-true}
30+
export OIDC_ENABLE=${OIDC_ENABLE:-false}
31+
export LDAP_ENABLE=${LDAP_ENABLE:-false}
32+
export ENABLE_DB_SETTINGS=${ENABLE_DB_SETTINGS:-false}
33+
export PROXY_ENABLE=${PROXY_ENABLE:-false}
34+
export DEBUG=${DEBUG:-0}
35+
1036
# start supervisord using the main configuration file so we have a socket interface
1137
/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

core/files/entrypoint_cron.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#!/bin/bash
22

3-
[ -z "$CRON_USER_ID" ] && CRON_USER_ID=1
4-
53
term_procs() {
64
echo "Entrypoint CRON caught SIGTERM signal!"
75
echo "Killing process $p1_pid"
@@ -12,7 +10,6 @@ term_procs() {
1210

1311
trap term_procs SIGTERM
1412

15-
# Create the misp cron tab
1613
cat << EOF > /etc/cron.d/misp
1714
20 2 * * * www-data /var/www/MISP/app/Console/cake Server cacheFeed "$CRON_USER_ID" all > /tmp/cronlog 2>&1
1815
30 2 * * * www-data /var/www/MISP/app/Console/cake Server fetchFeed "$CRON_USER_ID" all > /tmp/cronlog 2>&1

core/files/entrypoint_fpm.sh

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ term_proc() {
88

99
trap term_proc SIGTERM
1010

11-
[ -z "$REDIS_FQDN" ] && REDIS_FQDN=redis
12-
[ -z "$REDIS_PASSWORD" ] && REDIS_PASSWORD=redispassword
13-
1411
change_php_vars() {
1512
for FILE in /etc/php/*/fpm/php.ini
1613
do
@@ -20,7 +17,7 @@ change_php_vars() {
2017
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 50M/" "$FILE"
2118
sed -i "s/post_max_size = .*/post_max_size = 50M/" "$FILE"
2219
sed -i "s/session.save_handler = .*/session.save_handler = redis/" "$FILE"
23-
sed -i "s|.*session.save_path = .*|session.save_path = '$(echo $REDIS_FQDN | grep -E '^\w+://' || echo tcp://$REDIS_FQDN):6379?auth=${REDIS_PASSWORD}'|" "$FILE"
20+
sed -i "s|.*session.save_path = .*|session.save_path = '$(echo $REDIS_HOST | grep -E '^\w+://' || echo tcp://$REDIS_HOST):6379?auth=${REDIS_PASSWORD}'|" "$FILE"
2421
sed -i "s/session.sid_length = .*/session.sid_length = 64/" "$FILE"
2522
sed -i "s/session.use_strict_mode = .*/session.use_strict_mode = 1/" "$FILE"
2623
done

core/files/entrypoint_nginx.sh

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,7 @@ term_proc() {
88

99
trap term_proc SIGTERM
1010

11-
[ -z "$MYSQL_HOST" ] && MYSQL_HOST=db
12-
[ -z "$MYSQL_PORT" ] && MYSQL_PORT=3306
13-
[ -z "$MYSQL_USER" ] && MYSQL_USER=misp
14-
[ -z "$MYSQL_PASSWORD" ] && MYSQL_PASSWORD=example
15-
[ -z "$MYSQL_DATABASE" ] && MYSQL_DATABASE=misp
16-
[ -z "$MYSQLCMD" ] && export MYSQLCMD="mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -P $MYSQL_PORT -h $MYSQL_HOST -r -N $MYSQL_DATABASE"
17-
[ -z "$REDIS_PASSWORD" ] && export REDIS_PASSWORD=redispassword
18-
[ -z "$CRON_USER_ID" ] && export CRON_USER_ID="1"
19-
[ -z "$BASE_URL" ] && export BASE_URL="https://localhost"
20-
[ -z "$DISABLE_IPV6" ] && export DISABLE_IPV6=false
21-
[ -z "$DISABLE_SSL_REDIRECT" ] && export DISABLE_SSL_REDIRECT=false
22-
[ -z "$SMTP_FQDN" ] && export SMTP_FQDN=mail
11+
MYSQLCMD="mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -P $MYSQL_PORT -h $MYSQL_HOST -r -N $MYSQL_DATABASE"
2312

2413
init_mysql(){
2514
# Test when MySQL is ready....

core/files/etc/misp-docker/initialisation.envars.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
"default_value": "${SETTING_CONTACT}"
1414
},
1515
"Plugin.ZeroMQ_redis_host": {
16-
"default_value": "${REDIS_FQDN}"
16+
"default_value": "${REDIS_HOST}"
17+
},
18+
"Plugin.ZeroMQ_redis_port": {
19+
"default_value": "${REDIS_PORT}"
1720
},
1821
"Plugin.ZeroMQ_redis_password": {
1922
"default_value": "${REDIS_PASSWORD}"

core/files/etc/misp-docker/minimum_config.defaults.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@
2424
"default_value": "/etc/ssl/certs/ca-certificates.crt",
2525
"command_args": "-f"
2626
},
27-
"MISP.redis_port": {
28-
"default_value": 6379
29-
},
3027
"MISP.redis_database": {
3128
"default_value": 13
3229
},
@@ -64,9 +61,6 @@
6461
"SimpleBackgroundJobs.supervisor_user": {
6562
"default_value": "supervisor"
6663
},
67-
"SimpleBackgroundJobs.redis_port": {
68-
"default_value": 6379
69-
},
7064
"SimpleBackgroundJobs.redis_database": {
7165
"default_value": 1
7266
},

core/files/etc/misp-docker/minimum_config.envars.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
"default_value": "${PYTHON_BIN}"
44
},
55
"MISP.redis_host": {
6-
"default_value": "${REDIS_FQDN}"
6+
"default_value": "${REDIS_HOST}"
7+
},
8+
"MISP.redis_port": {
9+
"default_value": "${REDIS_PORT}"
710
},
811
"MISP.redis_password": {
912
"default_value": "${REDIS_PASSWORD}"
@@ -12,7 +15,10 @@
1215
"default_value": "${GPG_BINARY}"
1316
},
1417
"SimpleBackgroundJobs.redis_host": {
15-
"default_value": "${REDIS_FQDN}"
18+
"default_value": "${REDIS_HOST}"
19+
},
20+
"SimpleBackgroundJobs.redis_port": {
21+
"default_value": "${REDIS_PORT}"
1622
},
1723
"SimpleBackgroundJobs.redis_password": {
1824
"default_value": "${REDIS_PASSWORD}"

docker-compose.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ services:
160160
- "MYSQL_PASSWORD=${MYSQL_PASSWORD:-example}"
161161
- "MYSQL_DATABASE=${MYSQL_DATABASE:-misp}"
162162
# redis settings
163+
- "REDIS_HOST=${REDIS_HOST:-redis}"
164+
- "REDIS_PORT=${REDIS_PORT:-6379}"
163165
- "REDIS_PASSWORD=${REDIS_PASSWORD:-redispassword}"
164166
# Debug setting
165167
- "DEBUG=${DEBUG}"
@@ -175,7 +177,8 @@ services:
175177
- MODULES_COMMIT=${MODULES_COMMIT}
176178
- LIBFAUP_COMMIT=${LIBFAUP_COMMIT:?Missing .env file, see README.md for instructions}
177179
environment:
178-
- "REDIS_BACKEND=redis"
180+
- "REDIS_BACKEND=${REDIS_HOST:-redis}"
181+
- "REDIS_PORT=${REDIS_PORT:-6379}"
179182
- "REDIS_PW=${REDIS_PASSWORD:-redispassword}"
180183
depends_on:
181184
redis:

template.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ SYNCSERVERS_1_PULL_RULES=
7979
# MYSQL_DATABASE=
8080

8181
# optional and used to set redis password
82+
# REDIS_HOST=
83+
# REDIS_PORT=
8284
# REDIS_PASSWORD=
8385

8486
# These variables allows overriding some MISP email values.

0 commit comments

Comments
 (0)