# clusters

name: _nas_camera
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_nas_camera",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "camera",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "127.0.0.1",
                          "portValue": 9900
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 9900
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _3d_printer_camera
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_3d_printer_camera",
          "type": "STRICT_DNS",
          "connectTimeout": "2s",
          "loadAssignment": {
            "clusterName": "camera",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "octoprint",
                          "portValue": 8080
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8080
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _ai_ui_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_ai_ui_server",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_ai_ui_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 8003
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8003
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _plex_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_plex_server",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "nas",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 32400
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 32400
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _k8s_apiserver
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_k8s_apiserver",
          "type": "STRICT_DNS",
          "connectTimeout": "1s",
          "loadAssignment": {
            "clusterName": "apiserver",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.139",
                          "portValue": 16443
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 16443
                      }
                    }
                  }
                ]
              }
            ]
          },
          "transportSocket": {
            "name": "envoy.transport_sockets.tls",
            "typedConfig": {
              "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext",
              "commonTlsContext": {
                "validationContext": {
                  "trustedCa": {
                    "filename": "/etc/certs/upstream/kubernetes/root.crt"
                  }
                }
              }
            }
          }
        }


name: _monitor_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_monitor_server",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_monitor_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 9090
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 9090
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _git_bucket
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_git_bucket",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "git_bucket",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "172.17.0.1",
                          "portValue": 8088
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8088
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _k8s_router
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_k8s_router",
          "type": "STRICT_DNS",
          "connectTimeout": "1s",
          "loadAssignment": {
            "clusterName": "nginx",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.139",
                          "portValue": 32704
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 32704
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _ai_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_ai_server",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_ai_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 3000
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 3000
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _nas_photo
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_nas_photo",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "nas",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "127.0.0.1",
                          "portValue": 5080
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 5080
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _docker_registry
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_docker_registry",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "docker_registry",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "172.17.0.1",
                          "portValue": 5555
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 5555
                      }
                    }
                  }
                ]
              }
            ]
          },
          "transportSocket": {
            "name": "envoy.transport_sockets.tls",
            "typedConfig": {
              "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext",
              "commonTlsContext": {
                "tlsCertificates": [
                  {
                    "certificateChain": {
                      "filename": "/etc/certs/downstream/docker.jerxie.com/fullchain.pem"
                    },
                    "privateKey": {
                      "filename": "/etc/certs/downstream/docker.jerxie.com/privkey.pem"
                    }
                  }
                ]
              }
            }
          }
        }


name: _code_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_code_server",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "code_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 8080
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8080
                      }
                    }
                  }
                ]
              }
            ]
          },
          "transportSocket": {
            "name": "envoy.transport_sockets.tls",
            "typedConfig": {
              "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext",
              "commonTlsContext": {
                "validationContext": {
                  "trustedCa": {
                    "filename": "/etc/certs/upstream/vscode/root.crt"
                  }
                }
              }
            }
          }
        }


name: _nas_audio
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_nas_audio",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "nas",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "127.0.0.1",
                          "portValue": 8800
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8800
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _nas_service
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_nas_service",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "nas",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "172.17.0.1",
                          "portValue": 5000
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 5000
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _3d_printer_console
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_3d_printer_console",
          "type": "STRICT_DNS",
          "connectTimeout": "2s",
          "loadAssignment": {
            "clusterName": "printer",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "octoprint",
                          "portValue": 5000
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 5000
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _homeassistant_service
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_homeassistant_service",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "homeassistant_manager",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.133",
                          "portValue": 8123
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8123
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _portainer_ui
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_portainer_ui",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "portainer_ui",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.161",
                          "portValue": 9000
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 9000
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _ai_api_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_ai_api_server",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_ai_api_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 8002
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8002
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _grafana_ui
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_grafana_ui",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_grafana_ui",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.106",
                          "portValue": 3000
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 3000
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _pcb_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_pcb_server",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_pcb_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 8088
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8088
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _nas_video
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_nas_video",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "nas",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "127.0.0.1",
                          "portValue": 9007
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 9007
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _bitwarden_service
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_bitwarden_service",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "pwassword_manager",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "172.17.0.1",
                          "portValue": 10010
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 10010
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _nas_note
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_nas_note",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "nas",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "127.0.0.1",
                          "portValue": 9350
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 9350
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _auth_server
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_auth_server",
          "type": "STRICT_DNS",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "_auth_server",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "192.168.68.113",
                          "portValue": 5557
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 5556
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


name: _acme_renewer
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "_acme_renewer",
          "type": "STATIC",
          "connectTimeout": "0.200s",
          "loadAssignment": {
            "clusterName": "acme_renewer",
            "endpoints": [
              {
                "lbEndpoints": [
                  {
                    "endpoint": {
                      "address": {
                        "socketAddress": {
                          "address": "172.17.0.1",
                          "portValue": 8888
                        }
                      },
                      "healthCheckConfig": {
                        "portValue": 8888
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


# listeners

name: http_listener
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "http_listener",
          "address": {
            "socketAddress": {
              "address": "0.0.0.0",
              "portValue": 10000
            }
          },
          "filterChains": [
            {
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "name": "ingress_generic_insecure",
                      "virtualHosts": [
                        {
                          "name": "http_to_https",
                          "domains": [
                            "*"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/.well-known/acme-challenge"
                              },
                              "route": {
                                "cluster": "_acme_renewer"
                              }
                            },
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "redirect": {
                                "httpsRedirect": true
                              }
                            }
                          ]
                        },
                        {
                          "name": "video_insecure",
                          "domains": [
                            "video.jerxie.com",
                            "video.local:10000"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/.well-known/acme-challenge"
                              },
                              "route": {
                                "cluster": "_acme_renewer"
                              }
                            },
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_video"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }


name: https_listener
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "https_listener",
          "address": {
            "socketAddress": {
              "address": "0.0.0.0",
              "portValue": 10001
            }
          },
          "filterChains": [
            {
              "filterChainMatch": {
                "serverNames": [
                  "home.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "home_service",
                          "domains": [
                            "home.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_homeassistant_service"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.lua",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua",
                          "inlineCode": "require \"/etc/envoy/filter\"\n"
                        }
                      },
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "streamIdleTimeout": "300s",
                    "requestTimeout": "300s",
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ],
                    "normalizePath": true,
                    "mergeSlashes": true
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/home.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/home.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "docker.jerxie.com",
                  "docker.local"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "docker_service",
                          "domains": [
                            "docker.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_docker_registry",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/docker.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/docker.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "nas.jerxie.com",
                  "nas"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "docker_service",
                          "domains": [
                            "nas.jerxie.com",
                            "nas:10001"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_service",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/nas.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/nas.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "video.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "docker_service",
                          "domains": [
                            "video.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_video",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/video.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/video.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "plex.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "plex_server",
                          "domains": [
                            "plex.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_plex_server",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/plex.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/plex.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "kubernetes.jerxie.com",
                  "kubernetes.local"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "kubernetes_service",
                          "domains": [
                            "kubernetes.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "path": "/apiserver"
                              },
                              "route": {
                                "cluster": "_k8s_apiserver",
                                "prefixRewrite": "/"
                              }
                            },
                            {
                              "match": {
                                "prefix": "/apiserver/"
                              },
                              "route": {
                                "cluster": "_k8s_apiserver",
                                "prefixRewrite": "/"
                              }
                            },
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_k8s_router"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "normalizePath": true,
                    "mergeSlashes": true
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/kubernetes.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/kubernetes.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "kubernetes.dashboard.jerxie.com",
                  "kubernetes.dashboard.local"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "kubernetes_dashboard_service",
                          "domains": [
                            "kubernetes.dashboard.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_k8s_router"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.oauth2",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.oauth2.v3.OAuth2",
                          "config": {
                            "tokenEndpoint": {
                              "uri": "auth.jerxie.com/token",
                              "cluster": "_auth_server",
                              "timeout": "3s"
                            },
                            "authorizationEndpoint": "https://auth.jerxie.com/auth",
                            "credentials": {
                              "clientId": "kubernetes-dashboard",
                              "tokenSecret": {
                                "name": "token",
                                "sdsConfig": {
                                  "path": "/etc/envoy/token-secret.yaml"
                                }
                              },
                              "hmacSecret": {
                                "name": "hmac",
                                "sdsConfig": {
                                  "path": "/etc/envoy/hmac-secret.yaml"
                                }
                              }
                            },
                            "redirectUri": "%REQ(x-forwarded-proto)%://%REQ(:authority)%/callback",
                            "redirectPathMatcher": {
                              "path": {
                                "exact": "/callback"
                              }
                            },
                            "signoutPath": {
                              "path": {
                                "exact": "/signout"
                              }
                            },
                            "forwardBearerToken": true,
                            "authScopes": [
                              "openid",
                              "email"
                            ]
                          }
                        }
                      },
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "normalizePath": true,
                    "mergeSlashes": true
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/kubernetes.dashboard.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/kubernetes.dashboard.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "blog.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "kubernetes_blog_service",
                          "domains": [
                            "blog.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_k8s_router"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/blog.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/blog.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "argocd.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "kubernetes_blog_service",
                          "domains": [
                            "argocd.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_k8s_router"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/argocd.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/argocd.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "meet.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "meet_service",
                          "domains": [
                            "meet.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_k8s_router"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "streamIdleTimeout": "0s",
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ],
                    "normalizePath": true,
                    "mergeSlashes": true
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/meet.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/meet.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "audio.jerxie.com",
                  "audio.local"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "docker_service",
                          "domains": [
                            "audio.jerxie.com",
                            "audio.local"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_audio"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/audio.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/audio.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "code.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "code_service",
                          "domains": [
                            "code.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_code_server"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.oauth2",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.oauth2.v3.OAuth2",
                          "config": {
                            "tokenEndpoint": {
                              "uri": "auth.jerxie.com/token",
                              "cluster": "_auth_server",
                              "timeout": "3s"
                            },
                            "authorizationEndpoint": "https://auth.jerxie.com/auth",
                            "credentials": {
                              "clientId": "code-server",
                              "tokenSecret": {
                                "name": "token",
                                "sdsConfig": {
                                  "path": "/etc/envoy/token-secret.yaml"
                                }
                              },
                              "hmacSecret": {
                                "name": "hmac",
                                "sdsConfig": {
                                  "path": "/etc/envoy/hmac-secret.yaml"
                                }
                              }
                            },
                            "redirectUri": "%REQ(x-forwarded-proto)%://%REQ(:authority)%/callback",
                            "redirectPathMatcher": {
                              "path": {
                                "exact": "/callback"
                              }
                            },
                            "signoutPath": {
                              "path": {
                                "exact": "/signout"
                              }
                            },
                            "forwardBearerToken": true,
                            "authScopes": [
                              "openid",
                              "email"
                            ]
                          }
                        }
                      },
                      {
                        "name": "envoy.filters.http.jwt_authn",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication",
                          "providers": {
                            "provider1": {
                              "remoteJwks": {
                                "httpUri": {
                                  "uri": "https://auth.jerxie.com/keys",
                                  "cluster": "_auth_server",
                                  "timeout": "5s"
                                },
                                "cacheDuration": "600s"
                              },
                              "fromHeaders": [
                                {
                                  "name": "Authorization",
                                  "valuePrefix": "Bearer "
                                }
                              ],
                              "fromCookies": [
                                "BearerToken"
                              ],
                              "payloadInMetadata": "jwt_payload"
                            }
                          },
                          "rules": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "requires": {
                                "providerName": "provider1"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "name": "envoy.filters.http.lua",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua",
                          "inlineCode": "email = \"\"\nfunction envoy_on_request(request_handle)\n  email = \"\"\n  local meta = request_handle:streamInfo():dynamicMetadata()\n  for key, value in pairs(meta:get(\"envoy.filters.http.jwt_authn\")) do\n    if key == \"jwt_payload\" then\n      for k, v in pairs(value) do\n        if k == \"email\" then\n          request_handle:logInfo(\"login codeserver: \" ..v)\n          email = v\n        end\n      end\n    end\n  end\nend\n\nfunction envoy_on_response(response_handle)\n  if email ~=\"\" and email ~= \"axieyangb@gmail.com\" then\n    response_handle:logInfo(\"Got unauthorized user, return 403 for user \" ..email)\n    response_handle:headers():add(\"set-cookie\", \"BearerToken=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n    response_handle:headers():add(\"set-cookie\", \"OauthHMAC=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n    response_handle:headers():add(\"set-cookie\", \"IdToken=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n    response_handle:headers():add(\"set-cookie\", \"OauthExpires=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n  end\n  email = \"\"\nend\n"
                        }
                      },
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/code.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/code.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "photo.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "photo_service",
                          "domains": [
                            "photo.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_photo",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/photo.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/photo.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "password.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "password_service",
                          "domains": [
                            "password.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_bitwarden_service"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/password.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/password.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "gitbucket.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "gitbucket_service",
                          "domains": [
                            "gitbucket.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_git_bucket"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/gitbucket.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/gitbucket.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "printer.jerxie.com",
                  "printer.local"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "printer_service",
                          "domains": [
                            "printer.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/webcam"
                              },
                              "route": {
                                "cluster": "_3d_printer_camera",
                                "prefixRewrite": "/",
                                "maxStreamDuration": {
                                  "grpcTimeoutHeaderMax": "0s"
                                }
                              }
                            },
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_3d_printer_console"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.oauth2",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.oauth2.v3.OAuth2",
                          "config": {
                            "tokenEndpoint": {
                              "uri": "auth.jerxie.com/token",
                              "cluster": "_auth_server",
                              "timeout": "3s"
                            },
                            "authorizationEndpoint": "https://auth.jerxie.com/auth",
                            "credentials": {
                              "clientId": "octoprint-portal",
                              "tokenSecret": {
                                "name": "token",
                                "sdsConfig": {
                                  "path": "/etc/envoy/token-secret.yaml"
                                }
                              },
                              "hmacSecret": {
                                "name": "hmac",
                                "sdsConfig": {
                                  "path": "/etc/envoy/hmac-secret.yaml"
                                }
                              }
                            },
                            "redirectUri": "%REQ(x-forwarded-proto)%://%REQ(:authority)%/callback",
                            "redirectPathMatcher": {
                              "path": {
                                "exact": "/callback"
                              }
                            },
                            "signoutPath": {
                              "path": {
                                "exact": "/signout"
                              }
                            },
                            "forwardBearerToken": true,
                            "authScopes": [
                              "openid",
                              "email"
                            ]
                          }
                        }
                      },
                      {
                        "name": "envoy.filters.http.jwt_authn",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication",
                          "providers": {
                            "provider1": {
                              "remoteJwks": {
                                "httpUri": {
                                  "uri": "https://auth.jerxie.com/keys",
                                  "cluster": "_auth_server",
                                  "timeout": "5s"
                                },
                                "cacheDuration": "600s"
                              },
                              "fromHeaders": [
                                {
                                  "name": "Authorization",
                                  "valuePrefix": "Bearer "
                                }
                              ],
                              "payloadInMetadata": "jwt_payload"
                            }
                          },
                          "rules": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "requires": {
                                "providerName": "provider1"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "name": "envoy.filters.http.lua",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua",
                          "inlineCode": "email = \"\"\nfunction envoy_on_request(request_handle)\n  email = \"\"\n  local meta = request_handle:streamInfo():dynamicMetadata()\n  for key, value in pairs(meta:get(\"envoy.filters.http.jwt_authn\")) do\n    if key == \"jwt_payload\" then\n      for k, v in pairs(value) do\n        if k == \"email\" then\n          print(\"login octoprint: \"..v)\n          email = v\n          request_handle:headers():add(\"ENVOY_AUTHENTICATED_USER\", v)\n        end\n      end\n    end\n  end\nend\n\nfunction envoy_on_response(response_handle)\n  if email ~=\"\" and email ~= \"axieyangb@gmail.com\" then\n    response_handle:logInfo(\"Got unauthorized user, return 403 for user \" ..email)\n    response_handle:headers():add(\"set-cookie\", \"BearerToken=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n    response_handle:headers():add(\"set-cookie\", \"OauthHMAC=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n    response_handle:headers():add(\"set-cookie\", \"IdToken=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n    response_handle:headers():add(\"set-cookie\", \"OauthExpires=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT\")\n  end\n  email = \"\"\nend\n"
                        }
                      },
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "streamIdleTimeout": "0s",
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ],
                    "normalizePath": true,
                    "mergeSlashes": true
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/printer.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/printer.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "camera.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "camera_service",
                          "domains": [
                            "camera.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_camera"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/camera.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/camera.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "note.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "note_service",
                          "domains": [
                            "note.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_nas_note"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/note.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/note.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "container.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "container_service",
                          "domains": [
                            "container.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_portainer_ui"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/container.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/container.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "grafana.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "grafana_service",
                          "domains": [
                            "grafana.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_grafana_ui"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/grafana.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/grafana.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "auth.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "auth_service",
                          "domains": [
                            "auth.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_auth_server"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/auth.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/auth.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "ai.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "ai_service",
                          "domains": [
                            "ai.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/api"
                              },
                              "route": {
                                "cluster": "_ai_api_server",
                                "timeout": "0s"
                              }
                            },
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_ai_ui_server",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/ai.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/ai.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "filterChainMatch": {
                "serverNames": [
                  "monitor.jerxie.com"
                ]
              },
              "filters": [
                {
                  "name": "envoy.filters.network.http_connection_manager",
                  "typedConfig": {
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
                    "statPrefix": "ingress_http",
                    "routeConfig": {
                      "virtualHosts": [
                        {
                          "name": "monitor_service",
                          "domains": [
                            "monitor.jerxie.com"
                          ],
                          "routes": [
                            {
                              "match": {
                                "prefix": "/"
                              },
                              "route": {
                                "cluster": "_monitor_server",
                                "timeout": "0s"
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "httpFilters": [
                      {
                        "name": "envoy.filters.http.router",
                        "typedConfig": {
                          "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
                        }
                      }
                    ],
                    "upgradeConfigs": [
                      {
                        "upgradeType": "websocket"
                      }
                    ]
                  }
                }
              ],
              "transportSocket": {
                "name": "envoy.transport_sockets.tls",
                "typedConfig": {
                  "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext",
                  "commonTlsContext": {
                    "tlsCertificates": [
                      {
                        "certificateChain": {
                          "filename": "/etc/certs/downstream/monitor.jerxie.com/fullchain.pem"
                        },
                        "privateKey": {
                          "filename": "/etc/certs/downstream/monitor.jerxie.com/privkey.pem"
                        }
                      }
                    ]
                  }
                }
              }
            }
          ],
          "listenerFilters": [
            {
              "name": "envoy.filters.listener.tls_inspector",
              "typedConfig": {
                "@type": "type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector"
              }
            }
          ]
        }


# secrets

name: pcb_jerxie_com
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "pcb_jerxie_com",
          "tlsCertificate": {
            "certificateChain": {
              "inlineString": "-----BEGIN CERTIFICATE-----\nMIIDwDCCA0egAwIBAgISLNz/g+v9Zk/YjGiBRI0VT7O7MAoGCCqGSM49BAMDMFox\nCzAJBgNVBAYTAlVTMSAwHgYDVQQKExcoU1RBR0lORykgTGV0J3MgRW5jcnlwdDEp\nMCcGA1UEAxMgKFNUQUdJTkcpIE15c3RlcmlvdXMgTXVsYmVycnkgRTgwHhcNMjUx\nMDE5MDMzMTI1WhcNMjYwMTE3MDMzMTI0WjAZMRcwFQYDVQQDEw5wY2IuamVyeGll\nLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABI69Oo98ajlmKkPWP5utfy/l\nNzK/IIpVV4IJp9hODOXESNPBMOPCWfUtLMsUPY4Ak7OdFPGaHRh4D1wW4C/qDJyj\nggIsMIICKDAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG\nAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFBzRag8P9TyI/30pd5lh1eKj\nJtBHMB8GA1UdIwQYMBaAFMlBk0JI0YwXBpHy8jnSoB+nu9s5MDYGCCsGAQUFBwEB\nBCowKDAmBggrBgEFBQcwAoYaaHR0cDovL3N0Zy1lOC5pLmxlbmNyLm9yZy8wGQYD\nVR0RBBIwEIIOcGNiLmplcnhpZS5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwMQYD\nVR0fBCowKDAmoCSgIoYgaHR0cDovL3N0Zy1lOC5jLmxlbmNyLm9yZy82MC5jcmww\nggEMBgorBgEEAdZ5AgQCBIH9BIH6APgAdgAW6GnB0ZXq18P4lxrj8HYB94zhtp0x\nqFIYtoN/MagVCAAAAZn6uy9tAAAEAwBHMEUCIFrjG6wabgqDTLhPGMRko/G3LCRq\noeEQcRYvwvM59C5pAiEAw4PpIXT0uB2Z/824dIQIVGoAfAupQ//fPSHKEefe/qEA\nfgCCzc1HnnfkXRStaQOILEET/IHCEhO+wrPZTp3HzYDN/gAAAZn6uzAiAAgAAAUA\nAV+0YwQDAEcwRQIhAOzNfQgDj2LRvDf6Jn6h18QiJhtA1zuhHPaZxlW9b0kVAiAy\nU7Ddn0N+yVUz2avuQbQY7G84poYwcBR0WXcSeKWCrDAKBggqhkjOPQQDAwNnADBk\nAjBBKzmUt6IYKxGbr9PAO7GQrzwjVxWxjuGAddVIieYcIC/n7PTu1RG0WEEA3sJE\n+s8CMHU68DnUK5NT1hVnbPxwZbSHvw+SbrztDOlogxXfyeXAHu/6FsmgPtdQoaso\n5CuJuw==\n-----END CERTIFICATE-----\n"
            },
            "privateKey": {
              "inlineString": "-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIFwhm70xIOsRCXCu70zX+lyZnc6W0xRqAf9PJ0g/H90xoAoGCCqGSM49\nAwEHoUQDQgAEjr06j3xqOWYqQ9Y/m61/L+U3Mr8gilVXggmn2E4M5cRI08Ew48JZ\n9S0syxQ9jgCTs50U8ZodGHgPXBbgL+oMnA==\n-----END EC PRIVATE KEY-----\n"
            }
          }
        }


name: api_credential_key
updated_at: 2025-11-12 22:48:56
data:
  {
          "name": "api_credential_key",
          "genericSecret": {
            "secret": {
              "inlineString": "shh-this-is-a-non-tls-secret-value-XYZ"
            }
          }
        }


