0Pricing
FastAPI Backend Development Bootcamp · Lección

Gestión de variables de entorno y secretos

Aprenda a configurar FastAPI de forma segura para distintos entornos usando variables de entorno y gestión de secretos.

Gestión de variables de entorno y secretos es una lección gratuita de FastAPI Backend Development Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de FastAPI Backend Development Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de FastAPI Backend Development Bootcamp incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Why Externalize Configuration?

Hardcoding database URLs, API keys, or debug flags into your code is dangerous and inflexible.

The 12-factor app approach stores configuration in the environment, so the same image runs in dev, staging, and production with different settings.

Reading Environment Variables

Python reads variables via os.environ or os.getenv with a default.

import os

DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./dev.db")
DEBUG = os.getenv("DEBUG", "false").lower() == "true"

Pydantic Settings

FastAPI projects commonly use pydantic-settings to load and validate config into a typed object.

from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    database_url: str
    secret_key: str
    debug: bool = False

Loading from a .env File

Configure the settings class to read a local .env file during development.

class Settings(BaseSettings):
    database_url: str
    secret_key: str

    class Config:
        env_file = ".env"

Caching the Settings Object

Use lru_cache so settings are parsed once and reused as a dependency.

from functools import lru_cache

@lru_cache
def get_settings() -> Settings:
    return Settings()

Injecting Settings into Routes

Treat settings as a FastAPI dependency for clean access and easy testing.

from fastapi import Depends

@app.get("/info")
def info(settings: Settings = Depends(get_settings)):
    return {"debug": settings.debug}

Never Commit Secrets

Add .env to .gitignore. Committed secrets are extremely hard to fully remove from git history and may leak credentials.

# .gitignore
.env
*.pem
secrets/

Production Secret Stores

In production, prefer a managed secret store over plain files:

  • AWS Secrets Manager or Parameter Store
  • HashiCorp Vault
  • Docker or Kubernetes secrets

These inject secrets at runtime without writing them to disk in plain text.

Different Configs per Environment

Use a single variable like ENV to branch behavior, keeping all values in the environment.

ENV = os.getenv("ENV", "development")
if ENV == "production":
    LOG_LEVEL = "warning"
else:
    LOG_LEVEL = "debug"

Validating Required Variables

Pydantic settings raise a clear error at startup if a required variable is missing, failing fast instead of crashing later.

try:
    settings = Settings()
except Exception as e:
    print("Config error:", e)
    raise

Typed Lists and Nested Config

Settings can parse complex values too, like comma-separated origins into a list, keeping parsing logic out of your routes.

class Settings(BaseSettings):
    cors_origins: list[str] = []

# CORS_ORIGINS=https://a.com,https://b.com

Quick Check

Test your configuration knowledge.

Recap

You learned to manage configuration safely:

  • Read config from the environment, not source code
  • Use pydantic-settings for typed, validated config
  • Never commit .env; use a secret store in production

Solid config management keeps deployments portable and secure.

Preguntas frecuentes

¿La lección «Gestión de variables de entorno y secretos» es gratis?

Sí — el texto completo de «Gestión de variables de entorno y secretos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de FastAPI Backend Development Bootcamp, actualiza a CoddyKit PRO. El curso de FastAPI Backend Development Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Gestión de variables de entorno y secretos»?

Aprenda a configurar FastAPI de forma segura para distintos entornos usando variables de entorno y gestión de secretos. Practicas FastAPI Backend Development Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar FastAPI Backend Development Bootcamp?

No se requiere experiencia previa. FastAPI Backend Development Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Gestión de variables de entorno y secretos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de FastAPI Backend Development Bootcamp?

Sí. Cada lección de FastAPI Backend Development Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Containerización de aplicaciones FastAPI
  2. Implementación con Gunicorn y Uvicorn
  3. Estrategias de implementación en la nube
  4. Gestión de variables de entorno y secretos
← Volver a FastAPI Backend Development Bootcamp