Gå til innholdet

Hemmeligheter

Et Restorm-prosjekt er laget for å bli committet. Hemmeligheter skal derimot aldri havne i det. Verditypen Hemmelighet dekker dette behovet: variabelen lagrer en referanse til en kilde, aldri verdien selv.

Velg typen Hemmelighet på en variabel, og deretter kilden. Prosjektfilen inneholder da bare IDen til kilden og parameterne dens. Verdien løses opp i hovedprosessen, i det kjøringen skjer.

To miljøvariabler av typen Hemmelighet (petstore_auth_token, api_key): cellen bærer markøren $= og knappene for å oppdatere, redigere uthentingen og låse — ved siden av en variabel av typen streng

En hemmelighet er fortsatt synlig fra applikasjonen: miljøeditoren, visningene av den oppløste verdien, det interne konsollet og kodeeksemplene viser verdien. Det er din egen hemmelighet, og du kjenner den allerede — typen Hemmelighet prøver ikke å skjule den for deg.

Det den garanterer, er at verdien:

  • aldri havner i filer som forlater maskinen din — den skrives ikke inn i .restorm-prosjektet, og blir dermed verken committet, pushet til et depot eller tatt med i en eksport;
  • ikke sendes til en uautorisert tredjepartstjeneste — de utgående destinasjonene går gjennom brannmuren.

Leser en miljøvariabel fra operativsystemet. Én eneste parameter: navnet på variabelen.

Dette er kilden du bør foretrekke i kontinuerlig integrasjon: hemmeligheten injiseres av hvelvet i CI-en din, og Restorm gjør ikke annet enn å lese den.

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

Leser — og skriver — en restorm.env-fil som ligger ved siden av prosjektet. Dette er den lokale modusen: filen blir liggende på din egen maskin og legges inn i .gitignore.

I motsetning til kilden over er denne skrivbar: du kan skrive inn verdien fra Restorm, og den lagres i hemmelighetsfilen og ikke i prosjektet.

De oppløste verdiene bufres. Etter at du har endret en hemmelighet utenfor Restorm (rotasjon av et token, endring av .env-filen), bruker du Oppdater miljø for å tømme bufferen og lese alle kildene på nytt.

Restorm maskerer hemmeligheter i det den skriver til disk:

MCP-verktøyene får derimot den oppløste verdien, på lik linje med resten av applikasjonen: agenten styrer Restorm på dine vegne, med dine egne hemmeligheter. Garantiene over er uendret — verdien skrives verken inn i prosjektet eller i en eksport, og den går ikke til en uautorisert tredjepartstjeneste.

  1. Legg restorm.env og *.responses.zip til i .gitignore.
  2. I CI bør du bruke envVar framfor hemmelighetsfilen.
  3. Passordet i en nativ protokoll (MQTT, AMQP, Redis, Kafka) godtar også en verdi av typen Hemmelighet — ikke skriv disse passordene i klartekst i forespørselen.