50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
# =============================================================================
|
|
# NetBox Configuration
|
|
# =============================================================================
|
|
# This file configures the database with DynamicSchemaDict for netbox-branching.
|
|
# Mount this file to /etc/netbox/config/configuration.py
|
|
# =============================================================================
|
|
|
|
import os
|
|
from netbox_branching.utilities import DynamicSchemaDict
|
|
|
|
# Database configuration with DynamicSchemaDict (required for netbox-branching)
|
|
DATABASES = DynamicSchemaDict({
|
|
'default': {
|
|
'ENGINE': 'django.db.backends.postgresql',
|
|
'NAME': os.environ.get('DB_NAME', 'netbox'),
|
|
'USER': os.environ.get('DB_USER', 'netbox'),
|
|
'PASSWORD': os.environ.get('DB_PASSWORD', ''),
|
|
'HOST': os.environ.get('DB_HOST', 'localhost'),
|
|
'PORT': os.environ.get('DB_PORT', ''),
|
|
'CONN_MAX_AGE': int(os.environ.get('DB_CONN_MAX_AGE', '300')),
|
|
}
|
|
})
|
|
|
|
# Database router for branch-aware queries
|
|
DATABASE_ROUTERS = [
|
|
'netbox_branching.database.BranchAwareRouter',
|
|
]
|
|
|
|
# Redis configuration
|
|
REDIS = {
|
|
'tasks': {
|
|
'HOST': os.environ.get('REDIS_HOST', 'redis'),
|
|
'PORT': int(os.environ.get('REDIS_PORT', '6379')),
|
|
'DATABASE': 0,
|
|
'SSL': False,
|
|
},
|
|
'caching': {
|
|
'HOST': os.environ.get('REDIS_CACHE_HOST', 'redis'),
|
|
'PORT': int(os.environ.get('REDIS_CACHE_PORT', '6379')),
|
|
'DATABASE': 1,
|
|
'SSL': False,
|
|
},
|
|
}
|
|
|
|
# Secret key (required)
|
|
SECRET_KEY = os.environ.get('SECRET_KEY', '')
|
|
|
|
# Allowed hosts
|
|
ALLOWED_HOSTS = ['*']
|