| DIR: /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/migrations /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/migrations/ |
| Current File : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/migrations/108_validate_config.py |
import logging
import os
from defence360agent.contracts.config import (
ConfigsValidator,
ConfigsValidatorError,
LocalConfig,
)
logger = logging.getLogger(__name__)
# NOTE:
# "MOD_SEC_BLOCK_BY_CUSTOM_RULE" keys are validated even if they are strings.
# This migration is probably not needed anymore anyway.
def migrate(migrator, database, fake=False, **kwargs):
if fake:
return
# adding brute-force rule to existing config
# this is needed until DEFA-689 is done
try:
try:
ConfigsValidator.validate_system_config()
except ConfigsValidatorError:
local_config = LocalConfig()
backup_config = local_config.path + ".invalid"
os.rename(local_config.path, backup_config)
default_config = local_config.config_to_dict()
local_config.dict_to_config(default_config)
logger.warning(
"Invalid config replaced with default one."
" Old config save in %s",
backup_config,
)
except Exception:
logger.exception("Failed to replace invalid config with default one")
def rollback(migrator, database, fake=False, **kwargs):
pass
|