in pkg/clients/clients.go [65:96]
func New(ctx context.Context, config *config.Config) (*Clients, error) {
clusterConfig, err := clientcmd.BuildConfigFromFlags(
flags.F.APIServerHost, flags.F.KubeConfigFilePath)
if err != nil {
return nil, fmt.Errorf("Could not fetch cluster config, err: %v", err)
}
kubernetesClient := kubernetes.NewForConfigOrDie(clusterConfig)
managedCertificateClient := versioned.NewForConfigOrDie(clusterConfig)
oauthClient := oauth2.NewClient(ctx, config.Compute.TokenSource)
oauthClient.Timeout = config.Compute.Timeout
ssl, err := ssl.New(oauthClient, config.Compute.ProjectID)
if err != nil {
return nil, err
}
event, err := event.New(kubernetesClient)
if err != nil {
return nil, err
}
return &Clients{
ConfigMap: configmap.New(clusterConfig),
Coordination: kubernetesClient.CoordinationV1(),
Core: kubernetesClient.CoreV1(),
Event: event,
Ingress: ingress.New(kubernetesClient),
ManagedCertificate: managedcertificate.New(managedCertificateClient),
Ssl: ssl,
}, nil
}