pkg/config/azure_config.go (29 lines of code) (raw):

package config import ( "fmt" "os" "gopkg.in/yaml.v3" "monis.app/mlog" ) // AzureConfig is representing /etc/kubernetes/azure.json. type AzureConfig struct { Cloud string `json:"cloud" yaml:"cloud"` TenantID string `json:"tenantId" yaml:"tenantId"` ClientID string `json:"aadClientId" yaml:"aadClientId"` ClientSecret string `json:"aadClientSecret" yaml:"aadClientSecret"` UseManagedIdentityExtension bool `json:"useManagedIdentityExtension,omitempty" yaml:"useManagedIdentityExtension,omitempty"` UserAssignedIdentityID string `json:"userAssignedIdentityID,omitempty" yaml:"userAssignedIdentityID,omitempty"` AADClientCertPath string `json:"aadClientCertPath" yaml:"aadClientCertPath"` AADClientCertPassword string `json:"aadClientCertPassword" yaml:"aadClientCertPassword"` } // GetAzureConfig returns configs in the azure.json cloud provider file. func GetAzureConfig(configFile string) (config *AzureConfig, err error) { cfg := AzureConfig{} mlog.Trace("populating AzureConfig from config file", "configFile", configFile) bytes, err := os.ReadFile(configFile) if err != nil { return nil, fmt.Errorf("failed to load config file %s, error: %+v", configFile, err) } if err = yaml.Unmarshal(bytes, &cfg); err != nil { return nil, fmt.Errorf("failed to unmarshal azure.json, error: %+v", err) } return &cfg, nil }