Klarety

Secretos y variables de entorno

Mantenga contraseñas y claves de API fuera de su código, y dé a sus aplicaciones los ajustes que necesitan.

Dos tipos de valores quedan fuera de su código: secretos (contraseñas y ) y variables de entorno (ajustes simples, como una dirección pública). Guardados en el , una clave nunca termina en su repositorio ni en un chat con la IA, y usted cambia un valor sin cambiar código.

Cómo se protegen los secretos

Los secretos se cifran con un servicio de claves administrado. Una vez guardado, el valor queda oculto: nadie puede leerlo en la aplicación ni por la API, pero sus aplicaciones sí pueden usarlo.

Antes de empezar

  • Agregarlos y cambiarlos requiere el Propietario o Administrador en el proyecto.
  • La aplicación le pide confirmar su identidad primero: seleccione Verifique para ver y luego Continuar en "Confirme que es usted".

Dónde encontrarlos

  • Claves en la barra lateral, bajo Lanzamiento, cubre todos los proyectos. Elija uno; la página indica si puede cambiar o solo ver.
  • Dentro de un proyecto, abra Configuración y vaya a Claves.

¿Secreto o variable?

Use unParaDespués de guardar
SecretoContraseñas, tokens y claves de API.Oculto. Puede reemplazarlo, desactivarlo o eliminarlo, nunca leerlo.
VariableAjustes simples que sus aplicaciones pueden leer.Visible para quienes pueden abrir la sección Claves.

Agregar un secreto

Abra Secretos

En la sección Claves del proyecto, seleccione Verifique para ver si se le pide, vaya a Secretos y abra Agregar un secreto.

Póngale nombre

Escriba un Nombre, por ejemplo GITHUB_TOKEN.

Elija cómo se usa

En Cómo se usa, elija una opción:

  • Se agrega a las solicitudes a un sitio web: escriba el Sitio web (por ejemplo api.github.com). Klarety agrega el secreto a cada solicitud allí, así su código nunca tiene el valor. Opcionalmente, defina el Encabezado (por ejemplo Authorization) y un Prefijo (por ejemplo Bearer ).
  • Una variable en sus aplicaciones desplegadas: su aplicación desplegada la lee como una variable de entorno con este nombre.

Pegue el valor y elija el alcance

Pegue el Valor. En Alcance, elija Studio, Vista previa o Producción.

Guarde

Seleccione Agregar secreto.

El formulario Agregar un secreto

Los secretos también son de solo escritura en el SDK: projects.secrets devuelve nombres, sitios, versiones y último uso, nunca un valor.

secrets.py
from klarety import Nexus

nx = Nexus.connect()
project_id = "YOUR_PROJECT_ID"

nx.projects.set_secret(
    project_id,
    "GITHUB_TOKEN",
    "ghp_your_token",
    host="api.github.com",
    use="host",
    environments=["studio", "production"],
)

nx.projects.set_secret(project_id, "STRIPE_KEY", "sk_live_your_key", use="env")

for secret in nx.projects.secrets(project_id)["secrets"]:
    print(secret["name"], secret["host"], secret["version"])

nx.projects.disable_secret(project_id, "STRIPE_KEY")
nx.projects.delete_secret(project_id, "STRIPE_KEY")

use="host" agrega el secreto a las solicitudes a host, con inject_header (por defecto Authorization) e inject_prefix (por defecto Bearer ). use="env" lo define como una variable con el nombre del secreto. environments acepta studio, preview y production. Para traer un archivo dotenv, nx.projects.import_secrets(project_id, entries, host=...) agrega un secreto por clave.

Cambiar o quitar un secreto

Cada secreto muestra su alcance, su versión y cuándo se usó por última vez.

  • Reemplazar: sobrescribe el valor para siempre. El nuevo se usa desde la próxima solicitud.
  • Desactivar: pausa el secreto sin eliminarlo.
  • Eliminar: deja de enviarse de inmediato y no se puede recuperar.

Agregar una variable

Abra Entorno

En la sección Claves del proyecto, vaya a Entorno y seleccione Agregar variable.

Complétela

Escriba el nombre y el Valor, y elija su alcance (Studio, Vista previa o Producción). Márquela como Compilación si su aplicación la necesita al compilarse, o Público si está pensada para verse, por ejemplo en una página web.

Guarde

Seleccione Guardar. Si quitó o renombró una variable, la aplicación le pide confirmar.

La sección Entorno de las Claves del proyecto con el formulario Agregar variable

set_env reemplaza el conjunto completo, y solo sobre la versión que usted leyó, para que dos personas no se sobrescriban sin darse cuenta. Una version desactualizada recibe un conflicto 409.

environment.py
from klarety import Nexus

nx = Nexus.connect()
project_id = "YOUR_PROJECT_ID"

current = nx.projects.env(project_id)
entries = {**current["entries"], "APP_TITLE": "Sales dashboard"}

nx.projects.set_env(
    project_id,
    entries,
    version=current["version"],
    scopes={
        **current["scopes"],
        "APP_TITLE": {"environments": ["production", "preview"], "public": True},
    },
)

Cuándo se aplica un cambio

  • Los y nuevos reciben una variable cambiada.
  • El código que lee una variable quitada o renombrada deja de encontrarla.
  • Un secreto reemplazado se usa desde la próxima solicitud. Uno eliminado se detiene de inmediato.

Vuelva a desplegar tras un cambio

Una aplicación en ejecución conserva sus valores anteriores hasta que se despliegue de nuevo. Consulte Desplegar una aplicación.

Si algo sale mal

Siguientes pasos

En esta página