Explorar o código

Enhancement: support silmultaneous traefik .containio.us and .io ingress routes for k8s (#1875)

Atropos hai 1 ano
pai
achega
82d2f08e8b
Modificáronse 1 ficheiros con 18 adicións e 11 borrados
  1. 18 11
      src/utils/config/service-helpers.js

+ 18 - 11
src/utils/config/service-helpers.js

@@ -158,21 +158,28 @@ export async function servicesFromKubernetes() {
         return null;
       });
 
-    const traefikIngressList = await crd.listClusterCustomObject("traefik.io", "v1alpha1", "ingressroutes")
+    const traefikIngressListContaino = await crd.listClusterCustomObject("traefik.containo.us", "v1alpha1", "ingressroutes")
       .then((response) => response.body)
       .catch(async (error) => {
-        logger.error("Error getting traefik ingresses from traefik.io: %d %s %s", error.statusCode, error.body, error.response);
-
-        // Fallback to the old traefik CRD group
-        const fallbackIngressList = await crd.listClusterCustomObject("traefik.containo.us", "v1alpha1", "ingressroutes")
-          .then((response) => response.body)
-          .catch((fallbackError) => {
-            logger.error("Error getting traefik ingresses from traefik.containo.us: %d %s %s", fallbackError.statusCode, fallbackError.body, fallbackError.response);
-            return null;
-          });
+        if (error.statusCode !== 404) {
+          logger.error("Error getting traefik ingresses from traefik.containo.us: %d %s %s", error.statusCode, error.body, error.response);
+        }
+
+        return [];
+      });
 
-        return fallbackIngressList;
+    const traefikIngressListIo = await crd.listClusterCustomObject("traefik.io", "v1alpha1", "ingressroutes")
+      .then((response) => response.body)
+      .catch(async (error) => {
+        if (error.statusCode !== 404) {
+          logger.error("Error getting traefik ingresses from traefik.io: %d %s %s", error.statusCode, error.body, error.response);
+        }        
+        
+        return [];
       });
+    
+    
+    const traefikIngressList = [...traefikIngressListContaino, ...traefikIngressListIo];
 
     if (traefikIngressList && traefikIngressList.items.length > 0) {
       const traefikServices = traefikIngressList.items