Skip to content

Commit

Permalink
Merge pull request #897 from chrisayoub/metadata_conditional_client
Browse files Browse the repository at this point in the history
Only initialize the in-cluster kube client when metadata service is actually unavailable
  • Loading branch information
wongma7 authored May 21, 2021
2 parents 286b6df + c03bf40 commit 610675a
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions pkg/cloud/metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,18 @@ func (m *Metadata) GetOutpostArn() arn.ARN {
func NewMetadata() (MetadataService, error) {
sess := session.Must(session.NewSession(&aws.Config{}))
svc := ec2metadata.New(sess)
// creates the in-cluster config
config, err := rest.InClusterConfig()
if err != nil && !svc.Available() {
return nil, err
}
// creates the clientset
clientset, err := kubernetes.NewForConfig(config)
if err != nil && !svc.Available() {
return nil, err
var clientset *kubernetes.Clientset
if !svc.Available() {
// creates the in-cluster config
config, err := rest.InClusterConfig()
if err != nil {
return nil, err
}
// creates the clientset
clientset, err = kubernetes.NewForConfig(config)
if err != nil {
return nil, err
}
}
metadataService, err := NewMetadataService(svc, clientset)
if err != nil {
Expand Down

0 comments on commit 610675a

Please sign in to comment.