Aller au contenu

Tajne

Restorm projekat je napravljen da bude commitovan. Tajne, međutim, nikada ne smeju da uđu u njega. Tip vrednosti Tajna odgovara na tu potrebu: promenljiva pamti referencu ka izvoru, nikada samu vrednost.

Izaberite tip Tajna na promenljivoj, pa izvor. Datoteka projekta tada sadrži samo identifikator izvora i njegove parametre. Vrednost se razrešava u glavnom procesu, u trenutku izvršavanja.

Dve promenljive okruženja tipa Tajna (petstore_auth_token, api_key): ćelija nosi marker $= i dugmad za osvežavanje, uređivanje preuzimanja i zaključavanje — pored promenljive tipa niska

Tajna ostaje vidljiva iz same aplikacije: uređivač okruženja, prikazi razrešene vrednosti, interna konzola i isečci koda prikazuju njenu vrednost. To je vaša tajna, vi je već znate — tip Tajna ne pokušava da vam je sakrije.

Ono što on garantuje jeste da vrednost:

  • nikada ne ulazi u datoteke koje napuštaju vašu mašinu — ne upisuje se u projekat .restorm, pa tako niti završi u commitu, niti bude gurnuta na repozitorijum, niti poneta u nekom izvozu;
  • ne prosleđuje se neovlašćenom servisu treće strane — odlazna odredišta prolaze kroz zaštitni zid.

Čita promenljivu okruženja operativnog sistema. Samo jedan parametar: naziv promenljive.

To je izvor koji treba favorizovati u kontinuiranoj integraciji: tajnu ubacuje trezor vašeg CI-ja, a Restorm je samo čita.

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

Čita — i piše — datoteku restorm.env smeštenu pored projekta. To je lokalni režim: datoteka ostaje na vašoj mašini i dodaje se u .gitignore.

Za razliku od prethodnog izvora, ovaj je upisiv: možete uneti vrednost iz Restorma, ona se čuva u datoteci tajni, a ne u projektu.

Razrešene vrednosti se keširaju. Nakon što promenite tajnu spolja (rotacija tokena, izmena .env datoteke), upotrebite Osveži okruženje da ispraznite keš i ponovo pročitate sve izvore.

Restorm čisti tajne iz onoga što zapisuje na disk:

MCP alati, nasuprot tome, dobijaju razrešenu vrednost, isto kao i ostatak aplikacije: agent upravlja Restormom u vaše ime, nad vašim sopstvenim tajnama. Gorenavedena jemstva ostaju nepromenjena — vrednost se ne zapisuje ni u projekat, ni u izvoz, i ne odlazi ka neovlašćenoj usluzi treće strane.

  1. Dodajte restorm.env i *.responses.zip u svoj .gitignore.
  2. U CI-ju koristite envVar radije nego datoteku tajni.
  3. Lozinka nativnog protokola (MQTT, AMQP, Redis, Kafka) takođe prihvata vrednost tipa Tajna — nemojte te lozinke pisati u čitljivom obliku u zahtevu.