# Environment Configuration Generator

## Описание

Скрипт `scripts/generate_env.sh` создает файл `.env` на основе шаблона `.env.example` с интерактивным вводом параметров или автоматической генерацией безопасных значений.

## Использование

### Интерактивный режим (разработка)
```bash
./scripts/generate_env.sh
```

### Автоматический режим для продакшена
```bash
./scripts/generate_env.sh --production
```

### Неинтерактивный режим
```bash
./scripts/generate_env.sh --yes
```

### Комбинированный режим
```bash
./scripts/generate_env.sh --production --yes
```

## Функции

### 🔒 Автоматическая генерация безопасных паролей
- Django SECRET_KEY (криптографически стойкий)
- Пароли базы данных (случайные 25-символьные)
- Все пароли генерируются с использованием OpenSSL или Python secrets

### 🚀 Продакшен режим (`--production`)
- Автоматически устанавливает `DJANGO_DEBUG=False`
- Включает SSL настройки (HSTS, SSL redirect)
- Генерирует криптографически стойкие пароли
- Запрашивает домен и email для SSL сертификатов
- Настраивает CORS только для указанного домена

### ⚡ Неинтерактивный режим (`--yes`)
- Использует значения из переменных окружения
- Подходит для CI/CD и автоматизированного развертывания
- Сохраняет значения по умолчанию из `.env.example`

## Примеры

### Быстрая настройка для разработки
```bash
# Создаст .env с базовыми настройками для localhost
./scripts/generate_env.sh --yes
```

### Настройка продакшена
```bash
# Интерактивная настройка с вводом домена
./scripts/generate_env.sh --production

# Или автоматически, если домен в переменной окружения
DOMAIN=example.com EMAIL=admin@example.com ./scripts/generate_env.sh --production --yes
```

### Переменные окружения для автоматизации
```bash
export DJANGO_SECRET_KEY="your-secret-key"
export DATABASE_PASSWORD="your-db-password" 
export DOMAIN="example.com"
export EMAIL="admin@example.com"

./scripts/generate_env.sh --yes
```

## Безопасность

- Пароли генерируются криптографически стойкими методами
- Секретные ключи никогда не выводятся в консоль
- В продакшен режиме автоматически отключается DEBUG
- Включаются все необходимые заголовки безопасности

## Интеграция

Скрипт интегрирован в:
- `setup.sh` - основной скрипт установки
- `Makefile` - команды для управления проектом
- `scripts/master-deploy.sh` - скрипт развертывания

## Совместимость

- ✅ Linux/macOS/WSL
- ✅ Docker environments
- ✅ CI/CD pipelines
- ✅ OpenSSL и Python 3.x