feat: v0.7.0 — secrets partagés par provider : am providers set-token/token, namespace keyring providers/<nom>, résolution @secret en cascade agent → provider (closes #89)
Corrige au passage deux bugs du keyring (#36) : features natifs manquants du crate keyring (set() no-op silencieux, rien ne persistait) + index __index__ jamais purgé au remove (list fantômes).
This commit is contained in:
+25
-5
@@ -672,6 +672,20 @@ pub enum ProvidersCmd {
|
||||
/// Provider name
|
||||
name: String,
|
||||
},
|
||||
/// Store the provider API token in the OS keyring (shared by every
|
||||
/// agent of this provider through the @secret cascade, issue #89)
|
||||
SetToken {
|
||||
/// Provider name
|
||||
name: String,
|
||||
/// Token value (never logged)
|
||||
#[arg(long, value_name = "VALUE")]
|
||||
value: String,
|
||||
},
|
||||
/// Check whether a provider token exists (the value is never shown)
|
||||
Token {
|
||||
/// Provider name
|
||||
name: String,
|
||||
},
|
||||
/// Set the default provider
|
||||
Default {
|
||||
/// Provider name
|
||||
@@ -741,13 +755,16 @@ pub enum ScheduleCmd {
|
||||
}
|
||||
#[derive(Subcommand, Debug, Clone)]
|
||||
pub enum SecretCmd {
|
||||
/// Store a secret for an agent
|
||||
/// Store a secret for an agent (or a provider, issue #89)
|
||||
Set {
|
||||
/// Secret name (the environment variable name)
|
||||
name: String,
|
||||
/// Agent it belongs to
|
||||
/// Agent it belongs to (required unless --provider is given)
|
||||
#[arg(long, value_name = "AGENT")]
|
||||
agent: String,
|
||||
agent: Option<String>,
|
||||
/// Provider it belongs to (shared by every agent of this provider)
|
||||
#[arg(long, value_name = "PROVIDER")]
|
||||
provider: Option<String>,
|
||||
/// Secret value (prefer --value over shell history; never logged)
|
||||
#[arg(long, value_name = "VALUE")]
|
||||
value: String,
|
||||
@@ -756,9 +773,12 @@ pub enum SecretCmd {
|
||||
Unset {
|
||||
/// Secret name
|
||||
name: String,
|
||||
/// Agent it belongs to
|
||||
/// Agent it belongs to (required unless --provider is given)
|
||||
#[arg(long, value_name = "AGENT")]
|
||||
agent: String,
|
||||
agent: Option<String>,
|
||||
/// Provider it belongs to
|
||||
#[arg(long, value_name = "PROVIDER")]
|
||||
provider: Option<String>,
|
||||
},
|
||||
/// List stored secret names (values are never shown)
|
||||
List,
|
||||
|
||||
Reference in New Issue
Block a user