Lewati ke konten

Rahasia

Proyek Restorm dirancang untuk di-commit. Rahasia justru tidak boleh masuk ke dalamnya. Tipe nilai Rahasia menjawab kebutuhan itu: variabelnya menyimpan sebuah rujukan ke suatu sumber, bukan nilainya sendiri.

Pilih tipe Rahasia pada sebuah variabel, lalu tentukan sumbernya. File proyek kemudian hanya memuat pengenal sumbernya beserta parameternya. Nilainya diselesaikan di proses utama, pada saat eksekusi.

Dua variabel lingkungan bertipe Rahasia (petstore_auth_token, api_key): selnya memuat penanda $= beserta tombol segarkan, edit pengambilan, dan kunci — di samping sebuah variabel bertipe string

Sebuah rahasia tetap dapat dilihat dari dalam aplikasi: editor lingkungan, tampilan nilai hasil resolusi, konsol internal, dan cuplikan kode menampilkan nilainya. Itu rahasia Anda sendiri, Anda sudah mengetahuinya — tipe Rahasia tidak berupaya menyembunyikannya dari Anda.

Yang dijaminnya adalah bahwa nilai itu:

  • tidak pernah masuk ke file yang meninggalkan mesin Anda — nilai itu tidak ditulis ke dalam proyek .restorm, jadi tidak ikut ter-commit, tidak terdorong ke sebuah repositori, dan tidak terbawa dalam sebuah ekspor;
  • tidak dikirimkan ke layanan pihak ketiga yang tidak diizinkan — tujuan keluar melewati firewall.

Membaca sebuah variabel lingkungan sistem operasi. Hanya satu parameter: nama variabelnya.

Inilah sumber yang sebaiknya diutamakan dalam integrasi berkelanjutan: rahasianya disuntikkan oleh brankas CI Anda, dan Restorm hanya membacanya.

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

Membaca — dan menulis — sebuah file restorm.env yang diletakkan di samping proyek. Inilah mode lokal: filenya tetap di mesin Anda dan ditambahkan ke .gitignore.

Berbeda dengan sumber sebelumnya, sumber ini dapat ditulis: Anda dapat memasukkan nilainya dari Restorm, dan nilai itu disimpan di dalam file rahasia, bukan di dalam proyek.

Nilai hasil resolusi disimpan dalam cache. Setelah mengubah sebuah rahasia dari luar (rotasi token, perubahan file .env), gunakan Segarkan lingkungan untuk mengosongkan cache dan membaca ulang semua sumbernya.

Restorm menyensor rahasia dari apa yang ditulisnya ke disk:

Sebaliknya, alat MCP menerima nilai hasil resolusi, sama seperti bagian aplikasi lainnya: agen mengendalikan Restorm atas nama Anda, dengan rahasia Anda sendiri. Jaminan di atas tidak berubah — nilainya tidak ditulis ke dalam proyek maupun ke dalam sebuah ekspor, dan tidak dikirim ke layanan pihak ketiga yang tidak diizinkan.

  1. Tambahkan restorm.env dan *.responses.zip ke .gitignore Anda.
  2. Dalam CI, gunakan envVar alih-alih file rahasia.
  3. Kata sandi sebuah protokol bawaan (MQTT, AMQP, Redis, Kafka) juga menerima nilai bertipe Rahasia — jangan menuliskan kata sandi tersebut dalam bentuk terbaca di dalam permintaan.