Hoppa till innehåll

Hemligheter

Ett Restorm-projekt är gjort för att läggas i en commit. Hemligheterna ska däremot aldrig hamna där. Värdetypen Hemlighet svarar på det behovet: variabeln sparar en referens till en källa, aldrig värdet självt.

Välj typen Hemlighet på en variabel, och sedan källan. Projektfilen innehåller då bara källans identifierare och dess parametrar. Värdet löses upp i huvudprocessen, i körningsögonblicket.

Två miljövariabler av typen Hemlighet (petstore_auth_token, api_key): cellen bär markören $= och knapparna för att uppdatera, redigera hämtningen och låsa — vid sidan av en variabel av strängtyp

En hemlighet går fortfarande att se inifrån applikationen: miljöeditorn, vyerna med upplöst värde, den interna konsolen och kodavsnitten visar dess värde. Det är din egen hemlighet, du känner redan till den — typen Hemlighet försöker inte dölja den för dig.

Vad den däremot garanterar är att värdet:

  • aldrig hamnar i de filer som lämnar din maskin — det skrivs inte i .restorm-projektet, och läggs alltså varken i en commit, pushas till ett repository eller följer med i en export;
  • inte skickas till en obehörig tredjepartstjänst — de utgående destinationerna går via brandväggen.

Läser en miljövariabel i operativsystemet. En enda parameter: variabelns namn.

Det är den källa du bör välja i kontinuerlig integration: hemligheten injiceras av din CI:s valv, Restorm bara läser den.

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

Läser — och skriver — en fil restorm.env som ligger vid sidan av projektet. Det är det lokala läget: filen stannar på din maskin och läggs till i .gitignore.

Till skillnad från källan ovan är den här skrivbar: du kan mata in värdet från Restorm, och det sparas i hemlighetsfilen och inte i projektet.

De upplösta värdena cachas. När du har ändrat en hemlighet utanför Restorm (rotation av en token, ändring i .env-filen) använder du Uppdatera miljön för att tömma cachen och läsa om alla källor.

Restorm rensar bort hemligheter ur det som skrivs till disk:

MCP-verktygen får däremot det upplösta värdet, precis som resten av applikationen: agenten styr Restorm i ditt namn, med dina egna hemligheter. Garantierna ovan är oförändrade — värdet skrivs varken in i projektet eller i en export, och går inte till en otillåten tredjepartstjänst.

  1. Lägg till restorm.env och *.responses.zip i din .gitignore.
  2. Använd envVar i CI snarare än hemlighetsfilen.
  3. Lösenordet för ett nativt protokoll (MQTT, AMQP, Redis, Kafka) accepterar också ett värde av typen Hemlighet — skriv aldrig dessa lösenord i klartext i begäran.