build: upgraded to the most recent Azure SDK version

This commit is contained in:
2026-02-01 16:44:28 -07:00
parent cff4420ee0
commit 628a13011e
3 changed files with 574 additions and 486 deletions
Generated
+562 -469
View File
File diff suppressed because it is too large Load Diff
+4 -3
View File
@@ -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"
+8 -14
View File
@@ -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",