Skip to content

Commit 271c595

Browse files
akesserAndré Kesser
authored and
André Kesser
committed
feat: add flag --cluster-type to disable auto discovery
1 parent 8268e67 commit 271c595

File tree

1 file changed

+38
-6
lines changed

1 file changed

+38
-6
lines changed

main.go

+38-6
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ func main() {
9494
var printImages string
9595
var printCalicoCRDs string
9696
var printEnterpriseCRDs string
97+
var userDefinedProviderInput string
98+
9799
var sgSetup bool
98100
var manageCRDs bool
99101
var preDelete bool
@@ -117,6 +119,8 @@ func main() {
117119
"Operator should manage the projectcalico.org and operator.tigera.io CRDs.")
118120
flag.BoolVar(&preDelete, "pre-delete", false,
119121
"Run helm pre-deletion hook logic, then exit.")
122+
flag.StringVar(&userDefinedProviderInput, "cluster-type", "",
123+
"Use the given cluster type instead of using auto discovery. Valid values are EKS, GKE, AKS, RKE2, OpenShift, DockerEnterprise")
120124

121125
opts := zap.Options{}
122126
opts.BindFlags(flag.CommandLine)
@@ -169,6 +173,28 @@ func main() {
169173
}
170174
}
171175

176+
userDefinedProvider := v1.ProviderNone
177+
if userDefinedProviderInput != "" {
178+
switch strings.ToLower(userDefinedProviderInput) {
179+
case "eks":
180+
userDefinedProvider = v1.ProviderEKS
181+
case "gke":
182+
userDefinedProvider = v1.ProviderGKE
183+
case "aks":
184+
userDefinedProvider = v1.ProviderAKS
185+
case "rke2":
186+
userDefinedProvider = v1.ProviderRKE2
187+
case "openshift":
188+
userDefinedProvider = v1.ProviderOpenShift
189+
case "dockerenterprise":
190+
userDefinedProvider = v1.ProviderDockerEE
191+
default:
192+
fmt.Println("Invalid option for --cluster-type flag ", userDefinedProviderInput, ". Valid values are EKS, GKE, AKS, RKE2, OpenShift, DockerEnterprise")
193+
os.Exit(1)
194+
}
195+
196+
}
197+
172198
printVersion()
173199

174200
ctx, cancel := context.WithCancel(context.Background())
@@ -342,13 +368,19 @@ func main() {
342368
os.Exit(1)
343369
}
344370

345-
// Attempt to auto discover the provider
346-
provider, err := utils.AutoDiscoverProvider(ctx, clientset)
347-
if err != nil {
348-
setupLog.Error(err, "Auto discovery of Provider failed")
349-
os.Exit(1)
371+
var provider v1.Provider
372+
if userDefinedProvider == v1.ProviderNone {
373+
// Attempt to auto discover the provider
374+
provider, err = utils.AutoDiscoverProvider(ctx, clientset)
375+
if err != nil {
376+
setupLog.Error(err, "Auto discovery of Provider failed")
377+
os.Exit(1)
378+
}
379+
setupLog.WithValues("provider", provider).Info("Checking type of cluster")
380+
} else {
381+
provider = userDefinedProvider
382+
setupLog.WithValues("provider", provider).Info("Using user defined cluster type")
350383
}
351-
setupLog.WithValues("provider", provider).Info("Checking type of cluster")
352384

353385
// Determine if we're running in single or multi-tenant mode.
354386
multiTenant, err := utils.MultiTenant(ctx, clientset)

0 commit comments

Comments
 (0)