@@ -3,26 +3,37 @@ package scope
33import (
44 "context"
55 "os"
6+ "path/filepath"
7+ "strings"
68
79 "github.com/Azure/go-autorest/autorest/azure"
810 "sigs.k8s.io/cluster-api-provider-azure/util/tele"
911)
1012
1113const (
12- AzureEnvironentFileEnvName = "AZURE_ENVIRONMENT_FILE"
13- AzureSecretCloudName = "AzureSecretCloud"
14+ AzureEnvironentFolderEnvName = "AZURE_ENVIRONMENT_FOLDER"
1415)
1516
1617func init () {
1718 _ , log , done := tele .StartSpanWithLogger (context .Background (), "scope.AzureScope.init" )
1819 defer done ()
19- path := os .Getenv (AzureEnvironentFileEnvName )
20+ path := os .Getenv (AzureEnvironentFolderEnvName )
2021 if path == "" {
2122 return
2223 }
23- if env , err := azure .EnvironmentFromFile (path ); err == nil {
24- azure .SetEnvironment (AzureSecretCloudName , env )
25- } else {
26- log .Error (err , "reason" , "failed to load Azure environment from file" , "path" , path )
24+ files , err := os .ReadDir (path )
25+ if err != nil {
26+ log .Error (err , "reason" , "error reading folder" , "path" , path )
27+ return
28+ }
29+
30+ for _ , file := range files {
31+ if ! file .IsDir () && strings .EqualFold (filepath .Ext (file .Name ()), ".json" ) {
32+ if env , err := azure .EnvironmentFromFile (file .Name ()); err == nil {
33+ azure .SetEnvironment (env .Name , env )
34+ } else {
35+ log .Error (err , "reason" , "failed to load Azure environment from file" , "filename" , file .Name ())
36+ }
37+ }
2738 }
2839}
0 commit comments