Переменные окружения
Автоматические (создаются платформой)
Эти переменные уже доступны в контейнерах — не нужно ничего настраивать:
| Переменная | Значение | Описание |
|---|---|---|
DATABASE_URL | postgresql://... | Полная строка подключения |
DB_HOST | postgres-main-pooler... | Хост PostgreSQL |
DB_PORT | 5432 | Порт |
DB_NAME | project-NN | Имя базы |
DB_USER | project-NN | Пользователь |
DB_PASSWORD | ... | Пароль |
ALLOWED_HOSTS | project-NN.simple-env.site | Для Django |
CORS_ALLOWED_ORIGINS | https://project-NN... | Для Django CORS |
VITE_API_URL | https://project-NN.../api | Для Vite |
PYTHONDONTWRITEBYTECODE | 1 | Не создавать .pyc |
PYTHONUNBUFFERED | 1 | Немедленный вывод логов |
Несекретные (в backend/deploy.yaml)
Добавляй в секцию backend.env:
backend:
env:
DJANGO_SETTINGS_MODULE: "config.settings.production"
CELERY_TASK_ALWAYS_EAGER: "False"
EMAIL_BACKEND: "django.core.mail.backends.console.EmailBackend"
Секретные (через Kubernetes Secret)
Для SECRET_KEY, API ключей, паролей внешних сервисов — напиши преподавателю список нужных переменных и их значения. Преподаватель создаст Secret в твоём namespace. Студент не имеет прав создавать секреты напрямую.
Пример сообщения преподавателю:
Нужен Secret app-secrets в project-NN с переменными:
SECRET_KEY = <сгенерируй случайную строку>
STRIPE_API_KEY = sk_test_...
В коде читай как обычные env:
import os
SECRET_KEY = os.environ.get('SECRET_KEY', 'fallback-for-local-dev')
.env локальноДля локальной разработки создай .env файл (он в .gitignore — не коммитится):
SECRET_KEY=local-dev-secret
DATABASE_URL=postgresql://app:app@localhost:5432/app
Используй python-dotenv или django-environ для загрузки.