openclaw secrets apply. Якщо ціль не відповідає цим правилам, застосування завершується помилкою до зміни будь-якого файлу.
Структура файлу плану
openclaw secrets apply --from <plan.json> очікує масив targets із цілями плану:
openclaw secrets configure генерує плани в такій структурі. Ви також можете написати або відредагувати план вручну.
Додавання, оновлення та видалення провайдерів
Плани також можуть містити два необов’язкові поля верхнього рівня, які змінюють мапуsecrets.providers разом із записами для окремих цілей:
providerUpserts— об’єкт, ключами якого є псевдоніми провайдерів. Кожне значення є визначенням провайдера (тієї самої структури, яка приймається вsecrets.providers.<alias>уopenclaw.json, наприклад провайдерexecабоfile).providerDeletes— масив псевдонімів провайдерів, які потрібно видалити.
providerUpserts виконується перед targets, тому target.ref.provider може посилатися на псевдонім провайдера, який цей самий план додає в providerUpserts. Без такого порядку плани, що посилаються на ще не налаштований у openclaw.json псевдонім, завершуються помилкою provider "<alias>" is not configured.
providerUpserts, усе одно поширюються правила згоди на виконання з розділу Поведінка згоди для провайдера виконання: плани, що містять провайдери виконання, у режимі запису потребують --allow-exec.
Підтримувана область цілей
Цілі плану приймаються для підтримуваних шляхів облікових даних, наведених у розділі Область облікових даних SecretRef.Поведінка типів цілей
target.type має бути розпізнаним типом цілі, а нормалізований target.path має відповідати зареєстрованій для цього типу структурі шляху.
Деякі типи цілей для сумісності з наявними планами приймають у target.type псевдонім на додачу до канонічної назви типу:
Правила перевірки шляхів
Кожна ціль перевіряється за всіма наведеними нижче правилами:typeмає бути розпізнаним типом цілі.pathмає бути непорожнім шляхом із компонентами, розділеними крапками.pathSegmentsможна не вказувати. Якщо його вказано, результат нормалізації має точно збігатися зpath.- Заборонені компоненти відхиляються:
__proto__,prototype,constructor. - Нормалізований шлях має відповідати зареєстрованій структурі шляху для типу цілі.
- Якщо задано
providerIdабоaccountId, значення має збігатися з ідентифікатором, закодованим у шляху. - Цілі
auth-profiles.jsonпотребуютьagentId. - Під час створення нового зіставлення
auth-profiles.jsonукажітьauthProfileProvider.
Поведінка в разі помилки
Якщо ціль не проходить перевірку, застосування завершується з помилкою на кшталт:Поведінка згоди для провайдера виконання
--dry-runтипово пропускає перевірки SecretRef типуexec.- Плани, що містять SecretRef або провайдери типу
exec, відхиляються в режимі запису, якщо не задано--allow-exec. - Під час перевірки або застосування планів, що містять
exec, передавайте--allow-execяк у команді пробного запуску, так і в команді запису.
Примітки щодо області виконання та аудиту
- Записи
auth-profiles.json, що містять лише посилання (keyRef/tokenRef), включено до визначення облікових даних під час виконання та охоплення аудитом. secrets applyзаписує підтримувані ціліopenclaw.json, підтримувані ціліauth-profiles.jsonі виконує три необов’язкові проходи очищення, кожен із яких типово ввімкнений:scrubEnv(видаляє перенесені відкриті значення з.env),scrubAuthProfilesForProviderTargets(очищає залишки відкритих значень і невикористаних посилань уauth-profiles.jsonдля провайдерів, які щойно переніс план) таscrubLegacyAuthJson(видаляє перенесені записиapi_keyіз застарілих сховищauth.json). Щоб пропустити відповідний прохід, установіть у плані будь-який із параметрівoptions.scrubEnv,options.scrubAuthProfilesForProviderTargetsабоoptions.scrubLegacyAuthJsonу значенняfalse.
Перевірки оператора
openclaw secrets configure або виправте шлях цілі відповідно до підтримуваної вище структури.