Skip to content

Commit

Permalink
Fix GKE detection
Browse files Browse the repository at this point in the history
Signed-off-by: Tamal Saha <[email protected]>
  • Loading branch information
tamalsaha committed Jun 18, 2024
1 parent 1afa487 commit 29f81b6
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions cluster/detector.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,14 @@ import (

kmapi "kmodules.xyz/client-go/api/v1"

"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest"
)

const (
aksDomain = ".azmk8s.io"
eksDomain = ".eks.amazonaws.com"
gkeDomain = ".gke.com"
exoscaleDomain = ".exo.io"
doDomain = ".k8s.ondigitalocean.com"
lkeDomain = ".linodelke.net"
Expand Down Expand Up @@ -78,7 +79,7 @@ func APIServerCertificate(cfg *rest.Config) (*x509.Certificate, error) {
return nil, fmt.Errorf("no cert found")
}

func DetectProvider(cfg *rest.Config) (kmapi.HostingProvider, error) {
func DetectProvider(cfg *rest.Config, mapper meta.RESTMapper) (kmapi.HostingProvider, error) {
crt, err := APIServerCertificate(cfg)
if err != nil {
return "", err
Expand All @@ -93,8 +94,6 @@ func DetectProvider(cfg *rest.Config) (kmapi.HostingProvider, error) {
return kmapi.HostingProviderDigitalOcean, nil
} else if strings.HasSuffix(host, exoscaleDomain) {
return kmapi.HostingProviderExoscale, nil
} else if strings.HasSuffix(host, gkeDomain) {
return kmapi.HostingProviderGoogleCloud, nil
} else if strings.HasSuffix(host, lkeDomain) {
return kmapi.HostingProviderLinode, nil
} else if strings.HasSuffix(host, scalewayDomain) {
Expand All @@ -103,5 +102,14 @@ func DetectProvider(cfg *rest.Config) (kmapi.HostingProvider, error) {
return kmapi.HostingProviderVultr, nil
}
}

// GKE does not use any custom domain
if _, err := mapper.RESTMappings(schema.GroupKind{
Group: "networking.gke.io",
Kind: "Network",
}); err == nil {
return kmapi.HostingProviderGoogleCloud, nil
}

return "", nil
}

0 comments on commit 29f81b6

Please sign in to comment.