MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / request_app_keys_from_kms

Method request_app_keys_from_kms

dstack-util/src/system_setup.rs:900–925  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

898 }
899
900 async fn request_app_keys_from_kms(&self) -> Result<AppKeys> {
901 if self.shared.sys_config.kms_urls.is_empty() {
902 bail!("No KMS URLs are set");
903 }
904 let keys = 'out: {
905 let mut error = anyhow!("unknown error");
906 for (i, kms_url) in self.shared.sys_config.kms_urls.iter().enumerate() {
907 let kms_url = format!("{kms_url}/prpc");
908 let response = self.request_app_keys_from_kms_url(kms_url.clone()).await;
909 match response {
910 Ok(response) => {
911 break 'out response;
912 }
913 Err(err) => {
914 warn!("Failed to get app keys from KMS {kms_url}: {err:?}");
915 // Record the first error
916 if i == 0 {
917 error = err;
918 }
919 }
920 }
921 }
922 return Err(error).context("Failed to get app keys from KMS");
923 };
924 Ok(keys)
925 }
926
927 fn verify_key_provider_id(&self, provider_id: &[u8]) -> Result<()> {
928 let expected_key_provider_id = &self.shared.app_compose.key_provider_id;

Callers 1

request_app_keysMethod · 0.80

Calls 3

cloneMethod · 0.80
is_emptyMethod · 0.45

Tested by

no test coverage detected