Skip to main content

Проект представляет собой генератор docker-compose.yml файла на основе настроек приложения

Project description

Этот проект представляет собой генератор docker-compose.yml файла на основе настроек приложения. Вот подробное описание:

Основное назначение

Автоматическое создание docker-compose.yml файла с подстановкой всех переменных окружения из конфигурации приложения.

Ключевые компоненты

1. ConfigurationComponent

  • Назначение: Преобразует объекты конфигурации в строки переменных окружения
  • Функциональность:
    • Извлекает префикс переменных окружения из конфигурации Pydantic
    • Генерирует строки в формате VARIABLE_NAME: ${VARIABLE_NAME}
    • Добавляет комментарии с названиями классов конфигурации

2. Generator

  • Назначение: Основной класс для генерации docker-compose файла
  • Функциональность:
    • Заменяет плейсхолдеры [ENV] и [VERSION] в шаблоне
    • Сохраняет форматирование и отступы
    • Записывает результат в файл docker-compose.yml

Особенности реализации

Шаблон Docker Compose

Создает сервисы:

  • api - веб-сервер с пробросом портов
  • bg - фоновый сервис
  • Оба используют общую сеть common-net

Автоматизация конфигурации

  • Извлекает все переменные из объектов BaseSettings
  • Сохраняет структуру и префиксы конфигурации
  • Генерирует полный список переменных окружения

Преимущества подхода

  1. Синхронизация - версии и настройки всегда актуальны
  2. Безопасность - не хранит чувствительные данные в репозитории
  3. Автоматизация - исключает ручное редактирование
  4. Масштабируемость - легко добавлять новые сервисы и настройки

Проект полезен для CI/CD процессов, где требуется автоматическое создание docker-compose файлов с актуальными настройками окружения.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compose_generator-0.1.0.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

compose_generator-0.1.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file compose_generator-0.1.0.tar.gz.

File metadata

  • Download URL: compose_generator-0.1.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.12 Linux/6.8.0-85-generic

File hashes

Hashes for compose_generator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9743ace7bb06324741a4cd378999e4786b672aaa1589d023777e83105ada79f2
MD5 9d74d79a9e6beacc643c6a141898e3ed
BLAKE2b-256 4a474576557d6ba6077af0cf9b11a90b1de00a323a20780a1ccb7be6cf129226

See more details on using hashes here.

File details

Details for the file compose_generator-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: compose_generator-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.12 Linux/6.8.0-85-generic

File hashes

Hashes for compose_generator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9f75cc8df6d1d2d53f4c814edd0029bc09f5b99e38df3eb42ad56815cbc77d1
MD5 5cec45fc89329e261030f7789619594f
BLAKE2b-256 29b7adc19b56350c11925fb6b18a6bbbec109d22b2ecb1f75cb86c3c7a91dbb8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page