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})