@@ -17,6 +17,8 @@ import (
1717 "github.com/openshift/microshift/pkg/assets"
1818 "github.com/openshift/microshift/pkg/config"
1919 "github.com/openshift/microshift/pkg/util/cryptomaterial"
20+ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
21+ "k8s.io/apimachinery/pkg/runtime"
2022 "k8s.io/apimachinery/pkg/util/sets"
2123 "k8s.io/klog/v2"
2224)
@@ -154,6 +156,9 @@ func startIngressController(ctx context.Context, cfg *config.Config, kubeconfigP
154156 cmAccessLog = []string {
155157 "components/openshift-router/configmap-accesslog.yaml" ,
156158 }
159+ ingressClass = []string {
160+ "components/openshift-router/ingress-class.yaml" ,
161+ }
157162 cm = "components/openshift-router/configmap.yaml"
158163 servingKeypairSecret = "components/openshift-router/serving-certificate.yaml"
159164 )
@@ -167,6 +172,21 @@ func startIngressController(ctx context.Context, cfg *config.Config, kubeconfigP
167172 klog .Warningf ("Failed to delete cluster roles %v: %v" , clusterRole , err )
168173 return err
169174 }
175+ // Delete ingress class (cluster-scoped resource)
176+ if err := assets .DeleteGeneric (ctx , []runtime.Object {
177+ & unstructured.Unstructured {
178+ Object : map [string ]interface {}{
179+ "apiVersion" : "networking.k8s.io/v1" ,
180+ "kind" : "IngressClass" ,
181+ "metadata" : map [string ]interface {}{
182+ "name" : "openshift-ingress" ,
183+ },
184+ },
185+ },
186+ }, kubeconfigPath ); err != nil {
187+ klog .Warningf ("Failed to delete ingress class: %v" , err )
188+ return err
189+ }
170190 if err := assets .DeleteNamespaces (ctx , ns , kubeconfigPath ); err != nil {
171191 klog .Warningf ("Failed to delete namespaces %v: %v" , ns , err )
172192 return err
@@ -178,6 +198,10 @@ func startIngressController(ctx context.Context, cfg *config.Config, kubeconfigP
178198 klog .Warningf ("Failed to apply namespaces %v: %v" , ns , err )
179199 return err
180200 }
201+ if err := assets .ApplyGeneric (ctx , ingressClass , nil , nil , nil , kubeconfigPath ); err != nil {
202+ klog .Warningf ("Failed to apply ingress class %v: %v" , ingressClass , err )
203+ return err
204+ }
181205 if err := assets .ApplyClusterRoles (ctx , clusterRole , kubeconfigPath ); err != nil {
182206 klog .Warningf ("Failed to apply clusterRole %v: %v" , clusterRole , err )
183207 return err
0 commit comments