Hoppa till innehållet
Stackship-dokumentation English

HemligheterAnvändareMaskinöversatt

Hemligheter i appar och funktioner

Referera till valvhemligheter från en app eller en funktion och läs värdena i din kod.

Lägg till en hemlighetsreferens

  1. Öppna hemlighetsreferenserna:
    • för en app: öppna appen och gå till Konfiguration → Hemligheter;
    • för en funktion: öppna funktionsnamnutrymmet, sedan funktionen, och gå till dess flik Konfiguration, avsnittet Hemligheter. Referenserna hör till den enskilda funktionen.
  2. Välj Lägg till hemlighet. I Lägg till hemlighetsreferens väljer du Valv och Hemlighet. Bara aktiverade hemligheter erbjuds.
  3. Kontrollera Miljövariabelnamn. Det fylls i från hemlighetens namn med versaler och bindestreck ersatta med understreck, och måste vara en bokstav eller ett understreck följt av bokstäver, siffror och understreck.
  4. Välj Lägg till och sedan Spara. Appen eller funktionen deployas om med de nya referenserna.

Innan poddarna kan starta behöver arbetslastens identitet Secrets Reader på valvet; för appar och funktioner tilldelar du den själv — se Ge en arbetslast åtkomst.

Viktigt

En funktion läser sina hemligheter med sitt funktionsnamnutrymmes identitet, som alla funktioner i namnutrymmet delar. När den identiteten får läsa ett valv kan varje funktion i namnutrymmet läsa varje hemlighet i valvet, oavsett om funktionen refererar till den eller inte. Håll funktioner som inte ska se varandras hemligheter i separata namnutrymmen eller valv.

Läs värdena i en app

En apps värden sätts inte som miljövariabler. Applikationen hittar dem i filen /secrets/env.json: ett JSON-objekt som kopplar varje namn du valde under Miljövariabelnamn till hemlighetens värde.

Filen ligger på en skrivskyddad volym i minnet. Läs den vid start, till exempel:

javascript
const secrets = JSON.parse(require("fs").readFileSync("/secrets/env.json", "utf8"));
const apiKey = secrets.API_KEY;
python
import json
secrets = json.load(open("/secrets/env.json"))
api_key = secrets["API_KEY"]

Läs värdena i en funktion

En funktion får sina värden som miljövariabler. När funktionen startar läser dess runtime (Node.js, .NET eller Go) /secrets/env.json och sätter en variabel per referens, med namnet STSH_ följt av Miljövariabelnamn med versaler — referensen API_KEY läses som STSH_API_KEY:

javascript
const apiKey = process.env.STSH_API_KEY;
csharp
var apiKey = Environment.GetEnvironmentVariable("STSH_API_KEY");

Om filen inte kan läsas startar inte funktionen.

När ett värde ändras

Filen skrivs en gång, när podden startar. När du har ändrat en hemlighet: gör en ny deploy eller starta om appen eller funktionen för att få det nya värdet.