in pkg/service/platform/platform.go [48:79]
func NewPlatformService(platformType string, scheme *runtime.Scheme, k8sClient client.Client) (PlatformService, error) {
config := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
clientcmd.NewDefaultClientConfigLoadingRules(),
&clientcmd.ConfigOverrides{},
)
restConfig, err := config.ClientConfig()
if err != nil {
return nil, fmt.Errorf("failed to get rest configs for platform: %w", err)
}
switch strings.ToLower(platformType) {
case OpenShiftPlatformType:
platform := openshift.OpenshiftService{}
if err := platform.Init(restConfig, scheme, k8sClient); err != nil {
return nil, fmt.Errorf("failed to init Openshift platform: %w", err)
}
return &platform, nil
case K8SPlatformType:
platform := kubernetes.K8SService{}
if err := platform.Init(restConfig, scheme, k8sClient); err != nil {
return nil, fmt.Errorf(" failed to init Kubernetes platform: %w", err)
}
return &platform, nil
default:
return nil, errors.New("received unknown platform type")
}
}