Geheimen
Kazzle heeft een ingebouwde versleutelde kluis voor het opslaan van API-sleutels, databaseinloggegevens, tokens en andere gevoelige waarden die uw app nodig heeft. Geheimen zijn versleuteld in rust met AES-256-GCM met KMS-verpakte gegevensversleutelingssleutels — onversleutelde waarden raken nooit de database.Concepten
Collecties groeperen gerelateerde geheimen (bijv.stripe-keys, database-credentials). Elke collectie heeft een slug (kleine letters, met koppeltekens) die u in configuratiebestanden en CLI-opdrachten gebruikt.
Omgevingen zijn optionele bereiken binnen een collectie (bijv. production, staging). Geheimen kunnen aan een specifieke omgeving worden gekoppeld of op collectieniveau als standaardwaarden blijven staan.
Resolutievolgorde: bij het oplossen van geheimen voor een bepaalde collectie + omgeving overschrijven omgevingsspecifieke geheimen geheimen op collectieniveau met dezelfde naam. Dit stelt u in staat om de meeste geheimen in omgevingen te delen terwijl u specifieke waarden per omgeving overschrijft.
Geheimen beheren
In de app
Open Instellingen > Kluis om collecties, omgevingen en geheimen via de UI te maken.Met de AI
De AI kan collecties maken, omgevingen maken, geheimen opslaan, deze tussen bereiken verplaatsen en ze voor u verwijderen. De AI ziet geheimennamen en metagegevens, maar niet de versleutelde waarden.Met de CLI
Geheimen uit uw app refereren
Wijs deenv van een component naar een geheimencollectie en omgeving in kazzle.config.ts. Elk geheim in dat bereik wordt geïnjecteerd als een procesomgevingsvariabele waarvan de naam overeenkomt met de geheimennaam:
env.collection en env.environment zijn slugs, geen weergavenamen. Gebruik env.include om alleen een subset van de geheimen van de collectie in te voegen:
Hoe geheimen omgevingsvariabelen worden
Wanneer geheimen voor een component worden opgelost:- De collectie wordt op slug in uw ruimte gevonden
- Geheimen die aan de opgegeven omgeving zijn gekoppeld, worden geladen
- Geheimen op collectieniveau (geen omgeving) worden als standaardwaarden opgenomen
- Omgevingsspecifieke geheimen overschrijven geheimen op collectieniveau met dezelfde naam
- Geheimverwijzingen in waarden worden opgelost
- Geheimennamen worden omgezet naar omgevingsvariabelindeling: hoofdletters, niet-alfanumerieke tekens worden onderstrepen
Stripe Secret Key wordt STRIPE_SECRET_KEY.
Elk geheim heeft een body-modus die bepaalt hoe het wordt geïnjecteerd:
stringgeheimen (API-sleutels, tokens, URI’s) worden geïnjecteerd als gewone scalaire tekenreeksenjsongeheimen (gestructureerde configuratie) worden geïnjecteerd als JSON-tekenreeksenfieldsgeheimen (inloggegevens, getypeerde veldenverzamelingen) worden geïnjecteerd als JSON-tekenreeksen
Wanneer geheimen worden geïnjecteerd
| Context | Geïnjecteerd? | Details |
|---|---|---|
| Deploy (procescomponent) | Ja | Toegevoegd als runtimeomgevingsvariabelen in productie |
| Deploy (UI-component) | Gedeeltelijk | Alleen geheimen met VITE_* voorvoegsel worden tijdens het bouwen doorgegeven |
CLI (kazzle run) | Ja | Geïnjecteerd in de omgeving van de opdracht |
CLI (secrets.export) | Ja | Geëxporteerd als KEY=value-regels |
| Dev-preview | Nog niet | De preview-starter lost component env nog niet op — gebruik kazzle run voor nu |
Sjabloonverwijzingen
Geheimwaarden kunnen verwijzen naar andere geheimenvelden met dezelfde syntaxis die Kazzle elders gebruikt:${secret.<uuid>.<field>}— specifiek veld of JSON-pad. Gebruik deze indeling voor app-omgeving/configuratie.${secret.<uuid>}— hele geheimlichaam. Gebruik alleen wanneer een tool expliciet om het volledige onbewerkte geheim vraagt; gebruik dit niet in app-omgeving/configuratie.