openclaw secrets apply wordt afgedwongen. Als een doel niet aan deze regels voldoet, mislukt het toepassen voordat een bestand wordt gewijzigd.
Vereisten voor het planbestand
openclaw secrets apply --from <plan.json> accepteert reguliere bestanden tot 16 MiB (16,777,216 bytes). De limiet geldt voor het volledige geserialiseerde bestand, inclusief witruimte. Mappen, FIFO’s, apparaatbestanden en bestanden die groter zijn dan de limiet worden geweigerd voordat JSON-parsing of doelvalidatie plaatsvindt.
openclaw secrets configure --plan-out <plan.json> dwingt dezelfde limiet af voor de als UTF-8 geserialiseerde uitvoer voordat het bestand wordt aangemaakt. Handmatig geschreven plannen en externe plangeneratoren moeten het geserialiseerde bestand eveneens binnen deze grens houden.
Structuur van het planbestand
openclaw secrets apply --from <plan.json> verwacht een targets-array met plandoelen:
openclaw secrets configure genereert plannen met deze structuur. Je kunt er ook zelf een schrijven of bewerken.
Providers invoegen, bijwerken en verwijderen
Plannen kunnen ook twee optionele velden op het hoogste niveau bevatten die naast de schrijfbewerkingen per doel desecrets.providers-toewijzing wijzigen:
providerUpserts— een object met provideraliassen als sleutels. Elke waarde is een providerdefinitie (dezelfde structuur die ondersecrets.providers.<alias>inopenclaw.jsonwordt geaccepteerd, bijvoorbeeld eenexec- offile-provider).providerDeletes— een array met te verwijderen provideraliassen.
providerUpserts wordt vóór targets uitgevoerd, zodat een target.ref.provider kan verwijzen naar een provideralias die hetzelfde plan in providerUpserts introduceert. Zonder deze volgorde mislukken plannen die verwijzen naar een alias die nog niet in openclaw.json is geconfigureerd met provider "<alias>" is not configured.
providerUpserts worden geïntroduceerd, vallen nog steeds onder de regels voor exec-toestemming in Toestemmingsgedrag voor exec-providers: plannen met exec-providers vereisen --allow-exec in schrijfmodus.
Ondersteund doelbereik
Plandoelen worden geaccepteerd voor ondersteunde referentiepaden in SecretRef-referentieoppervlak.Gedrag van doeltypen
target.type moet een herkend doeltype zijn en het genormaliseerde target.path moet overeenkomen met de geregistreerde padstructuur van dat type.
Sommige doeltypen accepteren naast hun canonieke typenaam ook een compatibiliteitsalias als target.type voor bestaande plannen:
Regels voor padvalidatie
Elk doel wordt aan de hand van al het volgende gevalideerd:typemoet een herkend doeltype zijn.pathmoet een niet-leeg, door punten gescheiden pad zijn.pathSegmentsmag worden weggelaten. Als het is opgegeven, moet het exact naar hetzelfde pad alspathworden genormaliseerd.- Verboden segmenten worden geweigerd:
__proto__,prototype,constructor. - Het genormaliseerde pad moet overeenkomen met de geregistreerde padstructuur voor het doeltype.
- Als
providerIdofaccountIdis ingesteld, moet dit overeenkomen met de in het pad gecodeerde id. auth-profiles.json-doelen vereisenagentId.- Neem
authProfileProviderop wanneer je een nieuweauth-profiles.json-toewijzing maakt.
Gedrag bij fouten
Als de validatie van een doel mislukt, wordt het toepassen beëindigd met een fout zoals:Toestemmingsgedrag voor exec-providers
--dry-runslaat controles van exec-SecretRefs standaard over.- Plannen met exec-SecretRefs/providers worden in schrijfmodus geweigerd, tenzij
--allow-execis ingesteld. - Geef bij het valideren/toepassen van plannen met exec
--allow-execdoor in zowel de droogloop- als de schrijfopdracht.
Opmerkingen over runtime- en auditbereik
- Alleen-uit-referenties-bestaande
auth-profiles.json-vermeldingen (keyRef/tokenRef) worden meegenomen in de runtime-resolutie van referenties en de auditdekking. secrets applyschrijft ondersteundeopenclaw.json-doelen, ondersteundeauth-profiles.json-doelen en drie optionele opschoningsrondes, die elk standaard zijn ingeschakeld:scrubEnv(verwijdert gemigreerde waarden in platte tekst uit.env-bestanden in de effectieve status- en actieve-configuratiemappen),scrubAuthProfilesForProviderTargets(wist restanten van platte tekst/ongebruikte referenties inauth-profiles.jsonvoor providers die zojuist door een plan zijn gemigreerd) enscrubLegacyAuthJson(verwijdert gemigreerdeapi_key-vermeldingen uit verouderdeauth.json-opslagplaatsen). Stel een vanoptions.scrubEnv,options.scrubAuthProfilesForProviderTargets,options.scrubLegacyAuthJsonin het plan in opfalseom die ronde over te slaan.
Controles voor beheerders
openclaw secrets configure of corrigeer het doelpad naar een hierboven ondersteunde structuur.