mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
Corrections on testing and behaviors
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Starting Docker Compose Tests - Fri Oct 31 20:00:39 UTC 2025
|
||||
Starting Docker Compose Tests - Fri Oct 31 22:34:52 UTC 2025
|
||||
==========================================
|
||||
File: docker-compose.missing-caps.yml
|
||||
----------------------------------------
|
||||
@@ -46,8 +46,6 @@ netalertx-test-readonly | --> user netalertx
|
||||
netalertx-test-readonly | --> user netalertx
|
||||
netalertx-test-readonly | --> host mode network
|
||||
netalertx-test-readonly | --> layer 2 capabilities
|
||||
netalertx-test-readonly | --> excessive capabilities
|
||||
netalertx-test-readonly | excessive capabilities: FAILED with 2
|
||||
netalertx-test-readonly | --> excessive capabilities
|
||||
netalertx-test-readonly | --> appliance integrity
|
||||
netalertx-test-readonly | --> ports available
|
||||
@@ -65,7 +63,43 @@ netalertx-test-readonly | may fail to start.
|
||||
netalertx-test-readonly | may fail to start.
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | Container startup checks failed with exit code 1.
|
||||
netalertx-test-readonly | NETALERTX_DEBUG is set to 1, will not shut down other services if one fails.
|
||||
netalertx-test-readonly | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-readonly | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-readonly | php-fpm stopped! (exit 1)
|
||||
netalertx-test-readonly | Crond stopped! (exit 1)
|
||||
netalertx-test-readonly | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
|
||||
[Knetalertx-test-readonly exited with code 0
|
||||
netalertx-test-readonly | --> first run config
|
||||
netalertx-test-readonly | --> first run db
|
||||
netalertx-test-readonly | --> mandatory folders
|
||||
netalertx-test-readonly | --> writable config
|
||||
netalertx-test-readonly | --> nginx config
|
||||
netalertx-test-readonly | nginx config: FAILED with 1
|
||||
netalertx-test-readonly | Failure detected in: /entrypoint.d/35-nginx-config.sh
|
||||
netalertx-test-readonly | --> user netalertx
|
||||
netalertx-test-readonly | --> host mode network
|
||||
netalertx-test-readonly | --> layer 2 capabilities
|
||||
netalertx-test-readonly | --> excessive capabilities
|
||||
netalertx-test-readonly | --> appliance integrity
|
||||
netalertx-test-readonly | --> ports available
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | ⚠️ Port Warning: Application port 20211 is already in use.
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | The main application (defined by $PORT) may fail to start.
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-readonly | may fail to start.
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | Container startup checks failed with exit code 1.
|
||||
netalertx-test-readonly | NETALERTX_DEBUG is set to 1, will not shut down other services if one fails.
|
||||
@@ -84,8 +118,6 @@ netalertx-test-readonly | --> user netalertx
|
||||
netalertx-test-readonly | nginx config: FAILED with 1
|
||||
netalertx-test-readonly | Failure detected in: /entrypoint.d/35-nginx-config.sh
|
||||
netalertx-test-readonly | --> user netalertx
|
||||
netalertx-test-readonly | --> layer 2 capabilities
|
||||
netalertx-test-readonly | --> excessive capabilities
|
||||
netalertx-test-readonly | --> host mode network
|
||||
netalertx-test-readonly | --> layer 2 capabilities
|
||||
netalertx-test-readonly | --> excessive capabilities
|
||||
@@ -103,13 +135,14 @@ netalertx-test-readonly | may fail to start.
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-readonly | may fail to start.
|
||||
netalertx-test-readonly | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-readonly |
|
||||
netalertx-test-readonly | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-readonly | Container startup checks failed with exit code 2.
|
||||
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-readonly | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-readonly | Container startup checks failed with exit code 1.
|
||||
netalertx-test-readonly | NETALERTX_DEBUG is set to 1, will not shut down other services if one fails.
|
||||
netalertx-test-readonly | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-readonly | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-readonly | Crond stopped! (exit 1)
|
||||
netalertx-test-readonly | php-fpm stopped! (exit 1)
|
||||
netalertx-test-readonly | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
|
||||
@@ -120,6 +153,66 @@ Testing: docker-compose.writable.yml
|
||||
File: docker-compose.writable.yml
|
||||
----------------------------------------
|
||||
|
||||
Testing: docker-compose.writable.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-writable
|
||||
netalertx-test-writable | [1;31m
|
||||
netalertx-test-writable | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-writable | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-writable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-writable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-writable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-writable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | [0m Network intruder and presence detector.
|
||||
netalertx-test-writable | https://netalertx.com
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | Startup pre-checks
|
||||
netalertx-test-writable | --> storage permission
|
||||
netalertx-test-writable | --> mounts.py
|
||||
netalertx-test-writable | --> first run config
|
||||
netalertx-test-writable | --> first run db
|
||||
netalertx-test-writable | --> mandatory folders
|
||||
netalertx-test-writable | * Creating Plugins log.
|
||||
netalertx-test-writable | * Creating System services run log.
|
||||
netalertx-test-writable | * Creating System services run tmp.
|
||||
netalertx-test-writable | * Creating DB locked log.
|
||||
netalertx-test-writable | * Creating Execution queue log.
|
||||
netalertx-test-writable | --> writable config
|
||||
netalertx-test-writable | --> nginx config
|
||||
netalertx-test-writable | --> user netalertx
|
||||
netalertx-test-writable | --> host mode network
|
||||
netalertx-test-writable | --> layer 2 capabilities
|
||||
netalertx-test-writable | --> excessive capabilities
|
||||
netalertx-test-writable | --> appliance integrity
|
||||
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-writable | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-writable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-writable | --> ports available
|
||||
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-writable | ⚠️ Port Warning: Application port 20211 is already in use.
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | The main application (defined by $PORT) may fail to start.
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-writable | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-writable | may fail to start.
|
||||
netalertx-test-writable |
|
||||
netalertx-test-writable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-writable | NETALERTX_DEBUG is set to 1, will not shut down other services if one fails.
|
||||
netalertx-test-writable | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-writable | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-writable | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-writable | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-writable | nginx stopped! (exit 1)
|
||||
@@ -134,17 +227,778 @@ Testing: docker-compose.mount-test.active_config_mounted.yml
|
||||
- No configuration warnings for nginx config path
|
||||
- Custom PORT configuration should work when nginx config is writable
|
||||
|
||||
Testing: docker-compose.mount-test.active_config_mounted.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-active_config_mounted
|
||||
netalertx-test-mount-active_config_mounted | [1;31m
|
||||
netalertx-test-mount-active_config_mounted | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-active_config_mounted | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-active_config_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-active_config_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-active_config_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-active_config_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-active_config_mounted |
|
||||
netalertx-test-mount-active_config_mounted | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-active_config_mounted | https://netalertx.com
|
||||
netalertx-test-mount-active_config_mounted |
|
||||
netalertx-test-mount-active_config_mounted |
|
||||
netalertx-test-mount-active_config_mounted | Startup pre-checks
|
||||
netalertx-test-mount-active_config_mounted | --> storage permission
|
||||
netalertx-test-mount-active_config_mounted | --> mounts.py
|
||||
netalertx-test-mount-active_config_mounted | --> first run config
|
||||
netalertx-test-mount-active_config_mounted | --> first run db
|
||||
netalertx-test-mount-active_config_mounted | --> mandatory folders
|
||||
netalertx-test-mount-active_config_mounted | * Creating Plugins log.
|
||||
netalertx-test-mount-active_config_mounted | * Creating System services run log.
|
||||
netalertx-test-mount-active_config_mounted | * Creating System services run tmp.
|
||||
netalertx-test-mount-active_config_mounted | * Creating DB locked log.
|
||||
netalertx-test-mount-active_config_mounted | * Creating Execution queue log.
|
||||
netalertx-test-mount-active_config_mounted | --> writable config
|
||||
netalertx-test-mount-active_config_mounted | --> nginx config
|
||||
netalertx-test-mount-active_config_mounted | nginx config: FAILED with 1
|
||||
netalertx-test-mount-active_config_mounted | Failure detected in: /entrypoint.d/35-nginx-config.sh
|
||||
netalertx-test-mount-active_config_mounted | --> user netalertx
|
||||
netalertx-test-mount-active_config_mounted | --> host mode network
|
||||
netalertx-test-mount-active_config_mounted | --> layer 2 capabilities
|
||||
netalertx-test-mount-active_config_mounted | --> excessive capabilities
|
||||
netalertx-test-mount-active_config_mounted | --> appliance integrity
|
||||
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-active_config_mounted |
|
||||
netalertx-test-mount-active_config_mounted | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-active_config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_mounted | --> ports available
|
||||
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_mounted | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-active_config_mounted |
|
||||
netalertx-test-mount-active_config_mounted | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-active_config_mounted | may fail to start.
|
||||
netalertx-test-mount-active_config_mounted |
|
||||
netalertx-test-mount-active_config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_mounted | Container startup checks failed with exit code 1.
|
||||
netalertx-test-mount-active_config_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-active_config_mounted | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-active_config_mounted | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-active_config_mounted | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
File: docker-compose.mount-test.active_config_no-mount.yml
|
||||
==========================================
|
||||
|
||||
Expected outcome: Container shows warning about missing nginx config mount
|
||||
- SYSTEM_SERVICES_ACTIVE_CONFIG shows as not mounted
|
||||
File: docker-compose.mount-test.active_config_no-mount.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container shows mount error for nginx config directory
|
||||
- SYSTEM_SERVICES_ACTIVE_CONFIG shows as not mounted
|
||||
- Mount error since nginx config directory should be mounted for custom config
|
||||
- Container may show warnings about nginx config but should continue
|
||||
|
||||
Testing: docker-compose.mount-test.active_config_no-mount.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-active_config_no-mount
|
||||
netalertx-test-mount-active_config_no-mount | [1;31m
|
||||
netalertx-test-mount-active_config_no-mount | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-active_config_no-mount | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-active_config_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-active_config_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-active_config_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-active_config_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-active_config_no-mount |
|
||||
netalertx-test-mount-active_config_no-mount | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-active_config_no-mount | https://netalertx.com
|
||||
netalertx-test-mount-active_config_no-mount |
|
||||
netalertx-test-mount-active_config_no-mount |
|
||||
netalertx-test-mount-active_config_no-mount | Startup pre-checks
|
||||
netalertx-test-mount-active_config_no-mount | --> storage permission
|
||||
netalertx-test-mount-active_config_no-mount | --> mounts.py
|
||||
netalertx-test-mount-active_config_no-mount | --> first run config
|
||||
netalertx-test-mount-active_config_no-mount | --> first run db
|
||||
netalertx-test-mount-active_config_no-mount | --> mandatory folders
|
||||
netalertx-test-mount-active_config_no-mount | * Creating Plugins log.
|
||||
netalertx-test-mount-active_config_no-mount | * Creating System services run log.
|
||||
netalertx-test-mount-active_config_no-mount | * Creating System services run tmp.
|
||||
netalertx-test-mount-active_config_no-mount | * Creating DB locked log.
|
||||
netalertx-test-mount-active_config_no-mount | * Creating Execution queue log.
|
||||
netalertx-test-mount-active_config_no-mount | --> writable config
|
||||
netalertx-test-mount-active_config_no-mount | --> nginx config
|
||||
netalertx-test-mount-active_config_no-mount | nginx config: FAILED with 1
|
||||
netalertx-test-mount-active_config_no-mount | Failure detected in: /entrypoint.d/35-nginx-config.sh
|
||||
netalertx-test-mount-active_config_no-mount | --> user netalertx
|
||||
netalertx-test-mount-active_config_no-mount | --> host mode network
|
||||
netalertx-test-mount-active_config_no-mount | --> layer 2 capabilities
|
||||
netalertx-test-mount-active_config_no-mount | --> excessive capabilities
|
||||
netalertx-test-mount-active_config_no-mount | --> appliance integrity
|
||||
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-active_config_no-mount |
|
||||
netalertx-test-mount-active_config_no-mount | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-active_config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_no-mount | --> ports available
|
||||
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_no-mount | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-active_config_no-mount |
|
||||
netalertx-test-mount-active_config_no-mount | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-active_config_no-mount | may fail to start.
|
||||
netalertx-test-mount-active_config_no-mount |
|
||||
netalertx-test-mount-active_config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_no-mount | Container startup checks failed with exit code 1.
|
||||
netalertx-test-mount-active_config_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-active_config_no-mount | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-active_config_no-mount | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-active_config_no-mount | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.active_config_ramdisk.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container shows performance warning for nginx config on RAM disk
|
||||
- SYSTEM_SERVICES_ACTIVE_CONFIG shows as mounted on tmpfs (RAM disk)
|
||||
- Performance issue warning since nginx config should be persistent
|
||||
- Custom PORT configuration may have performance implications
|
||||
|
||||
Testing: docker-compose.mount-test.active_config_ramdisk.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-active_config_ramdisk
|
||||
netalertx-test-mount-active_config_ramdisk | [1;31m
|
||||
netalertx-test-mount-active_config_ramdisk | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-active_config_ramdisk | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-active_config_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-active_config_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-active_config_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-active_config_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-active_config_ramdisk |
|
||||
netalertx-test-mount-active_config_ramdisk | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-active_config_ramdisk | https://netalertx.com
|
||||
netalertx-test-mount-active_config_ramdisk |
|
||||
netalertx-test-mount-active_config_ramdisk |
|
||||
netalertx-test-mount-active_config_ramdisk | Startup pre-checks
|
||||
netalertx-test-mount-active_config_ramdisk | --> storage permission
|
||||
netalertx-test-mount-active_config_ramdisk | --> mounts.py
|
||||
netalertx-test-mount-active_config_ramdisk | --> first run config
|
||||
netalertx-test-mount-active_config_ramdisk | --> first run db
|
||||
netalertx-test-mount-active_config_ramdisk | --> mandatory folders
|
||||
netalertx-test-mount-active_config_ramdisk | * Creating Plugins log.
|
||||
netalertx-test-mount-active_config_ramdisk | * Creating System services run log.
|
||||
netalertx-test-mount-active_config_ramdisk | * Creating System services run tmp.
|
||||
netalertx-test-mount-active_config_ramdisk | * Creating DB locked log.
|
||||
netalertx-test-mount-active_config_ramdisk | * Creating Execution queue log.
|
||||
netalertx-test-mount-active_config_ramdisk | --> writable config
|
||||
netalertx-test-mount-active_config_ramdisk | --> nginx config
|
||||
netalertx-test-mount-active_config_ramdisk | --> user netalertx
|
||||
netalertx-test-mount-active_config_ramdisk | --> host mode network
|
||||
netalertx-test-mount-active_config_ramdisk | --> layer 2 capabilities
|
||||
netalertx-test-mount-active_config_ramdisk | --> excessive capabilities
|
||||
netalertx-test-mount-active_config_ramdisk | --> appliance integrity
|
||||
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-active_config_ramdisk |
|
||||
netalertx-test-mount-active_config_ramdisk | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-active_config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_ramdisk | --> ports available
|
||||
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_ramdisk | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-active_config_ramdisk |
|
||||
netalertx-test-mount-active_config_ramdisk | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-active_config_ramdisk | may fail to start.
|
||||
netalertx-test-mount-active_config_ramdisk |
|
||||
netalertx-test-mount-active_config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_ramdisk | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-active_config_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-active_config_ramdisk | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-active_config_ramdisk | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-active_config_ramdisk | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.active_config_unwritable.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container fails to start due to unwritable nginx config partition
|
||||
- SYSTEM_SERVICES_ACTIVE_CONFIG shows as mounted but unwritable (❌ in Writeable column)
|
||||
- 35-nginx-config.sh detects permission error and exits with code 1
|
||||
- Container startup fails because nginx configuration cannot be written for custom ports
|
||||
|
||||
Testing: docker-compose.mount-test.active_config_unwritable.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-active_config_unwritable
|
||||
netalertx-test-mount-active_config_unwritable | [1;31m
|
||||
netalertx-test-mount-active_config_unwritable | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-active_config_unwritable | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-active_config_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-active_config_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-active_config_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-active_config_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-active_config_unwritable |
|
||||
netalertx-test-mount-active_config_unwritable | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-active_config_unwritable | https://netalertx.com
|
||||
netalertx-test-mount-active_config_unwritable |
|
||||
netalertx-test-mount-active_config_unwritable |
|
||||
netalertx-test-mount-active_config_unwritable | Startup pre-checks
|
||||
netalertx-test-mount-active_config_unwritable | --> storage permission
|
||||
netalertx-test-mount-active_config_unwritable | --> mounts.py
|
||||
netalertx-test-mount-active_config_unwritable | --> first run config
|
||||
netalertx-test-mount-active_config_unwritable | --> first run db
|
||||
netalertx-test-mount-active_config_unwritable | --> mandatory folders
|
||||
netalertx-test-mount-active_config_unwritable | * Creating Plugins log.
|
||||
netalertx-test-mount-active_config_unwritable | * Creating System services run log.
|
||||
netalertx-test-mount-active_config_unwritable | * Creating System services run tmp.
|
||||
netalertx-test-mount-active_config_unwritable | * Creating DB locked log.
|
||||
netalertx-test-mount-active_config_unwritable | * Creating Execution queue log.
|
||||
netalertx-test-mount-active_config_unwritable | --> writable config
|
||||
netalertx-test-mount-active_config_unwritable | --> nginx config
|
||||
netalertx-test-mount-active_config_unwritable | nginx config: FAILED with 1
|
||||
netalertx-test-mount-active_config_unwritable | Failure detected in: /entrypoint.d/35-nginx-config.sh
|
||||
netalertx-test-mount-active_config_unwritable | --> user netalertx
|
||||
netalertx-test-mount-active_config_unwritable | --> host mode network
|
||||
netalertx-test-mount-active_config_unwritable | --> layer 2 capabilities
|
||||
netalertx-test-mount-active_config_unwritable | --> excessive capabilities
|
||||
netalertx-test-mount-active_config_unwritable | --> appliance integrity
|
||||
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_unwritable | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-active_config_unwritable |
|
||||
netalertx-test-mount-active_config_unwritable | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-active_config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_unwritable | --> ports available
|
||||
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_unwritable | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-active_config_unwritable |
|
||||
netalertx-test-mount-active_config_unwritable | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-active_config_unwritable | may fail to start.
|
||||
netalertx-test-mount-active_config_unwritable |
|
||||
netalertx-test-mount-active_config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-active_config_unwritable | Container startup checks failed with exit code 1.
|
||||
netalertx-test-mount-active_config_unwritable | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-active_config_unwritable | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-active_config_unwritable | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-active_config_unwritable | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.api_mounted.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container starts successfully with proper API mount
|
||||
- NETALERTX_API shows as writable and mounted
|
||||
- No configuration warnings for API path
|
||||
- API data persistence works correctly
|
||||
|
||||
Testing: docker-compose.mount-test.api_mounted.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-api_mounted
|
||||
netalertx-test-mount-api_mounted | [1;31m
|
||||
netalertx-test-mount-api_mounted | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-api_mounted | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-api_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-api_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-api_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-api_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-api_mounted |
|
||||
netalertx-test-mount-api_mounted | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-api_mounted | https://netalertx.com
|
||||
netalertx-test-mount-api_mounted |
|
||||
netalertx-test-mount-api_mounted |
|
||||
netalertx-test-mount-api_mounted | Startup pre-checks
|
||||
netalertx-test-mount-api_mounted | --> storage permission
|
||||
netalertx-test-mount-api_mounted | --> mounts.py
|
||||
netalertx-test-mount-api_mounted | --> first run config
|
||||
netalertx-test-mount-api_mounted | --> first run db
|
||||
netalertx-test-mount-api_mounted | --> mandatory folders
|
||||
netalertx-test-mount-api_mounted | * Creating Plugins log.
|
||||
netalertx-test-mount-api_mounted | * Creating System services run log.
|
||||
netalertx-test-mount-api_mounted | * Creating System services run tmp.
|
||||
netalertx-test-mount-api_mounted | * Creating DB locked log.
|
||||
netalertx-test-mount-api_mounted | * Creating Execution queue log.
|
||||
netalertx-test-mount-api_mounted | --> writable config
|
||||
netalertx-test-mount-api_mounted | --> nginx config
|
||||
netalertx-test-mount-api_mounted | --> user netalertx
|
||||
netalertx-test-mount-api_mounted | --> host mode network
|
||||
netalertx-test-mount-api_mounted | --> layer 2 capabilities
|
||||
netalertx-test-mount-api_mounted | --> excessive capabilities
|
||||
netalertx-test-mount-api_mounted | --> appliance integrity
|
||||
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-api_mounted |
|
||||
netalertx-test-mount-api_mounted | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-api_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_mounted | --> ports available
|
||||
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_mounted | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-api_mounted |
|
||||
netalertx-test-mount-api_mounted | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-api_mounted | may fail to start.
|
||||
netalertx-test-mount-api_mounted |
|
||||
netalertx-test-mount-api_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_mounted | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-api_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-api_mounted | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-api_mounted | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-api_mounted | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.api_no-mount.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container shows mount error for API directory
|
||||
- NETALERTX_API shows as not mounted
|
||||
- Mount error since API directory should be mounted for proper operation
|
||||
- API functionality may be limited
|
||||
|
||||
Testing: docker-compose.mount-test.api_no-mount.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-api_no-mount
|
||||
netalertx-test-mount-api_no-mount | [1;31m
|
||||
netalertx-test-mount-api_no-mount | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-api_no-mount | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-api_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-api_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-api_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-api_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-api_no-mount |
|
||||
netalertx-test-mount-api_no-mount | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-api_no-mount | https://netalertx.com
|
||||
netalertx-test-mount-api_no-mount |
|
||||
netalertx-test-mount-api_no-mount |
|
||||
netalertx-test-mount-api_no-mount | Startup pre-checks
|
||||
netalertx-test-mount-api_no-mount | --> storage permission
|
||||
netalertx-test-mount-api_no-mount | --> mounts.py
|
||||
netalertx-test-mount-api_no-mount | --> first run config
|
||||
netalertx-test-mount-api_no-mount | --> first run db
|
||||
netalertx-test-mount-api_no-mount | --> mandatory folders
|
||||
netalertx-test-mount-api_no-mount | * Creating Plugins log.
|
||||
netalertx-test-mount-api_no-mount | * Creating System services run log.
|
||||
netalertx-test-mount-api_no-mount | * Creating System services run tmp.
|
||||
netalertx-test-mount-api_no-mount | * Creating DB locked log.
|
||||
netalertx-test-mount-api_no-mount | * Creating Execution queue log.
|
||||
netalertx-test-mount-api_no-mount | --> writable config
|
||||
netalertx-test-mount-api_no-mount | --> nginx config
|
||||
netalertx-test-mount-api_no-mount | --> user netalertx
|
||||
netalertx-test-mount-api_no-mount | --> host mode network
|
||||
netalertx-test-mount-api_no-mount | --> layer 2 capabilities
|
||||
netalertx-test-mount-api_no-mount | --> excessive capabilities
|
||||
netalertx-test-mount-api_no-mount | --> appliance integrity
|
||||
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-api_no-mount |
|
||||
netalertx-test-mount-api_no-mount | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-api_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_no-mount | --> ports available
|
||||
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_no-mount | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-api_no-mount |
|
||||
netalertx-test-mount-api_no-mount | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-api_no-mount | may fail to start.
|
||||
netalertx-test-mount-api_no-mount |
|
||||
netalertx-test-mount-api_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-api_no-mount | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-api_no-mount | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-api_no-mount | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-api_no-mount | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.api_ramdisk.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container shows performance warning for API on RAM disk
|
||||
- NETALERTX_API shows as mounted on tmpfs (RAM disk)
|
||||
- Performance issue warning since API data should be on persistent storage
|
||||
- API data will be lost on container restart
|
||||
|
||||
Testing: docker-compose.mount-test.api_ramdisk.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-api_ramdisk
|
||||
netalertx-test-mount-api_ramdisk | [1;31m
|
||||
netalertx-test-mount-api_ramdisk | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-api_ramdisk | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-api_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-api_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-api_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-api_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-api_ramdisk |
|
||||
netalertx-test-mount-api_ramdisk | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-api_ramdisk | https://netalertx.com
|
||||
netalertx-test-mount-api_ramdisk |
|
||||
netalertx-test-mount-api_ramdisk |
|
||||
netalertx-test-mount-api_ramdisk | Startup pre-checks
|
||||
netalertx-test-mount-api_ramdisk | --> storage permission
|
||||
netalertx-test-mount-api_ramdisk | --> mounts.py
|
||||
netalertx-test-mount-api_ramdisk | --> first run config
|
||||
netalertx-test-mount-api_ramdisk | --> first run db
|
||||
netalertx-test-mount-api_ramdisk | --> mandatory folders
|
||||
netalertx-test-mount-api_ramdisk | * Creating Plugins log.
|
||||
netalertx-test-mount-api_ramdisk | * Creating System services run log.
|
||||
netalertx-test-mount-api_ramdisk | * Creating System services run tmp.
|
||||
netalertx-test-mount-api_ramdisk | * Creating DB locked log.
|
||||
netalertx-test-mount-api_ramdisk | * Creating Execution queue log.
|
||||
netalertx-test-mount-api_ramdisk | --> writable config
|
||||
netalertx-test-mount-api_ramdisk | --> nginx config
|
||||
netalertx-test-mount-api_ramdisk | --> user netalertx
|
||||
netalertx-test-mount-api_ramdisk | --> host mode network
|
||||
netalertx-test-mount-api_ramdisk | --> layer 2 capabilities
|
||||
netalertx-test-mount-api_ramdisk | --> excessive capabilities
|
||||
netalertx-test-mount-api_ramdisk | --> appliance integrity
|
||||
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-api_ramdisk |
|
||||
netalertx-test-mount-api_ramdisk | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-api_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_ramdisk | --> ports available
|
||||
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_ramdisk | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-api_ramdisk |
|
||||
netalertx-test-mount-api_ramdisk | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-api_ramdisk | may fail to start.
|
||||
netalertx-test-mount-api_ramdisk |
|
||||
netalertx-test-mount-api_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-api_ramdisk | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-api_ramdisk | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-api_ramdisk | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-api_ramdisk | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.api_unwritable.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container fails to start due to unwritable API partition
|
||||
- NETALERTX_API shows as mounted but unwritable (❌ in Writeable column)
|
||||
- API directory must be writable for proper operation
|
||||
- Container startup fails because API functionality cannot work without write access
|
||||
|
||||
Testing: docker-compose.mount-test.api_unwritable.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-api_unwritable
|
||||
netalertx-test-mount-api_unwritable | [1;31m
|
||||
netalertx-test-mount-api_unwritable | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-api_unwritable | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-api_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-api_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-api_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-api_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-api_unwritable |
|
||||
netalertx-test-mount-api_unwritable | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-api_unwritable | https://netalertx.com
|
||||
netalertx-test-mount-api_unwritable |
|
||||
netalertx-test-mount-api_unwritable |
|
||||
netalertx-test-mount-api_unwritable | Startup pre-checks
|
||||
netalertx-test-mount-api_unwritable | --> storage permission
|
||||
netalertx-test-mount-api_unwritable | --> mounts.py
|
||||
netalertx-test-mount-api_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss
|
||||
netalertx-test-mount-api_unwritable | ------------------------------------+-----------+-------+---------+-------------+----------
|
||||
netalertx-test-mount-api_unwritable | /app/db | ✅ | ✅ | ➖ | ➖ | ✅
|
||||
netalertx-test-mount-api_unwritable | /app/config | ✅ | ✅ | ➖ | ➖ | ✅
|
||||
netalertx-test-mount-api_unwritable | /app/api | ❌ | ✅ | ❌ | ❌ | ✅
|
||||
netalertx-test-mount-api_unwritable | /app/log | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-api_unwritable | /services/run | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-api_unwritable | /services/config/nginx/conf.active | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-api_unwritable | --> first run config
|
||||
netalertx-test-mount-api_unwritable | --> first run db
|
||||
netalertx-test-mount-api_unwritable | --> mandatory folders
|
||||
netalertx-test-mount-api_unwritable | * Creating Plugins log.
|
||||
netalertx-test-mount-api_unwritable | * Creating System services run log.
|
||||
netalertx-test-mount-api_unwritable | * Creating System services run tmp.
|
||||
netalertx-test-mount-api_unwritable | * Creating DB locked log.
|
||||
netalertx-test-mount-api_unwritable | * Creating Execution queue log.
|
||||
netalertx-test-mount-api_unwritable | --> writable config
|
||||
netalertx-test-mount-api_unwritable | --> nginx config
|
||||
netalertx-test-mount-api_unwritable | --> user netalertx
|
||||
netalertx-test-mount-api_unwritable | --> host mode network
|
||||
netalertx-test-mount-api_unwritable | --> layer 2 capabilities
|
||||
netalertx-test-mount-api_unwritable | --> excessive capabilities
|
||||
netalertx-test-mount-api_unwritable | --> appliance integrity
|
||||
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_unwritable | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-api_unwritable |
|
||||
netalertx-test-mount-api_unwritable | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-api_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_unwritable | --> ports available
|
||||
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_unwritable | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-api_unwritable |
|
||||
netalertx-test-mount-api_unwritable | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-api_unwritable | may fail to start.
|
||||
netalertx-test-mount-api_unwritable |
|
||||
netalertx-test-mount-api_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-api_unwritable | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-api_unwritable | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-api_unwritable | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-api_unwritable | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-api_unwritable | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.config_mounted.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container starts successfully with proper config mount
|
||||
- NETALERTX_CONFIG shows as writable and mounted
|
||||
- No configuration warnings for config path
|
||||
- Configuration persistence works correctly
|
||||
|
||||
Testing: docker-compose.mount-test.config_mounted.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-config_mounted
|
||||
netalertx-test-mount-config_mounted | [1;31m
|
||||
netalertx-test-mount-config_mounted | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-config_mounted | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-config_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-config_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-config_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-config_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-config_mounted |
|
||||
netalertx-test-mount-config_mounted | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-config_mounted | https://netalertx.com
|
||||
netalertx-test-mount-config_mounted |
|
||||
netalertx-test-mount-config_mounted |
|
||||
netalertx-test-mount-config_mounted | Startup pre-checks
|
||||
netalertx-test-mount-config_mounted | --> storage permission
|
||||
netalertx-test-mount-config_mounted | --> mounts.py
|
||||
netalertx-test-mount-config_mounted | --> first run config
|
||||
netalertx-test-mount-config_mounted | --> first run db
|
||||
netalertx-test-mount-config_mounted | --> mandatory folders
|
||||
netalertx-test-mount-config_mounted | * Creating Plugins log.
|
||||
netalertx-test-mount-config_mounted | * Creating System services run log.
|
||||
netalertx-test-mount-config_mounted | * Creating System services run tmp.
|
||||
netalertx-test-mount-config_mounted | * Creating DB locked log.
|
||||
netalertx-test-mount-config_mounted | * Creating Execution queue log.
|
||||
netalertx-test-mount-config_mounted | --> writable config
|
||||
netalertx-test-mount-config_mounted | --> nginx config
|
||||
netalertx-test-mount-config_mounted | --> user netalertx
|
||||
netalertx-test-mount-config_mounted | --> host mode network
|
||||
netalertx-test-mount-config_mounted | --> layer 2 capabilities
|
||||
netalertx-test-mount-config_mounted | --> excessive capabilities
|
||||
netalertx-test-mount-config_mounted | --> appliance integrity
|
||||
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-config_mounted |
|
||||
netalertx-test-mount-config_mounted | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_mounted | --> ports available
|
||||
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_mounted | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-config_mounted |
|
||||
netalertx-test-mount-config_mounted | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-config_mounted | may fail to start.
|
||||
netalertx-test-mount-config_mounted |
|
||||
netalertx-test-mount-config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-config_mounted | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-config_mounted | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-config_mounted | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-config_mounted | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.config_no-mount.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container shows mount error for config directory
|
||||
- NETALERTX_CONFIG shows as not mounted
|
||||
- Mount error since config directory should be mounted for proper operation
|
||||
- Configuration may not persist across restarts
|
||||
|
||||
Testing: docker-compose.mount-test.config_no-mount.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-config_no-mount
|
||||
netalertx-test-mount-config_no-mount | [1;31m
|
||||
netalertx-test-mount-config_no-mount | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-config_no-mount | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-config_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-config_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-config_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-config_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-config_no-mount |
|
||||
netalertx-test-mount-config_no-mount | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-config_no-mount | https://netalertx.com
|
||||
netalertx-test-mount-config_no-mount |
|
||||
netalertx-test-mount-config_no-mount |
|
||||
netalertx-test-mount-config_no-mount | Startup pre-checks
|
||||
netalertx-test-mount-config_no-mount | --> storage permission
|
||||
netalertx-test-mount-config_no-mount | --> mounts.py
|
||||
netalertx-test-mount-config_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss
|
||||
netalertx-test-mount-config_no-mount | ------------------------------------+-----------+-------+---------+-------------+----------
|
||||
netalertx-test-mount-config_no-mount | /app/db | ✅ | ✅ | ➖ | ➖ | ✅
|
||||
netalertx-test-mount-config_no-mount | /app/config | ✅ | ❌ | ➖ | ➖ | ❌
|
||||
netalertx-test-mount-config_no-mount | /app/api | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_no-mount | /app/log | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_no-mount | /services/run | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_no-mount | /services/config/nginx/conf.active | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_no-mount | --> first run config
|
||||
netalertx-test-mount-config_no-mount | --> first run db
|
||||
netalertx-test-mount-config_no-mount | --> mandatory folders
|
||||
netalertx-test-mount-config_no-mount | * Creating Plugins log.
|
||||
netalertx-test-mount-config_no-mount | * Creating System services run log.
|
||||
netalertx-test-mount-config_no-mount | * Creating System services run tmp.
|
||||
netalertx-test-mount-config_no-mount | * Creating DB locked log.
|
||||
netalertx-test-mount-config_no-mount | * Creating Execution queue log.
|
||||
netalertx-test-mount-config_no-mount | --> writable config
|
||||
netalertx-test-mount-config_no-mount | --> nginx config
|
||||
netalertx-test-mount-config_no-mount | --> user netalertx
|
||||
netalertx-test-mount-config_no-mount | --> host mode network
|
||||
netalertx-test-mount-config_no-mount | --> layer 2 capabilities
|
||||
netalertx-test-mount-config_no-mount | --> excessive capabilities
|
||||
netalertx-test-mount-config_no-mount | --> appliance integrity
|
||||
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-config_no-mount |
|
||||
netalertx-test-mount-config_no-mount | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_no-mount | --> ports available
|
||||
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_no-mount | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-config_no-mount |
|
||||
netalertx-test-mount-config_no-mount | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-config_no-mount | may fail to start.
|
||||
netalertx-test-mount-config_no-mount |
|
||||
netalertx-test-mount-config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-config_no-mount | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-config_no-mount | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-config_no-mount | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-config_no-mount | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.config_ramdisk.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container shows dataloss risk warning for config on RAM disk
|
||||
- NETALERTX_CONFIG shows as mounted on tmpfs (RAM disk)
|
||||
- Dataloss risk warning since config data should be persistent
|
||||
- Configuration will be lost on container restart
|
||||
|
||||
Testing: docker-compose.mount-test.config_ramdisk.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-config_ramdisk
|
||||
netalertx-test-mount-config_ramdisk | [1;31m
|
||||
netalertx-test-mount-config_ramdisk | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-config_ramdisk | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-config_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-config_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-config_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-config_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-config_ramdisk |
|
||||
netalertx-test-mount-config_ramdisk | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-config_ramdisk | https://netalertx.com
|
||||
netalertx-test-mount-config_ramdisk |
|
||||
netalertx-test-mount-config_ramdisk |
|
||||
netalertx-test-mount-config_ramdisk | Startup pre-checks
|
||||
netalertx-test-mount-config_ramdisk | --> storage permission
|
||||
netalertx-test-mount-config_ramdisk | --> mounts.py
|
||||
netalertx-test-mount-config_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss
|
||||
netalertx-test-mount-config_ramdisk | ------------------------------------+-----------+-------+---------+-------------+----------
|
||||
netalertx-test-mount-config_ramdisk | /app/db | ✅ | ✅ | ➖ | ➖ | ✅
|
||||
netalertx-test-mount-config_ramdisk | /app/config | ✅ | ✅ | ❌ | ➖ | ❌
|
||||
netalertx-test-mount-config_ramdisk | /app/api | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_ramdisk | /app/log | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_ramdisk | /services/run | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_ramdisk | /services/config/nginx/conf.active | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_ramdisk | --> first run config
|
||||
netalertx-test-mount-config_ramdisk | --> first run db
|
||||
netalertx-test-mount-config_ramdisk | --> mandatory folders
|
||||
netalertx-test-mount-config_ramdisk | * Creating Plugins log.
|
||||
netalertx-test-mount-config_ramdisk | * Creating System services run log.
|
||||
netalertx-test-mount-config_ramdisk | * Creating System services run tmp.
|
||||
netalertx-test-mount-config_ramdisk | * Creating DB locked log.
|
||||
netalertx-test-mount-config_ramdisk | * Creating Execution queue log.
|
||||
netalertx-test-mount-config_ramdisk | --> writable config
|
||||
netalertx-test-mount-config_ramdisk | writable config: FAILED with 1
|
||||
netalertx-test-mount-config_ramdisk | Failure detected in: /entrypoint.d/30-writable-config.sh
|
||||
netalertx-test-mount-config_ramdisk | --> nginx config
|
||||
netalertx-test-mount-config_ramdisk | --> user netalertx
|
||||
netalertx-test-mount-config_ramdisk | --> host mode network
|
||||
netalertx-test-mount-config_ramdisk | --> layer 2 capabilities
|
||||
netalertx-test-mount-config_ramdisk | --> excessive capabilities
|
||||
netalertx-test-mount-config_ramdisk | --> appliance integrity
|
||||
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode.
|
||||
netalertx-test-mount-config_ramdisk |
|
||||
netalertx-test-mount-config_ramdisk | Please mount the root filesystem as --read-only or use read-only: true
|
||||
netalertx-test-mount-config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
|
||||
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_ramdisk | --> ports available
|
||||
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_ramdisk | ⚠️ Port Warning: GraphQL API port 20212 is already in use.
|
||||
netalertx-test-mount-config_ramdisk |
|
||||
netalertx-test-mount-config_ramdisk | The GraphQL API (defined by $APP_CONF_OVERRIDE or $GRAPHQL_PORT)
|
||||
netalertx-test-mount-config_ramdisk | may fail to start.
|
||||
netalertx-test-mount-config_ramdisk |
|
||||
netalertx-test-mount-config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/port-conflicts.md
|
||||
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
|
||||
netalertx-test-mount-config_ramdisk | Container startup checks failed with exit code 1.
|
||||
netalertx-test-mount-config_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/app/log/app.php_errors.log" 2>/dev/stderr &
|
||||
netalertx-test-mount-config_ramdisk | Starting /usr/sbin/crond -c "/services/config/crond" -f -L "/app/log/crond.log" >>"/app/log/crond.log" 2>&1 &
|
||||
netalertx-test-mount-config_ramdisk | Starting python3 -m server > /app/log/stdout.log 2> >(tee /app/log/stderr.log >&2)
|
||||
netalertx-test-mount-config_ramdisk | Starting /usr/sbin/nginx -p "/services/run/" -c "/services/config/nginx/conf.active/netalertx.conf" -g "error_log /dev/stderr; error_log /app/log/nginx-error.log; pid /services/run/nginx.pid; daemon off;" &
|
||||
netalertx-test-mount-config_ramdisk | Successfully updated IEEE OUI database (111620 entries)
|
||||
|
||||
==========================================
|
||||
|
||||
File: docker-compose.mount-test.config_unwritable.yml
|
||||
----------------------------------------
|
||||
Expected outcome: Container fails to start due to unwritable config partition
|
||||
- NETALERTX_CONFIG shows as mounted but unwritable (❌ in Writeable column)
|
||||
- 30-writable-config.sh detects permission error and exits with code 1
|
||||
- Container startup fails because config files cannot be written to
|
||||
|
||||
Testing: docker-compose.mount-test.config_unwritable.yml
|
||||
Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests
|
||||
|
||||
Running docker-compose up...
|
||||
Attaching to netalertx-test-mount-config_unwritable
|
||||
netalertx-test-mount-config_unwritable | [1;31m
|
||||
netalertx-test-mount-config_unwritable | _ _ _ ___ _ _ __ __
|
||||
netalertx-test-mount-config_unwritable | | \ | | | | / _ \| | | | \ \ / /
|
||||
netalertx-test-mount-config_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
|
||||
netalertx-test-mount-config_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \
|
||||
netalertx-test-mount-config_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \
|
||||
netalertx-test-mount-config_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/
|
||||
netalertx-test-mount-config_unwritable |
|
||||
netalertx-test-mount-config_unwritable | [0m Network intruder and presence detector.
|
||||
netalertx-test-mount-config_unwritable | https://netalertx.com
|
||||
netalertx-test-mount-config_unwritable |
|
||||
netalertx-test-mount-config_unwritable |
|
||||
netalertx-test-mount-config_unwritable | Startup pre-checks
|
||||
netalertx-test-mount-config_unwritable | --> storage permission
|
||||
netalertx-test-mount-config_unwritable | --> mounts.py
|
||||
netalertx-test-mount-config_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss
|
||||
netalertx-test-mount-config_unwritable | ------------------------------------+-----------+-------+---------+-------------+----------
|
||||
netalertx-test-mount-config_unwritable | /app/db | ✅ | ✅ | ➖ | ➖ | ✅
|
||||
netalertx-test-mount-config_unwritable | /app/config | ❌ | ✅ | ➖ | ➖ | ✅
|
||||
netalertx-test-mount-config_unwritable | /app/api | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_unwritable | /app/log | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
netalertx-test-mount-config_unwritable | /services/run | ✅ | ✅ | ✅ | ✅ | ✅
|
||||
@@ -197,6 +197,15 @@ def _run_container(
|
||||
sleep_seconds: float = GRACE_SECONDS,
|
||||
) -> subprocess.CompletedProcess[str]:
|
||||
name = f"netalertx-test-{label}-{uuid.uuid4().hex[:8]}".lower()
|
||||
|
||||
# Clean up any existing container with this name
|
||||
subprocess.run(
|
||||
["docker", "rm", "-f", name],
|
||||
check=False,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL,
|
||||
)
|
||||
|
||||
cmd: list[str] = ["docker", "run", "--rm", "--name", name]
|
||||
|
||||
if network_mode:
|
||||
@@ -272,11 +281,14 @@ def _run_container(
|
||||
|
||||
|
||||
def _assert_contains(result, snippet: str, cmd: list[str] = None) -> None:
|
||||
if snippet not in result.output:
|
||||
output = result.output + result.stderr
|
||||
if snippet not in output:
|
||||
cmd_str = " ".join(cmd) if cmd else ""
|
||||
raise AssertionError(
|
||||
f"Expected to find '{snippet}' in container output.\n"
|
||||
f"Got:\n{result.output}\n"
|
||||
f"STDOUT:\n{result.output}\n"
|
||||
f"STDERR:\n{result.stderr}\n"
|
||||
f"Combined output:\n{output}\n"
|
||||
f"Container command:\n{cmd_str}"
|
||||
)
|
||||
|
||||
@@ -352,7 +364,7 @@ def test_running_as_root_is_blocked(tmp_path: pathlib.Path) -> None:
|
||||
)
|
||||
_assert_contains(result, "NetAlertX is running as ROOT", result.args)
|
||||
_assert_contains(result, "Permissions fixed for read-write paths.", result.args)
|
||||
assert result.returncode == 0 # container must be forced to exit 0 by termination after warning
|
||||
assert result.returncode == 0 # container warns but continues running, then terminated by test framework
|
||||
|
||||
|
||||
def test_running_as_uid_1000_warns(tmp_path: pathlib.Path) -> None:
|
||||
@@ -374,7 +386,7 @@ def test_running_as_uid_1000_warns(tmp_path: pathlib.Path) -> None:
|
||||
user="1000:1000",
|
||||
)
|
||||
_assert_contains(result, "NetAlertX is running as UID 1000:1000", result.args)
|
||||
assert result.returncode != 0
|
||||
|
||||
|
||||
|
||||
def test_missing_host_network_warns(tmp_path: pathlib.Path) -> None:
|
||||
@@ -388,7 +400,17 @@ def test_missing_host_network_warns(tmp_path: pathlib.Path) -> None:
|
||||
Check script: check-network-mode.sh
|
||||
Sample message: "⚠️ ATTENTION: NetAlertX is not running with --network=host. Bridge networking..."
|
||||
"""
|
||||
paths = _setup_mount_tree(tmp_path, "missing_host_net")
|
||||
base = tmp_path / "missing_host_net_base"
|
||||
paths = _setup_fixed_mount_tree(base)
|
||||
# Ensure directories are writable and owned by netalertx user so container can operate
|
||||
for key in ["app_db", "app_config", "app_log", "app_api", "services_run", "nginx_conf"]:
|
||||
paths[key].chmod(0o777)
|
||||
_chown_netalertx(paths[key])
|
||||
# Create a config file so the writable check passes
|
||||
config_file = paths["app_config"] / "app.conf"
|
||||
config_file.write_text("test config")
|
||||
config_file.chmod(0o666)
|
||||
_chown_netalertx(config_file)
|
||||
volumes = _build_volume_args(paths)
|
||||
result = _run_container(
|
||||
"missing-host-network",
|
||||
@@ -396,7 +418,6 @@ def test_missing_host_network_warns(tmp_path: pathlib.Path) -> None:
|
||||
network_mode=None,
|
||||
)
|
||||
_assert_contains(result, "not running with --network=host", result.args)
|
||||
assert result.returncode != 0
|
||||
|
||||
|
||||
def test_missing_app_conf_triggers_seed(tmp_path: pathlib.Path) -> None:
|
||||
|
||||
@@ -207,7 +207,9 @@ def create_test_scenarios() -> List[TestScenario]:
|
||||
elif scenario_name == "mounted" and is_persistent:
|
||||
# Mounted is good for persistent paths
|
||||
expected_issues = []
|
||||
|
||||
elif path_name == "active_config" and scenario_name == "unwritable":
|
||||
# active_config unwritable: RAM disk issues detected
|
||||
expected_issues = ["table_issues", "warning_message"]
|
||||
compose_file = f"docker-compose.mount-test.{path_name}_{scenario_name}.yml"
|
||||
|
||||
# Determine expected exit code
|
||||
@@ -236,6 +238,14 @@ def test_mount_diagnostic(netalertx_test_image, test_scenario):
|
||||
|
||||
# Start container
|
||||
project_name = f"mount-test-{test_scenario.name.replace('_', '-')}"
|
||||
|
||||
# Remove any existing containers with the same project name
|
||||
cmd_down = [
|
||||
"docker-compose", "-f", str(compose_file),
|
||||
"-p", project_name, "down", "-v"
|
||||
]
|
||||
subprocess.run(cmd_down, capture_output=True, timeout=30)
|
||||
|
||||
cmd_up = [
|
||||
"docker-compose", "-f", str(compose_file),
|
||||
"-p", project_name, "up", "-d"
|
||||
@@ -251,7 +261,7 @@ def test_mount_diagnostic(netalertx_test_image, test_scenario):
|
||||
try:
|
||||
# Wait for container to be ready
|
||||
import time
|
||||
time.sleep(3)
|
||||
time.sleep(4)
|
||||
|
||||
# Check if container is still running
|
||||
container_name = f"netalertx-test-mount-{test_scenario.name}"
|
||||
@@ -348,29 +358,31 @@ def test_mount_diagnostic(netalertx_test_image, test_scenario):
|
||||
# active_config not mounted: mount=False, performance=False (not ramdisk)
|
||||
assert_table_row(logs, '/services/config/nginx/conf.active', mount=False, performance=False)
|
||||
elif test_scenario.name == 'active_config_unwritable':
|
||||
# active_config read-only: but path doesn't exist, so parent dir check makes it writeable=True
|
||||
# This is a bug in the diagnostic tool, but we test the current behavior
|
||||
assert_table_row(logs, '/services/config/nginx/conf.active', writeable=True)
|
||||
# active_config unwritable: RAM disk issues detected
|
||||
assert_table_row(logs, '/services/config/nginx/conf.active', ramdisk=False, performance=False)
|
||||
|
||||
except AssertionError as e:
|
||||
pytest.fail(f"Table validation failed for {test_scenario.name}: {e}")
|
||||
|
||||
return # Test passed - container correctly detected issues and exited
|
||||
|
||||
# Container is still running - run diagnostic tool
|
||||
cmd_exec = [
|
||||
"docker", "exec", container_name,
|
||||
"python3", "/entrypoint.d/10-mounts.py"
|
||||
]
|
||||
# Container is still running - run diagnostic tool
|
||||
cmd_exec = [
|
||||
"docker", "exec", "--user", "netalertx", container_name,
|
||||
"python3", "/entrypoint.d/10-mounts.py"
|
||||
]
|
||||
result_exec = subprocess.run(cmd_exec, capture_output=True, text=True, timeout=30)
|
||||
|
||||
# Diagnostic tool returns 1 if there are write errors, 0 otherwise
|
||||
expected_tool_exit = 1 if "unwritable" in test_scenario.name else 0
|
||||
assert result_exec.returncode == expected_tool_exit, f"Diagnostic tool failed: {result_exec.stderr}"
|
||||
|
||||
result_exec = subprocess.run(cmd_exec, capture_output=True, text=True, timeout=30)
|
||||
assert result_exec.returncode == 0, f"Diagnostic tool failed: {result_exec.stderr}"
|
||||
|
||||
# For good configurations (no issues expected), verify no output
|
||||
if not test_scenario.expected_issues:
|
||||
assert result_exec.stdout.strip() == "", f"Good config {test_scenario.name} should produce no stdout, got: {result_exec.stdout}"
|
||||
assert result_exec.stderr.strip() == "", f"Good config {test_scenario.name} should produce no stderr, got: {result_exec.stderr}"
|
||||
return # Test passed - good configuration correctly produces no issues
|
||||
# For good configurations (no issues expected), verify table output but no warning
|
||||
if not test_scenario.expected_issues:
|
||||
# Should have table output but no warning message
|
||||
assert "Path" in result_exec.stdout, f"Good config {test_scenario.name} should show table, got: {result_exec.stdout}"
|
||||
assert "⚠️" not in result_exec.stderr, f"Good config {test_scenario.name} should not show warning, got stderr: {result_exec.stderr}"
|
||||
return # Test passed - good configuration correctly produces no warnings
|
||||
|
||||
finally:
|
||||
# Stop container
|
||||
|
||||
Reference in New Issue
Block a user