Skip to content

Commit d89d6c7

Browse files
committed
add hotfix
1 parent eae43b4 commit d89d6c7

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

pkg/controller/nginx/nginx.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package nginx
22

33
import (
4+
"context"
5+
46
"github.com/Azure/aks-app-routing-operator/pkg/config"
57
"github.com/Azure/aks-app-routing-operator/pkg/controller/ingress"
68
"github.com/Azure/aks-app-routing-operator/pkg/controller/service"
79
"github.com/Azure/aks-app-routing-operator/pkg/manifests"
810
appsv1 "k8s.io/api/apps/v1"
11+
k8serrors "k8s.io/apimachinery/pkg/api/errors"
12+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
13+
"k8s.io/client-go/kubernetes"
914
"sigs.k8s.io/controller-runtime/pkg/client"
1015
"sigs.k8s.io/controller-runtime/pkg/manager"
1116
)
@@ -19,12 +24,30 @@ type nginx struct {
1924
defaultIngConfig *manifests.NginxIngressConfig
2025
}
2126

27+
const (
28+
defaultIcName = "webapprouting.kubernetes.azure.com"
29+
)
30+
2231
// New starts all resources required for provisioning Nginx ingresses and the configs used for those ingresses
2332
func New(m manager.Manager, conf *config.Config, self *appsv1.Deployment) ([]*manifests.NginxIngressConfig, error) {
33+
kcs, err := kubernetes.NewForConfig(m.GetConfig()) // need to use config since manager hasn't started yet
34+
if err != nil {
35+
return nil, err
36+
}
37+
38+
defaultControllerClass := "webapprouting.kubernetes.azure.com/nginx"
39+
defaultIc, err := kcs.NetworkingV1().IngressClasses().Get(context.Background(), defaultIcName, metav1.GetOptions{})
40+
if err == nil {
41+
defaultControllerClass = defaultIc.Spec.Controller
42+
}
43+
if err != nil && !k8serrors.IsNotFound(err) {
44+
return nil, err
45+
}
46+
2447
defaultIngConfig := &manifests.NginxIngressConfig{
25-
ControllerClass: "webapprouting.kubernetes.azure.com/nginx",
48+
ControllerClass: defaultControllerClass,
2649
ResourceName: "nginx",
27-
IcName: "webapprouting.kubernetes.azure.com",
50+
IcName: defaultIcName,
2851
}
2952

3053
// TODO: re-add for dynamic provisioning, until then serviceConfig is nil

0 commit comments

Comments
 (0)