Skip to content

Commit b321565

Browse files
committed
PEM-7501: Changed to load all json files instead of a single file for Azure Environments
1 parent 034b0da commit b321565

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

azure/scope/azure_secret_cloud.go

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,37 @@ package scope
33
import (
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

1113
const (
12-
AzureEnvironentFileEnvName = "AZURE_ENVIRONMENT_FILE"
13-
AzureSecretCloudName = "AzureSecretCloud"
14+
AzureEnvironentFolderEnvName = "AZURE_ENVIRONMENT_FOLDER"
1415
)
1516

1617
func 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

Comments
 (0)