build: upgraded to the most recent Azure SDK version
This commit is contained in:
Generated
+562
-469
File diff suppressed because it is too large
Load Diff
+4
-3
@@ -32,7 +32,7 @@ clap = { version = "4.5.47", features = [
|
|||||||
"wrap_help",
|
"wrap_help",
|
||||||
] }
|
] }
|
||||||
clap_complete = { version = "4.5.57", features = ["unstable-dynamic"] }
|
clap_complete = { version = "4.5.57", features = ["unstable-dynamic"] }
|
||||||
confy = { version = "1.0.0", default-features = false, features = [
|
confy = { version = "2.0.0", default-features = false, features = [
|
||||||
"yaml_conf",
|
"yaml_conf",
|
||||||
] }
|
] }
|
||||||
crossterm = "0.29.0"
|
crossterm = "0.29.0"
|
||||||
@@ -62,8 +62,9 @@ gcloud-sdk = { version = "0.28.1", features = [
|
|||||||
"google-cloud-secretmanager-v1",
|
"google-cloud-secretmanager-v1",
|
||||||
] }
|
] }
|
||||||
crc32c = "0.6.8"
|
crc32c = "0.6.8"
|
||||||
azure_identity = "0.27.0"
|
azure_core = "0.31.0"
|
||||||
azure_security_keyvault_secrets = "0.6.0"
|
azure_identity = "0.31.0"
|
||||||
|
azure_security_keyvault_secrets = "0.10.0"
|
||||||
aws-lc-sys = { version = "0.37.0", features = ["bindgen"] }
|
aws-lc-sys = { version = "0.37.0", features = ["bindgen"] }
|
||||||
which = "8.0.0"
|
which = "8.0.0"
|
||||||
once_cell = "1.21.3"
|
once_cell = "1.21.3"
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
use crate::providers::SecretProvider;
|
use crate::providers::SecretProvider;
|
||||||
use anyhow::{Context, Result};
|
use anyhow::{Context, Result};
|
||||||
use azure_identity::DefaultAzureCredential;
|
use azure_core::credentials::TokenCredential;
|
||||||
|
use azure_identity::DeveloperToolsCredential;
|
||||||
use azure_security_keyvault_secrets::models::SetSecretParameters;
|
use azure_security_keyvault_secrets::models::SetSecretParameters;
|
||||||
use azure_security_keyvault_secrets::{ResourceExt, SecretClient};
|
use azure_security_keyvault_secrets::{ResourceExt, SecretClient};
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_with::skip_serializing_none;
|
use serde_with::skip_serializing_none;
|
||||||
|
use std::sync::Arc;
|
||||||
use validator::Validate;
|
use validator::Validate;
|
||||||
|
|
||||||
#[skip_serializing_none]
|
#[skip_serializing_none]
|
||||||
@@ -40,12 +42,8 @@ impl SecretProvider for AzureKeyVaultProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn get_secret(&self, key: &str) -> Result<String> {
|
async fn get_secret(&self, key: &str) -> Result<String> {
|
||||||
let body = self
|
let response = self.get_client()?.get_secret(key, None).await?;
|
||||||
.get_client()?
|
let body = response.into_model()?;
|
||||||
.get_secret(key, "", None)
|
|
||||||
.await?
|
|
||||||
.into_body()
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
body.value
|
body.value
|
||||||
.with_context(|| format!("Secret '{}' not found", key))
|
.with_context(|| format!("Secret '{}' not found", key))
|
||||||
@@ -60,8 +58,7 @@ impl SecretProvider for AzureKeyVaultProvider {
|
|||||||
self.get_client()?
|
self.get_client()?
|
||||||
.set_secret(key, params.try_into()?, None)
|
.set_secret(key, params.try_into()?, None)
|
||||||
.await?
|
.await?
|
||||||
.into_body()
|
.into_model()?;
|
||||||
.await?;
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@@ -77,10 +74,7 @@ impl SecretProvider for AzureKeyVaultProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn list_secrets(&self) -> Result<Vec<String>> {
|
async fn list_secrets(&self) -> Result<Vec<String>> {
|
||||||
let mut pager = self
|
let mut pager = self.get_client()?.list_secret_properties(None)?;
|
||||||
.get_client()?
|
|
||||||
.list_secret_properties(None)?
|
|
||||||
.into_stream();
|
|
||||||
let mut secrets = Vec::new();
|
let mut secrets = Vec::new();
|
||||||
while let Some(props) = pager.try_next().await? {
|
while let Some(props) = pager.try_next().await? {
|
||||||
let name = props.resource_id()?.name;
|
let name = props.resource_id()?.name;
|
||||||
@@ -93,7 +87,7 @@ impl SecretProvider for AzureKeyVaultProvider {
|
|||||||
|
|
||||||
impl AzureKeyVaultProvider {
|
impl AzureKeyVaultProvider {
|
||||||
fn get_client(&self) -> Result<SecretClient> {
|
fn get_client(&self) -> Result<SecretClient> {
|
||||||
let credential = DefaultAzureCredential::new()?;
|
let credential: Arc<dyn TokenCredential> = DeveloperToolsCredential::new(None)?;
|
||||||
let client = SecretClient::new(
|
let client = SecretClient::new(
|
||||||
format!(
|
format!(
|
||||||
"https://{}.vault.azure.net",
|
"https://{}.vault.azure.net",
|
||||||
|
|||||||
Reference in New Issue
Block a user