Конфигурация и секреты через окружение
Загружайте настройки без встраивания учётных данных в код.
«Конфигурация и секреты через окружение» — бесплатный урок MCP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
Никогда не встраивайте секреты в код
Ключ API, напрямую записанный в коде, может утечь сразу после отправки изменений в Git. Полностью исключайте секреты из исходных файлов.
Конфигурация хранится в окружении
Стандартное место для настроек — окружение. Сервер считывает значения при запуске, а не встраивает их в сборку.
import os
api_key = os.environ["WEATHER_API_KEY"]Один код — много конфигураций
Чтение из окружения позволяет одной сборке работать в средах разработки, тестирования и эксплуатации — достаточно заменить окружающие её переменные.
Обязательные и необязательные значения
Для обязательного значения используйте обращение по индексу, чтобы отсутствие ключа вызвало явную ошибку, а для необязательных — getenv со значением по умолчанию.
key = os.environ["DB_URL"]
timeout = int(os.getenv("TIMEOUT", "30"))Проверяйте конфигурацию при запуске
Проверяйте каждую настройку, когда сервер запускается, а не при первом запросе. Завершайте работу заранее, выводя понятное сообщение о недостающем значении.
Централизуйте настройки в классе Settings
Соберите все значения в один объект настроек, чтобы остальной код обращался к аккуратным атрибутам, а не к разбросанным вызовам getenv.
class Settings:
db_url = os.environ["DB_URL"]
timeout = int(os.getenv("TIMEOUT", "30"))Pydantic Settings помогает
Класс BaseSettings считывает переменные окружения, преобразует типы и проверяет их за Вас, превращая произвольные строки в проверенный объект конфигурации.
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
db_url: str
timeout: int = 30Используйте .env для локальной разработки
Локальный файл .env хранит значения для Вашего компьютера, но его необходимо добавить в список игнорируемых Git-файлов, чтобы эти значения никогда не попали в репозиторий.
DB_URL=postgres://localhost/dev
TIMEOUT=15Никогда не записывайте секреты в журнал
При выводе конфигурации для отладки маскируйте чувствительные поля. Токен в строке журнала так же открыт, как и токен в коде.
Передавайте конфигурацию явно
Загрузите настройки один раз и передайте их в Ваши службы через жизненный цикл. Не размещайте чтение os.environ по всему коду.
Документируйте каждую переменную
Храните пример .env.example со списком каждой переменной и комментарием. Новые пользователи смогут скопировать его и точно знать, что нужно заполнить.
Быстрая проверка
Как безопаснее всего передать серверу ключ API?
Итоги: конфигурация и секреты
Считывайте настройки из окружения, проверяйте их при запуске, централизуйте в объекте настроек и никогда не фиксируйте секреты в репозитории и не записывайте их в журнал. Далее: идемпотентность. 🔑
Часто задаваемые вопросы
Урок «Конфигурация и секреты через окружение» бесплатный?
Да — полный текст урока «Конфигурация и секреты через окружение» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Конфигурация и секреты через окружение»?
Загружайте настройки без встраивания учётных данных в код. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Конфигурация и секреты через окружение»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Многоуровневая архитектура сервера
- Конфигурация и секреты через окружение
- Идемпотентные инструменты с учётом побочных эффектов
- Версионирование инструментов и схем