Hey, We use Pulumi.Automation in our dotnet 6 proj...
# dotnet
Hey, We use Pulumi.Automation in our dotnet 6 project, it is hosted in kubernetes cluster in linux container. Here is how we install the azure-native plugin, and we can confirm we used the same version nuget package as well. But we are getting error message
/tmp/pulumi/plugins/resource-azure-native-v1.102.0/pulumi-resource-azure-native: plugin not found
. It worked before, the only change we made recently is we change to use a new azure storage account to store pulumi state, but before it we also use storage account we just change to use a different. Also after checking, I can see
actually exists but why still complaining.
Copy code
await stack.Workspace.InstallPluginAsync("azure", "v4.19.0");
await stack.Workspace.InstallPluginAsync("azure-native", "v1.102.0");
await stack.Workspace.InstallPluginAsync("azuread", "v5.36.0");
per chance is it alpine? Try updating azure-native to 1.103.0, that fixed some issues with glibc linking which were showing up as "plugin not found" because the binary couldn't be executed.
Thanks @echoing-dinner-19531, yes it is alpine, upgrading fixed the issue, but I got another error
message\": \"error: failed to load Azure credentials.\\nDetails: could not configure AzureCli Authorizer: could not parse Azure CLI version: launching Azure CLI: exec: \\\"az\\\": executable file not found in $PATH\\n\\n\\tPlease make sure you have signed in via 'az login' or configured another authentication method
. It happens on linux, but it works fine on my local windows machine
Can you please help? @echoing-dinner-19531
Sorry was off for most of yesterday. How are you setting the azure login information when running on Linux? You might need to have
installed, although I think we have fallbacks that don't use that as long as the right "ARM_" environment variables are set (ARM_CLIENT_ID, ARM_CLIENT_SECRET, ARM_TENANT_ID and ARM_SUBSCRIPTION_ID iirc)
Thank for your reply Fraser, this is the configuration, maybe I need to use ARM_ instead of the classic AZURE variable name?
Copy code
Environment.SetEnvironmentVariable("AZURE_STORAGE_ACCOUNT", xxx);
Environment.SetEnvironmentVariable("AZURE_STORAGE_KEY", xxx);
Environment.SetEnvironmentVariable("AZURE_CLIENT_ID", xxx);
Environment.SetEnvironmentVariable("AZURE_SUBSCRIPTION_ID", xxx);
Environment.SetEnvironmentVariable("AZURE_CLIENT_SECRET", xxx);
Environment.SetEnvironmentVariable("AZURE_TENANT_ID", xxx);
Environment.SetEnvironmentVariable("PULUMI_CONFIG_PASSPHRASE", xxx);
Possibly, might be worth raising an issue about this at https://github.com/pulumi/pulumi-azure-native. They should know better than me which envvars are needed and if the 'az' cli is strictly needed or not.
Sure. And I just verified that change to ARM_ fixed the problem without the need of installing az. A lot of thanks for you help❤️