INNER CODE UNIT · Go

mustValidateIngressClass

nginx/kubernetes-ingress · cmd/nginx-ingress/main.go:468

func mustValidateIngressClass(ctx context.Context, kubeClient kubernetes.Interface) {
	l := nl.LoggerFromContext(ctx)
	ingressClassRes, err := kubeClient.NetworkingV1().IngressClasses().Get(context.TODO(), *ingressClass, meta_v1.GetOptions{})
	if err != nil {
		nl.Fatalf(l, "Error when getting IngressClass %v: %v", *ingressClass, err)
	}

	if ingressClassRes.Spec.Controller != k8s.IngressControllerName {
		nl.Fatalf(l, "IngressClass with name %v has an invalid Spec.Controller %v; expected %v", ingressClassRes.Name, ingressClassRes.Spec.Controller, k8s.IngressControllerName)
	}
}

func checkNamespaces(ctx context.Context, kubeClient kubernetes.Interface) {
	l := nl.LoggerFromContext(ctx)
	if *watchNamespaceLabel != "" {
		// bootstrap the watched namespace list
		var newWatchNamespaces []string
		nsList, err := kubeClient.CoreV1().Namespaces().List(context.TODO(), meta_v1.ListOptions{LabelSelector: *watchNamespaceLabel})

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…