in secretmgmt/secrets.go [96:130]
func resolveSecret(ctx context.Context, secret *Secret, errorChan chan error) {
if secret == nil {
errorChan <- errors.New("secret cannot be nil")
return
}
if secret.IsKeyVaultSecret() {
secretConfig, err := vaults.NewAKVSecretConfig(secret.KeyVault, secret.MsiClientID)
if err != nil {
errorChan <- err
return
}
secretValue, err := secretConfig.GetValue(ctx)
if err != nil {
errorChan <- err
return
}
secret.ResolvedValue = secretValue
secret.ResolvedChan <- true
return
} else if secret.IsMsiSecret() {
secretValue, err := tokenutil.GetRegistryRefreshToken(secret.ID, secret.AadResourceID, secret.MsiClientID)
if err != nil {
errorChan <- err
return
}
secret.ResolvedValue = secretValue
secret.ResolvedChan <- true
return
}
errorChan <- fmt.Errorf("cannot resolve secret with ID: %s", secret.ID)
}