Saltar al contenido

Lección 2.4 Comprobar cada cambio

Configuración, variables y secretos

Distinguir parámetros de ejecución y credenciales, con el acceso necesario para cada tarea.

La dirección donde entregar un pedido y la llave para entrar al almacén no deberían viajar de la misma manera. Las dos ayudan a trabajar, pero publicar una de ellas puede abrir una puerta que no querías abrir.

La configuración adapta una aplicación a un entorno: puerto, destino o modo de ejecución. Un secreto permite acceso o protege información: una credencial, por ejemplo. Colocar un valor en una variable no lo convierte automáticamente en secreto.

Un parámetro adapta el destino

Si una aplicación lee APP_PORT, el mismo código puede escuchar en un puerto distinto sin cambiar el cálculo. En macOS o Linux, una instrucción ilustrativa sería:

APP_PORT=8002 .venv/bin/python app.py

En PowerShell:

$env:APP_PORT = '8002'
.\.venv\Scripts\python.exe app.py

El puerto esperado sería 8002 y la regla del envío seguiría siendo la misma. El puerto es configuración; no necesita ocultarse como si fuera una contraseña. Este fragmento se muestra para leer la separación entre parámetro y comportamiento.

Una variable mal formada también puede romper la entrega

Si APP_PORT contiene una palabra, el programa no podrá interpretarla como puerto. Si otro proceso ocupa ese puerto, tampoco podrá iniciar allí. El paquete podría ser correcto y el entorno impedir su uso.

Por eso hay que definir qué parámetros existen, qué valores aceptan, quién los proporciona y cómo reconocer un error. «Funciona con mis variables» es un punto de partida; documentarlas y comprobarlas permite repetir el trabajo.

Las credenciales siguen otro recorrido

Nuestro caso de cálculo no necesita secretos. En una integración real, las credenciales deben llegar por el mecanismo autorizado y limitarse a la tarea que las necesita. GitHub permite administrar secrets y variables con alcances distintos. Revisa cuándo estarán disponibles y quién puede modificar los flujos que los utilizan.

No imprimas credenciales para comprobar que «sí llegaron». Una prueba puede validar que el acceso necesario funciona sin mostrar el valor. Ocultarlo en una salida ayuda, pero no convierte cualquier uso del dato en seguro. También hay que revisar archivos generados, permisos y código ejecutado.

Separa instrucciones de llaves

Clasifica puerto, URL de un servicio, token de acceso y nombre de una versión. Para cada valor, indica dónde debería configurarse y quién lo necesita. Imagina que el puerto cambia y el total permanece en S/ 80.00. Explica qué modificó el entorno y qué conservó el código.

Una distinción útil

Puerto y nombre de versión suelen ser configuración; el token es un secreto. Una URL puede revelar información interna y necesitar restricciones aunque no sea una credencial. La clasificación depende del contexto, no únicamente de cómo se llame la variable.