old_console/console/management/commands/create_vector_configs.py
2024-11-02 14:12:45 +03:00

32 lines
1.2 KiB
Python

import os
from pathlib import Path
from django.conf import settings
from django.core.management.base import BaseCommand
from django.template import Template, Context
ELK_URL = getattr(settings, 'ELASTIC_URL', 'localhost:9200')
ELK_LOGIN = getattr(settings, 'ELK_LOGIN', 'elastic')
ELK_PASS = getattr(settings, 'ELK_PASS', 'changeme')
VECTOR_CONFIG_DIR = getattr(settings, 'LOGSTASH_CONFIG_DIR')
class Command(BaseCommand):
help = 'Load default Vector configs'
def handle(self, *args, **options):
templates_path = Path(os.path.abspath(__file__)).parents[0] / 'templates'
context = Context({
"elastic_url": ELK_URL,
"elastic_login": ELK_LOGIN,
"elastic_password": ELK_PASS,
})
Path(VECTOR_CONFIG_DIR).mkdir(exist_ok=True)
for template in os.listdir(templates_path):
with open(f"{templates_path}/{template}", 'r') as template_file:
template_text = template_file.read()
config_content = Template(template_text).render(context)
with open(os.path.join(VECTOR_CONFIG_DIR, template), 'w') as f:
f.write(config_content)
print(f'Created {template}')