Gå til indhold

Hemmeligheder

Et Restorm-projekt er lavet til at blive committet. Hemmeligheder må aldrig havne i det. Værditypen Hemmelighed løser netop det: variablen gemmer en reference til en kilde, aldrig værdien selv.

Vælg typen Hemmelighed på en variabel, og derefter kilden. Projektfilen indeholder så kun kildens id og dens parametre. Værdien resolveres i hovedprocessen, på kørselstidspunktet.

To miljøvariabler af typen Hemmelighed (petstore_auth_token, api_key): cellen bærer markøren $= og knapperne opdater, redigér hentningen og lås — ved siden af en variabel af typen streng

En hemmelighed kan stadig ses inde i applikationen: miljøeditoren, visningerne med den resolverede værdi, den interne konsol og kodeeksemplerne viser dens værdi. Det er din egen hemmelighed, du kender den allerede — typen Hemmelighed forsøger ikke at skjule den for dig.

Det, den til gengæld garanterer, er at værdien:

  • aldrig havner i de filer, der forlader din maskin — den skrives ikke i .restorm-projektet og bliver derfor hverken committet, pushet til et repository eller taget med i en eksport;
  • ikke sendes til en uautoriseret tredjepartstjeneste — de udgående destinationer går gennem firewallen.

Læser en miljøvariabel fra styresystemet. Kun én parameter: variablens navn.

Det er den kilde, du bør foretrække i CI: hemmeligheden injiceres af din CI-platforms vault, og Restorm gør ikke andet end at læse den.

Terminal window
export API_TOKEN=""
restorm --open projet.restorm --run "Tests" --headless

Læser — og skriver — en restorm.env-fil, der ligger ved siden af projektet. Det er den lokale tilstand: filen bliver på din maskine og føjes til .gitignore.

I modsætning til den forrige kilde er denne skrivbar: du kan indtaste værdien fra Restorm, og den gemmes i hemmelighedsfilen og ikke i projektet.

De resolverede værdier caches. Har du ændret en hemmelighed uden for Restorm (roteret et token, rettet i .env-filen), så brug Opdater miljøet for at tømme cachen og læse alle kilder igen.

Restorm renser hemmeligheder ud af det, som skrives til disken:

MCP-værktøjerne får til gengæld den resolverede værdi, ligesom resten af programmet: agenten styrer Restorm i dit navn, med dine egne hemmeligheder. Garantierne ovenfor er uændrede — værdien skrives hverken ind i projektet eller i en eksport, og den sendes ikke til en uautoriseret tredjepartstjeneste.

  1. Føj restorm.env og *.responses.zip til din .gitignore.
  2. Brug envVar i CI frem for hemmelighedsfilen.
  3. Adgangskoden i en indbygget protokol (MQTT, AMQP, Redis, Kafka) accepterer også en værdi af typen Hemmelighed — skriv aldrig de adgangskoder i klartekst i anmodningen.