Langsung ke konten utama

Secrets

Kazzle memiliki vault terenkripsi bawaan untuk menyimpan kunci API, kredensial database, token, dan nilai sensitif lainnya yang dibutuhkan aplikasi Anda. Secrets dienkripsi saat istirahat dengan AES-256-GCM menggunakan kunci enkripsi data yang dibungkus KMS — nilai plaintext tidak pernah menyentuh database.

Konsep

Collections mengelompokkan secrets terkait bersama (misalnya stripe-keys, database-credentials). Setiap collection memiliki slug (huruf kecil, dengan tanda hubung) yang Anda referensikan dalam file konfigurasi dan perintah CLI. Environments adalah cakupan opsional dalam collection (misalnya production, staging). Secrets dapat dibatasi ke environment tertentu atau dibiarkan di level collection sebagai default. Urutan resolusi: saat menyelesaikan secrets untuk collection + environment tertentu, secrets khusus environment menimpa secrets level collection dengan nama yang sama. Ini memungkinkan Anda berbagi sebagian besar secrets di seluruh environment sambil menimpa nilai tertentu per-environment.

Mengelola secrets

Di aplikasi

Buka Settings > Vault untuk membuat collections, environments, dan secrets melalui UI.

Dengan AI

AI dapat membuat collections, membuat environments, menyimpan secrets, memindahkannya antar cakupan, dan menghapusnya untuk Anda. AI melihat nama dan metadata secret tetapi bukan nilai terenkripsi.

Dengan CLI

Mereferensikan secrets dari aplikasi Anda

Arahkan env komponen ke collection dan environment secret dalam kazzle.config.ts. Setiap secret dalam cakupan tersebut disuntikkan sebagai variabel env proses yang namanya cocok dengan nama secret:
env.collection dan env.environment adalah slugs, bukan nama tampilan. Gunakan env.include untuk menyuntikkan hanya subset secrets collection:

Bagaimana secrets menjadi env vars

Saat secrets diselesaikan untuk komponen:
  1. Collection ditemukan berdasarkan slug dalam space Anda
  2. Secrets yang dibatasi ke environment yang ditentukan dimuat
  3. Secrets level collection (tanpa environment) disertakan sebagai default
  4. Secrets khusus environment menimpa secrets level collection dengan nama yang sama
  5. Referensi secret di dalam nilai diselesaikan
  6. Nama secret dikonversi ke format env var: huruf besar, karakter non-alfanumerik menjadi garis bawah
Secret bernama Stripe Secret Key menjadi STRIPE_SECRET_KEY. Setiap secret memiliki body mode yang menentukan cara penyuntikannya:
  • Secrets string (kunci API, token, URI) disuntikkan sebagai string skalar biasa
  • Secrets json (konfigurasi terstruktur) disuntikkan sebagai string JSON
  • Secrets fields (kredensial login, tas field yang diketik) disuntikkan sebagai string JSON

Saat secrets disuntikkan

Referensi template

Nilai secret dapat mereferensikan field secret lain dengan sintaks yang sama yang digunakan Kazzle di tempat lain:
Format yang didukung:
  • ${secret.<uuid>.<field>} — field tertentu atau jalur JSON di dalam nilai secret atau parameter tool tempat referensi vault diaktifkan.
  • ${secret.<uuid>} — seluruh body secret. Gunakan hanya saat tool secara eksplisit meminta seluruh secret mentah; jangan gunakan ini dalam env/config aplikasi.
Referensi diselesaikan setelah secrets dimuat. Referensi melingkar atau rusak gagal daripada diam-diam kembali.