Где хранил переменные окружения

«Где хранил переменные окружения» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go переменные окружения можно хранить и управлять ими через пакет os. Основные методы:

import "os"

// Установка переменной
os.Setenv("KEY", "value")

// Получение переменной
value := os.Getenv("KEY")

// Полный список переменных окружения
envVars := os.Environ()

Для работы с .env файлами часто используют сторонние библиотеки, например github.com/joho/godotenv:

import "github.com/joho/godotenv"

err := godotenv.Load() // Загружает .env файл
if err != nil {
    log.Fatal("Error loading .env file")
}

Лучшие практики:

  • Не храните секреты в коде
  • Используйте .env для разработки
  • Для прода используйте секреты из окружения (Kubernetes Secrets, AWS Secrets Manager и т.д.)