Rahasia
Kazzle memiliki vault terenkripsi bawaan untuk menyimpan kunci API, kredensial database, token, dan nilai sensitif lainnya yang dibutuhkan aplikasi Anda. Rahasia dienkripsi saat istirahat dengan AES-256-GCM menggunakan kunci enkripsi data yang dibungkus KMS — nilai plaintext tidak pernah menyentuh database.Konsep
Koleksi mengelompokkan rahasia terkait bersama (misalnyastripe-keys, database-credentials). Setiap koleksi memiliki slug (huruf kecil, dengan tanda hubung) yang Anda referensikan dalam file konfigurasi dan perintah CLI.
Lingkungan adalah cakupan opsional dalam koleksi (misalnya production, staging). Rahasia dapat dibatasi ke lingkungan tertentu atau dibiarkan di tingkat koleksi sebagai default.
Urutan resolusi: saat menyelesaikan rahasia untuk koleksi + lingkungan tertentu, rahasia khusus lingkungan menimpa rahasia tingkat koleksi dengan nama yang sama. Ini memungkinkan Anda berbagi sebagian besar rahasia di seluruh lingkungan sambil menimpa nilai tertentu per lingkungan.
Mengelola rahasia
Di aplikasi
Buka Settings > Vault untuk membuat koleksi, lingkungan, dan rahasia melalui UI.Dengan AI
AI dapat membuat koleksi, membuat lingkungan, menyimpan rahasia, memindahkannya antar cakupan, dan menghapusnya untuk Anda. AI melihat nama dan metadata rahasia tetapi bukan nilai terenkripsi.Dengan CLI
Mereferensikan rahasia dari aplikasi Anda
Arahkanenv komponen ke koleksi rahasia dan lingkungan di kazzle.config.ts. Setiap rahasia dalam cakupan itu disuntikkan sebagai variabel env proses yang namanya cocok dengan nama rahasia:
env.collection dan env.environment adalah slug, bukan nama tampilan. Gunakan env.include untuk menyuntikkan hanya sebagian dari rahasia koleksi:
Bagaimana rahasia menjadi variabel env
Saat rahasia diselesaikan untuk komponen:- Koleksi ditemukan berdasarkan slug dalam space Anda
- Rahasia yang dibatasi ke lingkungan yang ditentukan dimuat
- Rahasia tingkat koleksi (tanpa lingkungan) disertakan sebagai default
- Rahasia khusus lingkungan menimpa yang tingkat koleksi dengan nama yang sama
- Referensi rahasia di dalam nilai diselesaikan
- Nama rahasia dikonversi ke format variabel env: huruf besar, karakter non-alfanumerik menjadi garis bawah
Stripe Secret Key menjadi STRIPE_SECRET_KEY.
Setiap rahasia memiliki mode body yang menentukan cara penyuntikannya:
- Rahasia
string(kunci API, token, URI) disuntikkan sebagai string skalar biasa - Rahasia
json(konfigurasi terstruktur) disuntikkan sebagai string JSON - Rahasia
fields(kredensial login, tas bidang yang diketik) disuntikkan sebagai string JSON
Saat rahasia disuntikkan
| Konteks | Disuntikkan? | Detail |
|---|---|---|
| Deploy (komponen proses) | Ya | Ditambahkan sebagai variabel lingkungan runtime dalam produksi |
| Deploy (komponen UI) | Sebagian | Hanya rahasia dengan awalan VITE_* yang dilewatkan saat build |
CLI (kazzle run) | Ya | Disuntikkan ke lingkungan perintah |
CLI (secrets.export) | Ya | Diekspor sebagai baris KEY=value |
| Pratinjau dev | Belum | Starter pratinjau belum menyelesaikan env komponen — gunakan kazzle run untuk saat ini |
Referensi template
Nilai rahasia dapat mereferensikan bidang rahasia lain dengan sintaks yang sama yang digunakan Kazzle di tempat lain:${secret.<uuid>.<field>}— bidang tertentu atau jalur JSON. Gunakan format ini untuk env/config aplikasi.${secret.<uuid>}— seluruh badan rahasia. Gunakan hanya saat alat secara eksplisit meminta seluruh rahasia mentah; jangan gunakan ini dalam env/config aplikasi.