{"host": "deploy1003.eqiad.wmnet", "state": "core_diff", "description": "Differences to core resources", "diff": {"full": {"total": 17173, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/etc/helmfile-defaults/general-ml-staging-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-staging-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-staging-codfw.yaml\n@@ -1961,6 +1961,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/sophroid/listeners.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/listeners.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/listeners.yaml\n@@ -556,6 +556,24 @@\n   keepalive: 50s\n   sets_sni: true\n   upstream: opensearch-ipoid.discovery.wmnet\n+  retry:\n+    retry_on: gateway-error\n+- name: opensearch-ttmserver-test\n+  port: 6046\n+  service: opensearch-ttmserver-test\n+  timeout: 50s\n+  keepalive: 50s\n+  sets_sni: true\n+  upstream: opensearch-ttmserver-test.discovery.wmnet\n+  retry:\n+    retry_on: gateway-error\n+- name: opensearch-toolhub-test\n+  port: 6047\n+  service: opensearch-toolhub-test\n+  timeout: 50s\n+  keepalive: 50s\n+  sets_sni: true\n+  upstream: opensearch-toolhub-test.discovery.wmnet\n   retry:\n     retry_on: gateway-error\n profile::services_proxy::envoy::enabled_listeners:"}, {"resource": "File[/etc/helmfile-defaults/general-aux-k8s-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-dse-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-dse-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-dse-k8s-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "Class[Profile::Kubernetes::Deployment_server::Sophroid_config]", "parameters": "--- Class[Profile::Kubernetes::Deployment_server::Sophroid_config].orig\n+++ Class[Profile::Kubernetes::Deployment_server::Sophroid_config]\n\n@@\n-    listeners       => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n+    listeners       => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ttmserver-test', 'port': 6046, 'service': 'opensearch-ttmserver-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ttmserver-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-toolhub-test', 'port': 6047, 'service': 'opensearch-toolhub-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-toolhub-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n@@\n-    service_catalog => {'apertium': {'description': 'Machine Translation service. apertium.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.11'}, 'eqiad': {'default': '10.2.2.11'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/listPairs'}], 'port': 4737, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'apertium', 'active_active': True}]}, 'apus': {'description': 'Ceph-backed async-replicated S3 cluster', 'discovery': [{'dnsdisc': 'apus', 'active_active': True}], 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.10'}, 'eqiad': {'default': '10.2.2.10'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'apus', 'service': 'apus'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://apus.discovery.wmnet/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'port': 443, 'probes': [{'type': 'http', 'path': '/', 'host': 'apus.discovery.wmnet'}], 'sites': ['codfw', 'eqiad'], 'state': 'production', 'exclude_from_switchover': True}, 'aux-k8s-ctrl': {'description': 'Kubernetes API service for aux cluster', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.74'}, 'codfw': {'default': '10.2.1.74'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'k8s-ingress-aux': {'description': 'istio-ingresscontroller on aux-k8s. k8s-ingress-aux-(ro|rw).discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'k8s-ingress-aux-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-aux-rw', 'active_active': False}]}, 'jaeger-collector-http': {'description': 'Jaeger tracing, collector (HTTP)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-collector-grpc': {'description': 'Jaeger tracing, collector (GRPC)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-query': {'description': 'Jaeger tracing, query UI', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'citoid': {'description': 'Citation lookup service, citoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.19'}, 'eqiad': {'default': '10.2.2.19'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4003, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'citoid', 'active_active': True}]}, 'cloudelastic-chi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-chi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9643, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8643, 'sites': ['eqiad'], 'state': 'production'}, 'cxserver': {'description': 'Content Translation service, cxserver.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.18'}, 'eqiad': {'default': '10.2.2.18'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4002, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'cxserver', 'active_active': True}]}, 'datahubsearch': {'description': 'Search cluster serving DataHub', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.71'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'datahubsearch', 'service': 'opensearch'}, 'depool_threshold': 0.5, 'enabled': False, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http'}], 'port': 9200, 'sites': ['eqiad'], 'state': 'production', 'page': False}, 'docker-registry': {'description': 'docker registry service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.44'}, 'eqiad': {'default': '10.2.2.44'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'docker-registry', 'service': 'docker-registry'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/v2/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'docker-registry', 'active_active': False}], 'exclude_from_switchover': True}, 'druid-public-broker': {'description': 'Broker query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.38'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-broker'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8082, 'sites': ['eqiad'], 'state': 'production'}, 'druid-public-coordinator': {'description': 'Coordinator query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.15'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-coordinator'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8081, 'sites': ['eqiad'], 'state': 'production'}, 'echostore': {'description': 'Echo store, echostore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.49'}, 'eqiad': {'default': '10.2.2.49'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8082, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'echostore', 'active_active': True}]}, 'eventgate-analytics': {'description': 'EventGate Analytics endpoint, TLS enabled. https://eventgate-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.42'}, 'eqiad': {'default': '10.2.2.42'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4592, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics', 'active_active': True}]}, 'eventgate-logging-external': {'description': 'EventGate logging endpoint, eventgate-logging-external.discovery.wmnet and intake-logging.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.50'}, 'eqiad': {'default': '10.2.2.50'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4392, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-logging-external', 'active_active': True}]}, 'eventgate-analytics-external': {'description': 'EventGate analytics external endpoint, eventgate-analytics-external.discovery.wmnet and intake-analytics.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.52'}, 'eqiad': {'default': '10.2.2.52'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4692, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics-external', 'active_active': True}]}, 'eventgate-main': {'description': 'EventGate main endpoint, TLS enabled, https://eventgate-main.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.45'}, 'eqiad': {'default': '10.2.2.45'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4492, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-main', 'active_active': True}]}, 'eventstreams': {'description': 'Public streams of events via HTTP + SSE, backed by Kafka. eventstreams.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.34'}, 'eqiad': {'default': '10.2.2.34'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4892, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams', 'active_active': True}]}, 'eventstreams-internal': {'description': 'Internal streams of events via HTTP + SSE, backed by Kafka. eventstreams-internal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.35'}, 'eqiad': {'default': '10.2.2.35'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4992, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams-internal', 'active_active': True}]}, 'k8s-ingress-staging': {'description': 'istio-ingresscontroller on kubernetes staging. k8s-ingress-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-wikikube': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-wikikube.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': True, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-wikikube-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-wikikube-rw', 'active_active': False}]}, 'k8s-ingress-ml-staging': {'description': 'istio-ingresscontroller on kubernetes ML staging. k8s-ingress-ml-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.83'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-ml-serve': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-ml-serve.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-serve', 'active_active': True}]}, 'k8s-ingress-dse': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-dse.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-dse', 'active_active': False}, {'dnsdisc': 'k8s-ingress-dse-aa', 'active_active': True}], 'exclude_from_switchover': True}, 'kartotherian-k8s-ssl': {'description': 'Kartotherian, kartotherian.discovery.wmnet - HTTPS on K8s', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.13'}, 'eqiad': {'default': '10.2.2.13'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/osm-intl/6/23/24.png'}], 'port': 6543, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'kartotherian', 'active_active': True}]}, 'kibana7': {'description': 'Kibana v7 env - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.48'}, 'eqiad': {'default': '10.2.2.48'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'kibana7'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logstash.wikimedia.org/api/status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/api/status', 'host': 'logstash.wikimedia.org'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'logstash', 'active_active': False}], 'role': 'opensearch::collector', 'public_endpoint': 'logstash', 'exclude_from_switchover': True}, 'kubemaster': {'description': 'Kubernetes master service. kubemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.8'}, 'eqiad': {'default': '10.2.2.8'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::master_stacked', 'state': 'production'}, 'kubestagemaster': {'description': 'Kubernetes staging master service. kubestagemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.86'}, 'eqiad': {'default': '10.2.2.86'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubemaster'}, 'depool_threshold': 0.2, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::staging::master_stacked', 'state': 'production'}, 'labweb-ssl': {'description': 'lvs for cloudweb services: horizon, striker - HTTPS', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.40'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'cloudweb', 'service': 'cloudweb-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 200, 'url': ['https://toolsadmin.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http', 'host': 'toolsadmin.wikimedia.org'}], 'page': True, 'team': 'wmcs', 'port': 7443, 'sites': ['eqiad'], 'state': 'production', 'aliases': ['labweb']}, 'ldap-ro': {'description': 'Ldap for cloud and developer accounts', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 389, 'probes': [{'type': 'tcp'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'ldap-ro-ssl': {'description': 'Ldap for cloud and developer accounts (ssl access)', 'encryption': True, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 636, 'probes': [{'type': 'tcp', 'host': 'ldap-ro.eqiad.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'mathoid': {'description': 'Mathematical rendering service, mathoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.20'}, 'eqiad': {'default': '10.2.2.20'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4001, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mathoid', 'active_active': True}]}, 'miscweb': {'description': 'Misc static sites, miscweb.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'static-bugzilla.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'dse-k8s-ctrl': {'description': 'Kubernetes master service for DSE cluster. dse-k8s-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.73'}, 'codfw': {'default': '10.2.1.73'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-ctrl': {'description': 'Kubernetes master service for ML cluster. ml-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.39'}, 'eqiad': {'default': '10.2.2.39'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-staging-ctrl': {'description': 'Kubernetes master service for ML staging cluster. ml-staging-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.72'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'mobileapps': {'description': 'A service for use by mobile apps. Provides DOM manipulation, aggregation, JSON flattening. mobileapps.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.14'}, 'eqiad': {'default': '10.2.2.14'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4102, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mobileapps', 'active_active': True}]}, 'mwdebug': {'description': 'mwdebug, mwdebug.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.59'}, 'eqiad': {'default': '10.2.2.59'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4444, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug', 'active_active': True}]}, 'mwdebug-next': {'description': 'mwdebug-next, mwdebug-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.9'}, 'eqiad': {'default': '10.2.2.9'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4453, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug-next', 'active_active': True}]}, 'mw-web': {'description': 'mw-web, mw-web.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.75'}, 'eqiad': {'default': '10.2.2.75'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4450, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web', 'active_active': False}, {'dnsdisc': 'mw-web-ro', 'active_active': True}]}, 'mw-web-next': {'description': 'mw-web-next, mw-web-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.6'}, 'eqiad': {'default': '10.2.2.6'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4454, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web-next', 'active_active': False}, {'dnsdisc': 'mw-web-next-ro', 'active_active': True}]}, 'mw-api-ext': {'description': 'mw-api-ext, mw-api-ext.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.76'}, 'eqiad': {'default': '10.2.2.76'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4447, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext', 'active_active': False}, {'dnsdisc': 'mw-api-ext-ro', 'active_active': True}]}, 'mw-api-ext-next': {'description': 'mw-api-ext-next, mw-api-ext-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.7'}, 'eqiad': {'default': '10.2.2.7'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4455, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext-next', 'active_active': False}, {'dnsdisc': 'mw-api-ext-next-ro', 'active_active': True}]}, 'mw-api-int': {'description': 'mw-api-int, mw-api-int.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.81'}, 'eqiad': {'default': '10.2.2.81'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4446, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-int', 'active_active': False}, {'dnsdisc': 'mw-api-int-ro', 'active_active': True}]}, 'mw-misc': {'description': 'Miscellaneous mediawiki installs, mw-misc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'mw-jobrunner': {'description': 'mw-jobrunner, mw-jobrunner.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.90'}, 'eqiad': {'default': '10.2.2.90'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'jobrunner', 'page': False, 'probes': [{'type': 'http', 'path': '/w/health-check.php', 'host': 'mw-jobrunner.discovery.wmnet'}], 'port': 4448, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-jobrunner', 'active_active': False}]}, 'mw-wikifunctions': {'description': 'mw-wikifunctions, mw-wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'port': 30443, 'httpbb_dir': 'wikifunctions', 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'www.wikifunctions.org'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'ncredir': {'description': 'Non canonical domains redirect service', 'encryption': False, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['http://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'ncredir-https': {'description': 'Non canonical redirect service', 'encryption': True, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'prometheus': {'description': 'Prometheus monitoring', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://prometheus/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 80, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'prometheus-https': {'description': 'prometheus monitoring https', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 302, 'url': ['https://prometheus-eqiad.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'prometheus-eqiad.wikimedia.org'}], 'port': 443, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'public_endpoint': 'prometheus-eqiad', 'public_aliases': ['prometheus-codfw']}, 'proton': {'description': 'Proton PDF rendering service. proton.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.21'}, 'eqiad': {'default': '10.2.2.21'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4030, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'proton', 'active_active': True}]}, 'push-notifications': {'description': 'Push-notifications service push-notifications.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.56'}, 'eqiad': {'default': '10.2.2.56'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 4104, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'push-notifications', 'active_active': True}]}, 'recommendation-api': {'description': 'Service for recommendation API. recommendation-api.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.37'}, 'eqiad': {'default': '10.2.2.37'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 4632, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'recommendation-api', 'active_active': True}]}, 'restbase-backend': {'description': 'RESTBase backend, restbase.discovery.wmnet', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-backend'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 7233, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'restbase-https': {'description': 'RESTBase, restbase.discovery.wmnet - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}, {'type': 'swagger'}], 'port': 7443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'restbase', 'active_active': True}, {'dnsdisc': 'restbase-async', 'active_active': True}], 'aliases': ['restbase']}, 'schema': {'description': 'Event Schema HTTP service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.43'}, 'eqiad': {'default': '10.2.2.43'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'eventschemas', 'service': 'eventschemas'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/repositories/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'probes': [{'type': 'http', 'path': '/repositories/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'schema', 'active_active': True}]}, 'search': {'description': 'Elasticsearch search for MediaWiki', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 9200, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'search-https': {'description': 'Elasticsearch search for MediaWiki - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 9243, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'search', 'active_active': True}]}, 'search-omega-https': {'description': 'Elasticsearch search for MediaWiki (Omega cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-omega', 'active_active': True}]}, 'search-psi-https': {'description': 'Elasticsearch search for MediaWiki (Psi cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9643, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-psi', 'active_active': True}]}, 'sessionstore': {'description': 'Session store, sessionstore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.29'}, 'eqiad': {'default': '10.2.2.29'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8081, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sessionstore', 'active_active': True}]}, 'shellbox': {'description': 'Shellbox, shellbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.51'}, 'eqiad': {'default': '10.2.2.51'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4008, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox', 'active_active': True}]}, 'shellbox-constraints': {'description': 'Shellbox Constraints, shellbox-constraints.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.61'}, 'eqiad': {'default': '10.2.2.61'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4010, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-constraints', 'active_active': True}]}, 'shellbox-media': {'description': 'Shellbox Media, shellbox-media.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.64'}, 'eqiad': {'default': '10.2.2.64'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4015, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-media', 'active_active': True}]}, 'shellbox-syntaxhighlight': {'description': 'Shellbox SyntaxHighlight, shellbox-syntaxhighlight.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.65'}, 'eqiad': {'default': '10.2.2.65'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4014, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-syntaxhighlight', 'active_active': True}]}, 'shellbox-timeline': {'description': 'Shellbox Timeline, shellbox-timeline.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.66'}, 'eqiad': {'default': '10.2.2.66'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4012, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-timeline', 'active_active': True}]}, 'shellbox-video': {'description': 'Shellbox Video, shellbox-video.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.68'}, 'eqiad': {'default': '10.2.2.68'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4080, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-video', 'active_active': True}]}, 'sophroid': {'description': 'Service mesh envoy control plane, sophroid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.41'}, 'eqiad': {'default': '10.2.2.41'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4252, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sophroid', 'active_active': False}]}, 'swift': {'description': 'Swift media storage', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'swift-fe'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 80, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'aliases': ['ms-fe']}, 'swift-https': {'description': 'Swift media storage', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/monitoring/frontend'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'swift', 'active_active': True}], 'aliases': ['ms-fe'], 'exclude_from_switchover': True}, 'tegola-vector-tiles': {'description': 'Tegola Vector Tiles, tegola-vector-tiles.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.60'}, 'eqiad': {'default': '10.2.2.60'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/capabilities'}], 'port': 4105, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'tegola-vector-tiles', 'active_active': True}]}, 'thanos-query': {'description': 'Prometheus long-term storage, query service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.53'}, 'eqiad': {'default': '10.2.2.53'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-query'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/-/ready'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-query', 'active_active': True}], 'role': 'titan'}, 'thanos-web': {'description': 'Prometheus long-term storage, web interface', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.77'}, 'eqiad': {'default': '10.2.2.77'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-web'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/-/ready', 'host': 'thanos-query.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-web', 'active_active': True}], 'role': 'titan', 'public_endpoint': 'thanos'}, 'thanos-swift': {'description': 'Prometheus long-term storage, object storage (swift) access', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.54'}, 'eqiad': {'default': '10.2.2.54'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-swift'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-swift.discovery.wmnet/healthcheck']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'host': 'thanos-swift.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-swift', 'active_active': True}], 'role': 'thanos::frontend'}, 'termbox': {'description': 'Wikidata Termbox SSR termbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.46'}, 'eqiad': {'default': '10.2.2.46'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4004, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'termbox', 'active_active': True}]}, 'text': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (Varnish)', 'encryption': False, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'text-https': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (nginx)', 'encryption': True, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'thumbor': {'description': 'Thumbor image scaling', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.24'}, 'eqiad': {'default': '10.2.2.24'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'timeout': '15s'}], 'port': 8800, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'toolhub': {'description': 'Toolhub, toolhub.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.62'}, 'eqiad': {'default': '10.2.2.62'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4011, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'toolhub', 'active_active': False}], 'exclude_from_switchover': True}, 'upload': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': False, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'upload-https': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://upload.wikimedia.org/varnish-fe-hc-5ebea9']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'wcqs': {'description': 'Wikimedia Commons Query Service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.67'}, 'eqiad': {'default': '10.2.2.67'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wcqs', 'service': 'wcqs'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wcqs', 'active_active': True}]}, 'wdqs-internal-main': {'description': 'Wikidata Query Service internal - main', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.93'}, 'codfw': {'default': '10.2.1.93'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-main', 'active_active': True}]}, 'wdqs-internal-scholarly': {'description': 'Wikidata Query Service internal - scholarly', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.94'}, 'codfw': {'default': '10.2.1.94'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-scholarly', 'active_active': True}]}, 'wdqs-main': {'description': 'Wikidata Query Service - main', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.33'}, 'eqiad': {'default': '10.2.2.33'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-main', 'active_active': True}]}, 'wdqs-scholarly': {'description': 'Wikidata Query Service - scholarly', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.36'}, 'eqiad': {'default': '10.2.2.36'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-scholarly', 'active_active': True}]}, 'wikifeeds': {'description': 'A node webservice supporting featured wiki content feeds. wikifeeds.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.47'}, 'eqiad': {'default': '10.2.2.47'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4101, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wikifeeds', 'active_active': True}]}, 'zotero': {'description': 'Zotero, zotero.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.16'}, 'eqiad': {'default': '10.2.2.16'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'post_json': '[{\"itemType\":\"journalArticle\"}]', 'path': '/export?format=wikipedia'}], 'port': 4969, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'zotero', 'active_active': True}]}, 'helm-charts': {'description': 'helm-charts', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.159'}, 'eqiad': {'default': '10.64.48.26'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health', 'must_contain_regexp': '\"healthy\".*:.*true'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'helm-charts', 'active_active': True}], 'exclude_from_switchover': True}, 'releases': {'description': 'MediaWiki, Parsoid, MobileApps and other Wikimedia release files (https://releases.wikimedia.org)', 'encryption': True, 'ip': {'codfw': {'default': '10.192.16.72'}, 'eqiad': {'default': '10.64.48.34'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/mediawiki', 'host': 'releases.wikimedia.org', 'must_contain_regexp': 'MediaWiki'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'releases', 'active_active': True}], 'exclude_from_switchover': True}, 'api-gateway': {'description': 'API gateway, api-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.55'}, 'eqiad': {'default': '10.2.2.55'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 8087, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'api-gateway', 'active_active': True}]}, 'linkrecommendation': {'description': 'Link Recommendation, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4005, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}]}, 'linkrecommendation-external': {'description': 'Link Recommendation, public release, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4006, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}], 'aliases': ['linkrecommendation']}, 'puppetdb-api': {'description': 'Puppetdb api microservice', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.75'}, 'eqiad': {'default': '10.64.16.87'}}, 'page': False, 'probes': [{'type': 'http'}], 'sites': ['eqiad', 'codfw'], 'port': 8090, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetdb-api', 'active_active': True}], 'exclude_from_switchover': True}, 'alertmanager': {'encryption': True, 'role': 'alerting_host', 'public_endpoint': 'alerts', 'port': 443, 'description': 'Alertmanager service', 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.42'}, 'eqiad': {'default': '208.80.154.78'}}, 'state': 'production'}, 'graphite': {'encryption': True, 'role': 'graphite::production', 'public_endpoint': 'graphite', 'port': 443, 'description': 'Graphite metrics platform', 'page': False, 'probes': [{'type': 'http', 'host': 'graphite.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.16.37'}, 'eqiad': {'default': '10.64.16.81'}}, 'state': 'production'}, 'grafana': {'encryption': True, 'role': 'grafana', 'public_endpoint': 'grafana', 'public_aliases': ['grafana-rw', 'grafana-next', 'grafana-next-rw'], 'port': 443, 'description': 'Graphing and dashboarding', 'page': False, 'probes': [{'type': 'http', 'host': 'grafana.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.0.160'}, 'eqiad': {'default': '10.64.0.119'}}, 'state': 'production'}, 'librenms': {'encryption': True, 'role': 'netmon', 'public_endpoint': 'librenms', 'port': 443, 'description': 'Network device observability', 'page': False, 'probes': [{'type': 'http', 'host': 'librenms.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.9'}, 'eqiad': {'default': '208.80.154.141'}}, 'state': 'production'}, 'inference': {'description': 'Inference ML service', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.63'}, 'codfw': {'default': '10.2.1.63'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'valid_status_codes': [404]}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'inference', 'active_active': True}]}, 'inference-staging': {'description': 'Inference ML service (staging)', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.58'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'apt': {'description': 'Internal apt package repository', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.11'}, 'eqiad': {'default': '208.80.154.10'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'apt.wikimedia.org', 'path': '/wikimedia/'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'discovery': [{'dnsdisc': 'apt', 'active_active': False}], 'exclude_from_switchover': True}, 'puppetboard': {'description': 'Internal production Puppetboard interface', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.8'}, 'eqiad': {'default': '10.64.32.38'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'puppetboard.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetboard', 'active_active': True}]}, 'data-gateway': {'description': 'data gateway service, data-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'data-gateway-staging': {'description': 'data gateway staging service, data-gateway.k8s-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'data-gateway.k8s-staging.discovery.wmnet', 'path': '/healthz'}], 'sites': ['eqiad'], 'state': 'production'}, 'developer-portal': {'description': 'Static documentation site, developer-portal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'netbox': {'description': 'Netbox Frontend', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.54'}, 'eqiad': {'default': '10.64.0.103'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'netbox.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'netbox', 'active_active': False}], 'exclude_from_switchover': True}, 'logs-api': {'description': 'API access to opensearch for logs', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.79'}, 'eqiad': {'default': '10.2.2.79'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'logs-api'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logs-api.svc.eqiad.wmnet']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'logs-api.svc.eqiad.wmnet'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'commons-impact-analytics': {'description': 'commons-impact-analytics AQS2 service, commons-impact-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'device-analytics': {'description': 'device-analytics AQS2 service, device-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.80'}, 'eqiad': {'default': '10.2.2.80'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4972, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'device-analytics', 'active_active': True}]}, 'geo-analytics': {'description': 'geo-analytics AQS2 service, geo-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'media-analytics': {'description': 'media-analytics AQS2 service, media-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'page-analytics': {'description': 'page-analytics AQS2 service, page-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'editor-analytics': {'description': 'editor-analytics AQS2 service, editor-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'edit-analytics': {'description': 'edit-analytics AQS2 service, edit-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'pki': {'description': 'PKI service', 'encryption': False, 'ip': {'codfw': {'default': '10.192.16.172'}, 'eqiad': {'default': '10.64.173.2'}}, 'probes': [{'type': 'http', 'path': '/metrics', 'must_contain_regexp': 'signer=\"discovery2026\"'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'pki', 'active_active': True}]}, 'rest-gateway': {'description': 'REST API gateway, rest-gateway.discovery.wmnet. See REST Gateway page on wikitech for URLs proxied', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.82'}, 'eqiad': {'default': '10.2.2.82'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4113, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'rest-gateway', 'active_active': False}, {'dnsdisc': 'rest-gateway-ro', 'active_active': True}]}, 'machinetranslation': {'description': 'MinT, machinetranslation service backend. Use by cxserver. machinetranslation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions': {'description': 'Wikifunctions orchestrator, wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator-staging': {'description': 'Wikifunctions Python evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator': {'description': 'Wikifunctions Python evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-javascript-evaluator-staging': {'description': 'Wikifunctions JS evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad'], 'state': 'production'}, 'wikifunctions-javascript-evaluator': {'description': 'Wikifunctions JS evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'config-master': {'description': 'config-master.wikimedia.org service for browsing configuration data from etcd.', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.15'}, 'eqiad': {'default': '10.64.0.110'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'config-master', 'active_active': True}]}, 'ipoid': {'description': 'iPoid IP address reputation service ipoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'superset-next': {'description': 'Staging superset service, superset-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'superset': {'description': 'Production superset service, superset.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'test-kitchen': {'description': 'Production test-kitchen service, test-kitchen.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'test-kitchen-next': {'description': 'Staging test-kitchen service, test-kitchen-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'chart-renderer': {'description': 'Stateless microservice that renders charts as SVGs with Apache eCharts, used by https://www.mediawiki.org/wiki/Extension:Chart', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': True, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'blunderbuss': {'description': 'HDFS synchronizer service, see T371994', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'opensearch-test': {'description': 'opensearch on kubernetes test, see T362105', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'opensearch-ipoid': {'description': 'ipoid on opensearch, see T357753', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-semantic-search': {'description': 'semantic search for wikis, see T413969', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-ttmserver-test': {'description': 'Translatewiki opensearch test server, see T424248', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'service_setup'}, 'analytics-web': {'encryption': True, 'role': 'analytics_cluster::webserver', 'public_endpoint': 'analytics', 'port': 8443, 'description': 'Dashboards and Data Downloads for Wikimedia Projects', 'page': False, 'probes': [{'type': 'http', 'host': 'analytics.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad'], 'ip': {'eqiad': {'default': '10.64.21.14'}}, 'state': 'service_setup'}, 'codesearch': {'description': 'UI to search through Wikimedia code repositories', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'codesearch.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'zarcillo': {'description': 'DB automation', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'zarcillo.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'os-reports': {'description': 'OS Reports', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'os-reports.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'wmf-navigator': {'description': 'WMF Navigator', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'wmf-navigator.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'gerrit-https': {'description': 'Gerrit Code Review - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'gerrit.wikimedia.org', 'path': '/r/'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'gerrit-ssh': {'description': 'Gerrit Code Review - SSH interface', 'encryption': False, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'tcp-proxy', 'service': 'gerrit'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 29418, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'dumps-https': {'description': 'Dump file distribution - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-https'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://dumps.wikimedia.org']}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'http', 'host': 'dumps.wikimedia.org', 'path': '/'}], 'port': 443, 'sites': ['eqiad'], 'state': 'production'}, 'dumps-rsync': {'description': 'Dump file distribution - rsync interface', 'encryption': False, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-rsync'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'tcp-notls'}], 'port': 873, 'sites': ['eqiad'], 'state': 'production'}, 'recommendation-api-ng': {'description': 'Liftwing recommendation-api-ng service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 31443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}}\n+    service_catalog => {'apertium': {'description': 'Machine Translation service. apertium.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.11'}, 'eqiad': {'default': '10.2.2.11'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/listPairs'}], 'port': 4737, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'apertium', 'active_active': True}]}, 'apus': {'description': 'Ceph-backed async-replicated S3 cluster', 'discovery': [{'dnsdisc': 'apus', 'active_active': True}], 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.10'}, 'eqiad': {'default': '10.2.2.10'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'apus', 'service': 'apus'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://apus.discovery.wmnet/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'port': 443, 'probes': [{'type': 'http', 'path': '/', 'host': 'apus.discovery.wmnet'}], 'sites': ['codfw', 'eqiad'], 'state': 'production', 'exclude_from_switchover': True}, 'aux-k8s-ctrl': {'description': 'Kubernetes API service for aux cluster', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.74'}, 'codfw': {'default': '10.2.1.74'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'k8s-ingress-aux': {'description': 'istio-ingresscontroller on aux-k8s. k8s-ingress-aux-(ro|rw).discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'k8s-ingress-aux-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-aux-rw', 'active_active': False}]}, 'jaeger-collector-http': {'description': 'Jaeger tracing, collector (HTTP)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-collector-grpc': {'description': 'Jaeger tracing, collector (GRPC)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-query': {'description': 'Jaeger tracing, query UI', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'citoid': {'description': 'Citation lookup service, citoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.19'}, 'eqiad': {'default': '10.2.2.19'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4003, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'citoid', 'active_active': True}]}, 'cloudelastic-chi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-chi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9643, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8643, 'sites': ['eqiad'], 'state': 'production'}, 'cxserver': {'description': 'Content Translation service, cxserver.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.18'}, 'eqiad': {'default': '10.2.2.18'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4002, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'cxserver', 'active_active': True}]}, 'datahubsearch': {'description': 'Search cluster serving DataHub', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.71'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'datahubsearch', 'service': 'opensearch'}, 'depool_threshold': 0.5, 'enabled': False, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http'}], 'port': 9200, 'sites': ['eqiad'], 'state': 'production', 'page': False}, 'docker-registry': {'description': 'docker registry service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.44'}, 'eqiad': {'default': '10.2.2.44'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'docker-registry', 'service': 'docker-registry'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/v2/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'docker-registry', 'active_active': False}], 'exclude_from_switchover': True}, 'druid-public-broker': {'description': 'Broker query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.38'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-broker'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8082, 'sites': ['eqiad'], 'state': 'production'}, 'druid-public-coordinator': {'description': 'Coordinator query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.15'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-coordinator'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8081, 'sites': ['eqiad'], 'state': 'production'}, 'echostore': {'description': 'Echo store, echostore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.49'}, 'eqiad': {'default': '10.2.2.49'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8082, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'echostore', 'active_active': True}]}, 'eventgate-analytics': {'description': 'EventGate Analytics endpoint, TLS enabled. https://eventgate-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.42'}, 'eqiad': {'default': '10.2.2.42'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4592, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics', 'active_active': True}]}, 'eventgate-logging-external': {'description': 'EventGate logging endpoint, eventgate-logging-external.discovery.wmnet and intake-logging.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.50'}, 'eqiad': {'default': '10.2.2.50'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4392, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-logging-external', 'active_active': True}]}, 'eventgate-analytics-external': {'description': 'EventGate analytics external endpoint, eventgate-analytics-external.discovery.wmnet and intake-analytics.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.52'}, 'eqiad': {'default': '10.2.2.52'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4692, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics-external', 'active_active': True}]}, 'eventgate-main': {'description': 'EventGate main endpoint, TLS enabled, https://eventgate-main.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.45'}, 'eqiad': {'default': '10.2.2.45'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4492, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-main', 'active_active': True}]}, 'eventstreams': {'description': 'Public streams of events via HTTP + SSE, backed by Kafka. eventstreams.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.34'}, 'eqiad': {'default': '10.2.2.34'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4892, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams', 'active_active': True}]}, 'eventstreams-internal': {'description': 'Internal streams of events via HTTP + SSE, backed by Kafka. eventstreams-internal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.35'}, 'eqiad': {'default': '10.2.2.35'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4992, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams-internal', 'active_active': True}]}, 'k8s-ingress-staging': {'description': 'istio-ingresscontroller on kubernetes staging. k8s-ingress-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-wikikube': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-wikikube.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': True, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-wikikube-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-wikikube-rw', 'active_active': False}]}, 'k8s-ingress-ml-staging': {'description': 'istio-ingresscontroller on kubernetes ML staging. k8s-ingress-ml-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.83'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-ml-serve': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-ml-serve.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-serve', 'active_active': True}]}, 'k8s-ingress-dse': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-dse.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-dse', 'active_active': False}, {'dnsdisc': 'k8s-ingress-dse-aa', 'active_active': True}], 'exclude_from_switchover': True}, 'kartotherian-k8s-ssl': {'description': 'Kartotherian, kartotherian.discovery.wmnet - HTTPS on K8s', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.13'}, 'eqiad': {'default': '10.2.2.13'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/osm-intl/6/23/24.png'}], 'port': 6543, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'kartotherian', 'active_active': True}]}, 'kibana7': {'description': 'Kibana v7 env - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.48'}, 'eqiad': {'default': '10.2.2.48'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'kibana7'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logstash.wikimedia.org/api/status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/api/status', 'host': 'logstash.wikimedia.org'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'logstash', 'active_active': False}], 'role': 'opensearch::collector', 'public_endpoint': 'logstash', 'exclude_from_switchover': True}, 'kubemaster': {'description': 'Kubernetes master service. kubemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.8'}, 'eqiad': {'default': '10.2.2.8'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::master_stacked', 'state': 'production'}, 'kubestagemaster': {'description': 'Kubernetes staging master service. kubestagemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.86'}, 'eqiad': {'default': '10.2.2.86'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubemaster'}, 'depool_threshold': 0.2, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::staging::master_stacked', 'state': 'production'}, 'labweb-ssl': {'description': 'lvs for cloudweb services: horizon, striker - HTTPS', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.40'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'cloudweb', 'service': 'cloudweb-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 200, 'url': ['https://toolsadmin.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http', 'host': 'toolsadmin.wikimedia.org'}], 'page': True, 'team': 'wmcs', 'port': 7443, 'sites': ['eqiad'], 'state': 'production', 'aliases': ['labweb']}, 'ldap-ro': {'description': 'Ldap for cloud and developer accounts', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 389, 'probes': [{'type': 'tcp'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'ldap-ro-ssl': {'description': 'Ldap for cloud and developer accounts (ssl access)', 'encryption': True, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 636, 'probes': [{'type': 'tcp', 'host': 'ldap-ro.eqiad.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'mathoid': {'description': 'Mathematical rendering service, mathoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.20'}, 'eqiad': {'default': '10.2.2.20'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4001, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mathoid', 'active_active': True}]}, 'miscweb': {'description': 'Misc static sites, miscweb.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'static-bugzilla.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'dse-k8s-ctrl': {'description': 'Kubernetes master service for DSE cluster. dse-k8s-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.73'}, 'codfw': {'default': '10.2.1.73'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-ctrl': {'description': 'Kubernetes master service for ML cluster. ml-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.39'}, 'eqiad': {'default': '10.2.2.39'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-staging-ctrl': {'description': 'Kubernetes master service for ML staging cluster. ml-staging-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.72'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'mobileapps': {'description': 'A service for use by mobile apps. Provides DOM manipulation, aggregation, JSON flattening. mobileapps.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.14'}, 'eqiad': {'default': '10.2.2.14'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4102, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mobileapps', 'active_active': True}]}, 'mwdebug': {'description': 'mwdebug, mwdebug.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.59'}, 'eqiad': {'default': '10.2.2.59'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4444, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug', 'active_active': True}]}, 'mwdebug-next': {'description': 'mwdebug-next, mwdebug-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.9'}, 'eqiad': {'default': '10.2.2.9'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4453, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug-next', 'active_active': True}]}, 'mw-web': {'description': 'mw-web, mw-web.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.75'}, 'eqiad': {'default': '10.2.2.75'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4450, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web', 'active_active': False}, {'dnsdisc': 'mw-web-ro', 'active_active': True}]}, 'mw-web-next': {'description': 'mw-web-next, mw-web-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.6'}, 'eqiad': {'default': '10.2.2.6'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4454, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web-next', 'active_active': False}, {'dnsdisc': 'mw-web-next-ro', 'active_active': True}]}, 'mw-api-ext': {'description': 'mw-api-ext, mw-api-ext.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.76'}, 'eqiad': {'default': '10.2.2.76'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4447, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext', 'active_active': False}, {'dnsdisc': 'mw-api-ext-ro', 'active_active': True}]}, 'mw-api-ext-next': {'description': 'mw-api-ext-next, mw-api-ext-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.7'}, 'eqiad': {'default': '10.2.2.7'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4455, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext-next', 'active_active': False}, {'dnsdisc': 'mw-api-ext-next-ro', 'active_active': True}]}, 'mw-api-int': {'description': 'mw-api-int, mw-api-int.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.81'}, 'eqiad': {'default': '10.2.2.81'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4446, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-int', 'active_active': False}, {'dnsdisc': 'mw-api-int-ro', 'active_active': True}]}, 'mw-misc': {'description': 'Miscellaneous mediawiki installs, mw-misc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'mw-jobrunner': {'description': 'mw-jobrunner, mw-jobrunner.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.90'}, 'eqiad': {'default': '10.2.2.90'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'jobrunner', 'page': False, 'probes': [{'type': 'http', 'path': '/w/health-check.php', 'host': 'mw-jobrunner.discovery.wmnet'}], 'port': 4448, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-jobrunner', 'active_active': False}]}, 'mw-wikifunctions': {'description': 'mw-wikifunctions, mw-wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'port': 30443, 'httpbb_dir': 'wikifunctions', 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'www.wikifunctions.org'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'ncredir': {'description': 'Non canonical domains redirect service', 'encryption': False, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['http://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'ncredir-https': {'description': 'Non canonical redirect service', 'encryption': True, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'prometheus': {'description': 'Prometheus monitoring', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://prometheus/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 80, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'prometheus-https': {'description': 'prometheus monitoring https', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 302, 'url': ['https://prometheus-eqiad.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'prometheus-eqiad.wikimedia.org'}], 'port': 443, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'public_endpoint': 'prometheus-eqiad', 'public_aliases': ['prometheus-codfw']}, 'proton': {'description': 'Proton PDF rendering service. proton.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.21'}, 'eqiad': {'default': '10.2.2.21'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4030, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'proton', 'active_active': True}]}, 'push-notifications': {'description': 'Push-notifications service push-notifications.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.56'}, 'eqiad': {'default': '10.2.2.56'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 4104, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'push-notifications', 'active_active': True}]}, 'recommendation-api': {'description': 'Service for recommendation API. recommendation-api.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.37'}, 'eqiad': {'default': '10.2.2.37'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 4632, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'recommendation-api', 'active_active': True}]}, 'restbase-backend': {'description': 'RESTBase backend, restbase.discovery.wmnet', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-backend'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 7233, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'restbase-https': {'description': 'RESTBase, restbase.discovery.wmnet - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}, {'type': 'swagger'}], 'port': 7443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'restbase', 'active_active': True}, {'dnsdisc': 'restbase-async', 'active_active': True}], 'aliases': ['restbase']}, 'schema': {'description': 'Event Schema HTTP service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.43'}, 'eqiad': {'default': '10.2.2.43'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'eventschemas', 'service': 'eventschemas'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/repositories/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'probes': [{'type': 'http', 'path': '/repositories/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'schema', 'active_active': True}]}, 'search': {'description': 'Elasticsearch search for MediaWiki', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 9200, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'search-https': {'description': 'Elasticsearch search for MediaWiki - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 9243, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'search', 'active_active': True}]}, 'search-omega-https': {'description': 'Elasticsearch search for MediaWiki (Omega cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-omega', 'active_active': True}]}, 'search-psi-https': {'description': 'Elasticsearch search for MediaWiki (Psi cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9643, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-psi', 'active_active': True}]}, 'sessionstore': {'description': 'Session store, sessionstore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.29'}, 'eqiad': {'default': '10.2.2.29'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8081, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sessionstore', 'active_active': True}]}, 'shellbox': {'description': 'Shellbox, shellbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.51'}, 'eqiad': {'default': '10.2.2.51'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4008, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox', 'active_active': True}]}, 'shellbox-constraints': {'description': 'Shellbox Constraints, shellbox-constraints.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.61'}, 'eqiad': {'default': '10.2.2.61'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4010, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-constraints', 'active_active': True}]}, 'shellbox-media': {'description': 'Shellbox Media, shellbox-media.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.64'}, 'eqiad': {'default': '10.2.2.64'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4015, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-media', 'active_active': True}]}, 'shellbox-syntaxhighlight': {'description': 'Shellbox SyntaxHighlight, shellbox-syntaxhighlight.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.65'}, 'eqiad': {'default': '10.2.2.65'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4014, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-syntaxhighlight', 'active_active': True}]}, 'shellbox-timeline': {'description': 'Shellbox Timeline, shellbox-timeline.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.66'}, 'eqiad': {'default': '10.2.2.66'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4012, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-timeline', 'active_active': True}]}, 'shellbox-video': {'description': 'Shellbox Video, shellbox-video.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.68'}, 'eqiad': {'default': '10.2.2.68'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4080, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-video', 'active_active': True}]}, 'sophroid': {'description': 'Service mesh envoy control plane, sophroid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.41'}, 'eqiad': {'default': '10.2.2.41'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4252, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sophroid', 'active_active': False}]}, 'swift': {'description': 'Swift media storage', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'swift-fe'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 80, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'aliases': ['ms-fe']}, 'swift-https': {'description': 'Swift media storage', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/monitoring/frontend'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'swift', 'active_active': True}], 'aliases': ['ms-fe'], 'exclude_from_switchover': True}, 'tegola-vector-tiles': {'description': 'Tegola Vector Tiles, tegola-vector-tiles.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.60'}, 'eqiad': {'default': '10.2.2.60'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/capabilities'}], 'port': 4105, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'tegola-vector-tiles', 'active_active': True}]}, 'thanos-query': {'description': 'Prometheus long-term storage, query service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.53'}, 'eqiad': {'default': '10.2.2.53'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-query'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/-/ready'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-query', 'active_active': True}], 'role': 'titan'}, 'thanos-web': {'description': 'Prometheus long-term storage, web interface', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.77'}, 'eqiad': {'default': '10.2.2.77'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-web'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/-/ready', 'host': 'thanos-query.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-web', 'active_active': True}], 'role': 'titan', 'public_endpoint': 'thanos'}, 'thanos-swift': {'description': 'Prometheus long-term storage, object storage (swift) access', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.54'}, 'eqiad': {'default': '10.2.2.54'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-swift'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-swift.discovery.wmnet/healthcheck']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'host': 'thanos-swift.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-swift', 'active_active': True}], 'role': 'thanos::frontend'}, 'termbox': {'description': 'Wikidata Termbox SSR termbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.46'}, 'eqiad': {'default': '10.2.2.46'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4004, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'termbox', 'active_active': True}]}, 'text': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (Varnish)', 'encryption': False, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'text-https': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (nginx)', 'encryption': True, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'thumbor': {'description': 'Thumbor image scaling', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.24'}, 'eqiad': {'default': '10.2.2.24'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'timeout': '15s'}], 'port': 8800, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'toolhub': {'description': 'Toolhub, toolhub.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.62'}, 'eqiad': {'default': '10.2.2.62'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4011, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'toolhub', 'active_active': False}], 'exclude_from_switchover': True}, 'upload': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': False, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'upload-https': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://upload.wikimedia.org/varnish-fe-hc-5ebea9']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'wcqs': {'description': 'Wikimedia Commons Query Service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.67'}, 'eqiad': {'default': '10.2.2.67'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wcqs', 'service': 'wcqs'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wcqs', 'active_active': True}]}, 'wdqs-internal-main': {'description': 'Wikidata Query Service internal - main', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.93'}, 'codfw': {'default': '10.2.1.93'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-main', 'active_active': True}]}, 'wdqs-internal-scholarly': {'description': 'Wikidata Query Service internal - scholarly', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.94'}, 'codfw': {'default': '10.2.1.94'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-scholarly', 'active_active': True}]}, 'wdqs-main': {'description': 'Wikidata Query Service - main', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.33'}, 'eqiad': {'default': '10.2.2.33'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-main', 'active_active': True}]}, 'wdqs-scholarly': {'description': 'Wikidata Query Service - scholarly', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.36'}, 'eqiad': {'default': '10.2.2.36'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-scholarly', 'active_active': True}]}, 'wikifeeds': {'description': 'A node webservice supporting featured wiki content feeds. wikifeeds.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.47'}, 'eqiad': {'default': '10.2.2.47'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4101, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wikifeeds', 'active_active': True}]}, 'zotero': {'description': 'Zotero, zotero.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.16'}, 'eqiad': {'default': '10.2.2.16'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'post_json': '[{\"itemType\":\"journalArticle\"}]', 'path': '/export?format=wikipedia'}], 'port': 4969, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'zotero', 'active_active': True}]}, 'helm-charts': {'description': 'helm-charts', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.159'}, 'eqiad': {'default': '10.64.48.26'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health', 'must_contain_regexp': '\"healthy\".*:.*true'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'helm-charts', 'active_active': True}], 'exclude_from_switchover': True}, 'releases': {'description': 'MediaWiki, Parsoid, MobileApps and other Wikimedia release files (https://releases.wikimedia.org)', 'encryption': True, 'ip': {'codfw': {'default': '10.192.16.72'}, 'eqiad': {'default': '10.64.48.34'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/mediawiki', 'host': 'releases.wikimedia.org', 'must_contain_regexp': 'MediaWiki'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'releases', 'active_active': True}], 'exclude_from_switchover': True}, 'api-gateway': {'description': 'API gateway, api-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.55'}, 'eqiad': {'default': '10.2.2.55'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 8087, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'api-gateway', 'active_active': True}]}, 'linkrecommendation': {'description': 'Link Recommendation, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4005, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}]}, 'linkrecommendation-external': {'description': 'Link Recommendation, public release, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4006, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}], 'aliases': ['linkrecommendation']}, 'puppetdb-api': {'description': 'Puppetdb api microservice', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.75'}, 'eqiad': {'default': '10.64.16.87'}}, 'page': False, 'probes': [{'type': 'http'}], 'sites': ['eqiad', 'codfw'], 'port': 8090, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetdb-api', 'active_active': True}], 'exclude_from_switchover': True}, 'alertmanager': {'encryption': True, 'role': 'alerting_host', 'public_endpoint': 'alerts', 'port': 443, 'description': 'Alertmanager service', 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.42'}, 'eqiad': {'default': '208.80.154.78'}}, 'state': 'production'}, 'graphite': {'encryption': True, 'role': 'graphite::production', 'public_endpoint': 'graphite', 'port': 443, 'description': 'Graphite metrics platform', 'page': False, 'probes': [{'type': 'http', 'host': 'graphite.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.16.37'}, 'eqiad': {'default': '10.64.16.81'}}, 'state': 'production'}, 'grafana': {'encryption': True, 'role': 'grafana', 'public_endpoint': 'grafana', 'public_aliases': ['grafana-rw', 'grafana-next', 'grafana-next-rw'], 'port': 443, 'description': 'Graphing and dashboarding', 'page': False, 'probes': [{'type': 'http', 'host': 'grafana.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.0.160'}, 'eqiad': {'default': '10.64.0.119'}}, 'state': 'production'}, 'librenms': {'encryption': True, 'role': 'netmon', 'public_endpoint': 'librenms', 'port': 443, 'description': 'Network device observability', 'page': False, 'probes': [{'type': 'http', 'host': 'librenms.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.9'}, 'eqiad': {'default': '208.80.154.141'}}, 'state': 'production'}, 'inference': {'description': 'Inference ML service', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.63'}, 'codfw': {'default': '10.2.1.63'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'valid_status_codes': [404]}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'inference', 'active_active': True}]}, 'inference-staging': {'description': 'Inference ML service (staging)', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.58'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'apt': {'description': 'Internal apt package repository', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.11'}, 'eqiad': {'default': '208.80.154.10'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'apt.wikimedia.org', 'path': '/wikimedia/'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'discovery': [{'dnsdisc': 'apt', 'active_active': False}], 'exclude_from_switchover': True}, 'puppetboard': {'description': 'Internal production Puppetboard interface', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.8'}, 'eqiad': {'default': '10.64.32.38'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'puppetboard.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetboard', 'active_active': True}]}, 'data-gateway': {'description': 'data gateway service, data-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'data-gateway-staging': {'description': 'data gateway staging service, data-gateway.k8s-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'data-gateway.k8s-staging.discovery.wmnet', 'path': '/healthz'}], 'sites': ['eqiad'], 'state': 'production'}, 'developer-portal': {'description': 'Static documentation site, developer-portal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'netbox': {'description': 'Netbox Frontend', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.54'}, 'eqiad': {'default': '10.64.0.103'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'netbox.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'netbox', 'active_active': False}], 'exclude_from_switchover': True}, 'logs-api': {'description': 'API access to opensearch for logs', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.79'}, 'eqiad': {'default': '10.2.2.79'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'logs-api'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logs-api.svc.eqiad.wmnet']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'logs-api.svc.eqiad.wmnet'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'commons-impact-analytics': {'description': 'commons-impact-analytics AQS2 service, commons-impact-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'device-analytics': {'description': 'device-analytics AQS2 service, device-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.80'}, 'eqiad': {'default': '10.2.2.80'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4972, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'device-analytics', 'active_active': True}]}, 'geo-analytics': {'description': 'geo-analytics AQS2 service, geo-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'media-analytics': {'description': 'media-analytics AQS2 service, media-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'page-analytics': {'description': 'page-analytics AQS2 service, page-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'editor-analytics': {'description': 'editor-analytics AQS2 service, editor-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'edit-analytics': {'description': 'edit-analytics AQS2 service, edit-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'pki': {'description': 'PKI service', 'encryption': False, 'ip': {'codfw': {'default': '10.192.16.172'}, 'eqiad': {'default': '10.64.173.2'}}, 'probes': [{'type': 'http', 'path': '/metrics', 'must_contain_regexp': 'signer=\"discovery2026\"'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'pki', 'active_active': True}]}, 'rest-gateway': {'description': 'REST API gateway, rest-gateway.discovery.wmnet. See REST Gateway page on wikitech for URLs proxied', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.82'}, 'eqiad': {'default': '10.2.2.82'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4113, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'rest-gateway', 'active_active': False}, {'dnsdisc': 'rest-gateway-ro', 'active_active': True}]}, 'machinetranslation': {'description': 'MinT, machinetranslation service backend. Use by cxserver. machinetranslation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions': {'description': 'Wikifunctions orchestrator, wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator-staging': {'description': 'Wikifunctions Python evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator': {'description': 'Wikifunctions Python evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-javascript-evaluator-staging': {'description': 'Wikifunctions JS evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad'], 'state': 'production'}, 'wikifunctions-javascript-evaluator': {'description': 'Wikifunctions JS evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'config-master': {'description': 'config-master.wikimedia.org service for browsing configuration data from etcd.', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.15'}, 'eqiad': {'default': '10.64.0.110'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'config-master', 'active_active': True}]}, 'ipoid': {'description': 'iPoid IP address reputation service ipoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'superset-next': {'description': 'Staging superset service, superset-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'superset': {'description': 'Production superset service, superset.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'test-kitchen': {'description': 'Production test-kitchen service, test-kitchen.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'test-kitchen-next': {'description': 'Staging test-kitchen service, test-kitchen-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'chart-renderer': {'description': 'Stateless microservice that renders charts as SVGs with Apache eCharts, used by https://www.mediawiki.org/wiki/Extension:Chart', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': True, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'blunderbuss': {'description': 'HDFS synchronizer service, see T371994', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'opensearch-test': {'description': 'opensearch on kubernetes test, see T362105', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'opensearch-ipoid': {'description': 'ipoid on opensearch, see T357753', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-semantic-search': {'description': 'semantic search for wikis, see T413969', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-ttmserver-test': {'description': 'Translatewiki opensearch test server, see T424248', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'service_setup'}, 'opensearch-toolhub-test': {'description': 'Toolhub opensearch test server, see T426073', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'service_setup'}, 'analytics-web': {'encryption': True, 'role': 'analytics_cluster::webserver', 'public_endpoint': 'analytics', 'port': 8443, 'description': 'Dashboards and Data Downloads for Wikimedia Projects', 'page': False, 'probes': [{'type': 'http', 'host': 'analytics.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad'], 'ip': {'eqiad': {'default': '10.64.21.14'}}, 'state': 'service_setup'}, 'codesearch': {'description': 'UI to search through Wikimedia code repositories', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'codesearch.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'zarcillo': {'description': 'DB automation', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'zarcillo.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'os-reports': {'description': 'OS Reports', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'os-reports.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'wmf-navigator': {'description': 'WMF Navigator', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'wmf-navigator.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'gerrit-https': {'description': 'Gerrit Code Review - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'gerrit.wikimedia.org', 'path': '/r/'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'gerrit-ssh': {'description': 'Gerrit Code Review - SSH interface', 'encryption': False, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'tcp-proxy', 'service': 'gerrit'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 29418, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'dumps-https': {'description': 'Dump file distribution - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-https'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://dumps.wikimedia.org']}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'http', 'host': 'dumps.wikimedia.org', 'path': '/'}], 'port': 443, 'sites': ['eqiad'], 'state': 'production'}, 'dumps-rsync': {'description': 'Dump file distribution - rsync interface', 'encryption': False, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-rsync'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'tcp-notls'}], 'port': 873, 'sites': ['eqiad'], 'state': 'production'}, 'recommendation-api-ng': {'description': 'Liftwing recommendation-api-ng service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 31443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}}\n"}, {"resource": "File[/etc/helmfile-defaults/general-ml-serve-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-serve-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-serve-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "Class[Profile::Kubernetes::Deployment_server::Global_config]", "parameters": "--- Class[Profile::Kubernetes::Deployment_server::Global_config].orig\n+++ Class[Profile::Kubernetes::Deployment_server::Global_config]\n\n@@\n-    service_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n+    service_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ttmserver-test', 'port': 6046, 'service': 'opensearch-ttmserver-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ttmserver-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-toolhub-test', 'port': 6047, 'service': 'opensearch-toolhub-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-toolhub-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n"}, {"resource": "File[/etc/helmfile-defaults/sophroid/service.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/service.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/service.yaml\n@@ -4237,6 +4237,22 @@\n     - codfw\n     - eqiad\n     state: service_setup\n+  opensearch-toolhub-test:\n+    description: Toolhub opensearch test server, see T426073\n+    encryption: true\n+    ip:\n+      eqiad:\n+        default: 10.2.2.91\n+      codfw:\n+        default: 10.2.1.91\n+    page: false\n+    probes:\n+    - type: http\n+    port: 30443\n+    sites:\n+    - codfw\n+    - eqiad\n+    state: service_setup\n   analytics-web:\n     encryption: true\n     role: analytics_cluster::webserver"}, {"resource": "File[/etc/helmfile-defaults/general-dse-k8s-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-dse-k8s-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-dse-k8s-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-ml-serve-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-serve-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-serve-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-staging-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-eqiad.yaml\n@@ -1960,6 +1960,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-aux-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-staging-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-codfw.yaml\n@@ -1960,6 +1960,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "Class[Profile::Services_proxy::Envoy]", "parameters": "--- Class[Profile::Services_proxy::Envoy].orig\n+++ Class[Profile::Services_proxy::Envoy]\n\n@@\n-    all_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n+    all_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ttmserver-test', 'port': 6046, 'service': 'opensearch-ttmserver-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ttmserver-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-toolhub-test', 'port': 6047, 'service': 'opensearch-toolhub-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-toolhub-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n"}, {"resource": "File[/etc/helmfile-defaults/general-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}], "perc_changed": "0.09%"}, "core": {"total": 17173, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/etc/helmfile-defaults/general-ml-staging-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-staging-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-staging-codfw.yaml\n@@ -1961,6 +1961,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/sophroid/service.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/service.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/service.yaml\n@@ -4237,6 +4237,22 @@\n     - codfw\n     - eqiad\n     state: service_setup\n+  opensearch-toolhub-test:\n+    description: Toolhub opensearch test server, see T426073\n+    encryption: true\n+    ip:\n+      eqiad:\n+        default: 10.2.2.91\n+      codfw:\n+        default: 10.2.1.91\n+    page: false\n+    probes:\n+    - type: http\n+    port: 30443\n+    sites:\n+    - codfw\n+    - eqiad\n+    state: service_setup\n   analytics-web:\n     encryption: true\n     role: analytics_cluster::webserver"}, {"resource": "File[/etc/helmfile-defaults/sophroid/listeners.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/listeners.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/listeners.yaml\n@@ -556,6 +556,24 @@\n   keepalive: 50s\n   sets_sni: true\n   upstream: opensearch-ipoid.discovery.wmnet\n+  retry:\n+    retry_on: gateway-error\n+- name: opensearch-ttmserver-test\n+  port: 6046\n+  service: opensearch-ttmserver-test\n+  timeout: 50s\n+  keepalive: 50s\n+  sets_sni: true\n+  upstream: opensearch-ttmserver-test.discovery.wmnet\n+  retry:\n+    retry_on: gateway-error\n+- name: opensearch-toolhub-test\n+  port: 6047\n+  service: opensearch-toolhub-test\n+  timeout: 50s\n+  keepalive: 50s\n+  sets_sni: true\n+  upstream: opensearch-toolhub-test.discovery.wmnet\n   retry:\n     retry_on: gateway-error\n profile::services_proxy::envoy::enabled_listeners:"}, {"resource": "File[/etc/helmfile-defaults/general-aux-k8s-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-dse-k8s-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-dse-k8s-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-dse-k8s-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-ml-serve-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-serve-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-serve-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-staging-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-eqiad.yaml\n@@ -1960,6 +1960,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-aux-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-dse-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-dse-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-dse-k8s-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-staging-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-codfw.yaml\n@@ -1960,6 +1960,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-ml-serve-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-serve-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-serve-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}], "perc_changed": "0.08%"}, "main": {"total": 17173, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/etc/helmfile-defaults/general-ml-staging-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-staging-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-staging-codfw.yaml\n@@ -1961,6 +1961,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "Class[Profile::Kubernetes::Deployment_server::Global_config]", "parameters": "--- Class[Profile::Kubernetes::Deployment_server::Global_config].orig\n+++ Class[Profile::Kubernetes::Deployment_server::Global_config]\n\n@@\n-    service_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n+    service_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ttmserver-test', 'port': 6046, 'service': 'opensearch-ttmserver-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ttmserver-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-toolhub-test', 'port': 6047, 'service': 'opensearch-toolhub-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-toolhub-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n"}, {"resource": "File[/etc/helmfile-defaults/sophroid/service.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/service.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/service.yaml\n@@ -4237,6 +4237,22 @@\n     - codfw\n     - eqiad\n     state: service_setup\n+  opensearch-toolhub-test:\n+    description: Toolhub opensearch test server, see T426073\n+    encryption: true\n+    ip:\n+      eqiad:\n+        default: 10.2.2.91\n+      codfw:\n+        default: 10.2.1.91\n+    page: false\n+    probes:\n+    - type: http\n+    port: 30443\n+    sites:\n+    - codfw\n+    - eqiad\n+    state: service_setup\n   analytics-web:\n     encryption: true\n     role: analytics_cluster::webserver"}, {"resource": "File[/etc/helmfile-defaults/sophroid/listeners.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/listeners.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/listeners.yaml\n@@ -556,6 +556,24 @@\n   keepalive: 50s\n   sets_sni: true\n   upstream: opensearch-ipoid.discovery.wmnet\n+  retry:\n+    retry_on: gateway-error\n+- name: opensearch-ttmserver-test\n+  port: 6046\n+  service: opensearch-ttmserver-test\n+  timeout: 50s\n+  keepalive: 50s\n+  sets_sni: true\n+  upstream: opensearch-ttmserver-test.discovery.wmnet\n+  retry:\n+    retry_on: gateway-error\n+- name: opensearch-toolhub-test\n+  port: 6047\n+  service: opensearch-toolhub-test\n+  timeout: 50s\n+  keepalive: 50s\n+  sets_sni: true\n+  upstream: opensearch-toolhub-test.discovery.wmnet\n   retry:\n     retry_on: gateway-error\n profile::services_proxy::envoy::enabled_listeners:"}, {"resource": "File[/etc/helmfile-defaults/general-aux-k8s-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-dse-k8s-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-dse-k8s-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-dse-k8s-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-ml-serve-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-serve-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-serve-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-staging-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-eqiad.yaml\n@@ -1960,6 +1960,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-aux-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-dse-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-dse-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-dse-k8s-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-staging-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-codfw.yaml\n@@ -1960,6 +1960,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "Class[Profile::Kubernetes::Deployment_server::Sophroid_config]", "parameters": "--- Class[Profile::Kubernetes::Deployment_server::Sophroid_config].orig\n+++ Class[Profile::Kubernetes::Deployment_server::Sophroid_config]\n\n@@\n-    listeners       => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n+    listeners       => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ttmserver-test', 'port': 6046, 'service': 'opensearch-ttmserver-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ttmserver-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-toolhub-test', 'port': 6047, 'service': 'opensearch-toolhub-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-toolhub-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n@@\n-    service_catalog => {'apertium': {'description': 'Machine Translation service. apertium.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.11'}, 'eqiad': {'default': '10.2.2.11'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/listPairs'}], 'port': 4737, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'apertium', 'active_active': True}]}, 'apus': {'description': 'Ceph-backed async-replicated S3 cluster', 'discovery': [{'dnsdisc': 'apus', 'active_active': True}], 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.10'}, 'eqiad': {'default': '10.2.2.10'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'apus', 'service': 'apus'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://apus.discovery.wmnet/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'port': 443, 'probes': [{'type': 'http', 'path': '/', 'host': 'apus.discovery.wmnet'}], 'sites': ['codfw', 'eqiad'], 'state': 'production', 'exclude_from_switchover': True}, 'aux-k8s-ctrl': {'description': 'Kubernetes API service for aux cluster', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.74'}, 'codfw': {'default': '10.2.1.74'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'k8s-ingress-aux': {'description': 'istio-ingresscontroller on aux-k8s. k8s-ingress-aux-(ro|rw).discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'k8s-ingress-aux-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-aux-rw', 'active_active': False}]}, 'jaeger-collector-http': {'description': 'Jaeger tracing, collector (HTTP)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-collector-grpc': {'description': 'Jaeger tracing, collector (GRPC)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-query': {'description': 'Jaeger tracing, query UI', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'citoid': {'description': 'Citation lookup service, citoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.19'}, 'eqiad': {'default': '10.2.2.19'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4003, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'citoid', 'active_active': True}]}, 'cloudelastic-chi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-chi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9643, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8643, 'sites': ['eqiad'], 'state': 'production'}, 'cxserver': {'description': 'Content Translation service, cxserver.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.18'}, 'eqiad': {'default': '10.2.2.18'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4002, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'cxserver', 'active_active': True}]}, 'datahubsearch': {'description': 'Search cluster serving DataHub', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.71'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'datahubsearch', 'service': 'opensearch'}, 'depool_threshold': 0.5, 'enabled': False, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http'}], 'port': 9200, 'sites': ['eqiad'], 'state': 'production', 'page': False}, 'docker-registry': {'description': 'docker registry service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.44'}, 'eqiad': {'default': '10.2.2.44'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'docker-registry', 'service': 'docker-registry'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/v2/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'docker-registry', 'active_active': False}], 'exclude_from_switchover': True}, 'druid-public-broker': {'description': 'Broker query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.38'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-broker'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8082, 'sites': ['eqiad'], 'state': 'production'}, 'druid-public-coordinator': {'description': 'Coordinator query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.15'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-coordinator'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8081, 'sites': ['eqiad'], 'state': 'production'}, 'echostore': {'description': 'Echo store, echostore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.49'}, 'eqiad': {'default': '10.2.2.49'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8082, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'echostore', 'active_active': True}]}, 'eventgate-analytics': {'description': 'EventGate Analytics endpoint, TLS enabled. https://eventgate-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.42'}, 'eqiad': {'default': '10.2.2.42'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4592, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics', 'active_active': True}]}, 'eventgate-logging-external': {'description': 'EventGate logging endpoint, eventgate-logging-external.discovery.wmnet and intake-logging.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.50'}, 'eqiad': {'default': '10.2.2.50'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4392, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-logging-external', 'active_active': True}]}, 'eventgate-analytics-external': {'description': 'EventGate analytics external endpoint, eventgate-analytics-external.discovery.wmnet and intake-analytics.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.52'}, 'eqiad': {'default': '10.2.2.52'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4692, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics-external', 'active_active': True}]}, 'eventgate-main': {'description': 'EventGate main endpoint, TLS enabled, https://eventgate-main.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.45'}, 'eqiad': {'default': '10.2.2.45'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4492, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-main', 'active_active': True}]}, 'eventstreams': {'description': 'Public streams of events via HTTP + SSE, backed by Kafka. eventstreams.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.34'}, 'eqiad': {'default': '10.2.2.34'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4892, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams', 'active_active': True}]}, 'eventstreams-internal': {'description': 'Internal streams of events via HTTP + SSE, backed by Kafka. eventstreams-internal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.35'}, 'eqiad': {'default': '10.2.2.35'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4992, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams-internal', 'active_active': True}]}, 'k8s-ingress-staging': {'description': 'istio-ingresscontroller on kubernetes staging. k8s-ingress-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-wikikube': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-wikikube.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': True, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-wikikube-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-wikikube-rw', 'active_active': False}]}, 'k8s-ingress-ml-staging': {'description': 'istio-ingresscontroller on kubernetes ML staging. k8s-ingress-ml-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.83'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-ml-serve': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-ml-serve.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-serve', 'active_active': True}]}, 'k8s-ingress-dse': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-dse.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-dse', 'active_active': False}, {'dnsdisc': 'k8s-ingress-dse-aa', 'active_active': True}], 'exclude_from_switchover': True}, 'kartotherian-k8s-ssl': {'description': 'Kartotherian, kartotherian.discovery.wmnet - HTTPS on K8s', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.13'}, 'eqiad': {'default': '10.2.2.13'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/osm-intl/6/23/24.png'}], 'port': 6543, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'kartotherian', 'active_active': True}]}, 'kibana7': {'description': 'Kibana v7 env - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.48'}, 'eqiad': {'default': '10.2.2.48'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'kibana7'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logstash.wikimedia.org/api/status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/api/status', 'host': 'logstash.wikimedia.org'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'logstash', 'active_active': False}], 'role': 'opensearch::collector', 'public_endpoint': 'logstash', 'exclude_from_switchover': True}, 'kubemaster': {'description': 'Kubernetes master service. kubemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.8'}, 'eqiad': {'default': '10.2.2.8'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::master_stacked', 'state': 'production'}, 'kubestagemaster': {'description': 'Kubernetes staging master service. kubestagemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.86'}, 'eqiad': {'default': '10.2.2.86'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubemaster'}, 'depool_threshold': 0.2, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::staging::master_stacked', 'state': 'production'}, 'labweb-ssl': {'description': 'lvs for cloudweb services: horizon, striker - HTTPS', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.40'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'cloudweb', 'service': 'cloudweb-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 200, 'url': ['https://toolsadmin.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http', 'host': 'toolsadmin.wikimedia.org'}], 'page': True, 'team': 'wmcs', 'port': 7443, 'sites': ['eqiad'], 'state': 'production', 'aliases': ['labweb']}, 'ldap-ro': {'description': 'Ldap for cloud and developer accounts', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 389, 'probes': [{'type': 'tcp'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'ldap-ro-ssl': {'description': 'Ldap for cloud and developer accounts (ssl access)', 'encryption': True, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 636, 'probes': [{'type': 'tcp', 'host': 'ldap-ro.eqiad.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'mathoid': {'description': 'Mathematical rendering service, mathoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.20'}, 'eqiad': {'default': '10.2.2.20'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4001, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mathoid', 'active_active': True}]}, 'miscweb': {'description': 'Misc static sites, miscweb.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'static-bugzilla.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'dse-k8s-ctrl': {'description': 'Kubernetes master service for DSE cluster. dse-k8s-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.73'}, 'codfw': {'default': '10.2.1.73'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-ctrl': {'description': 'Kubernetes master service for ML cluster. ml-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.39'}, 'eqiad': {'default': '10.2.2.39'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-staging-ctrl': {'description': 'Kubernetes master service for ML staging cluster. ml-staging-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.72'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'mobileapps': {'description': 'A service for use by mobile apps. Provides DOM manipulation, aggregation, JSON flattening. mobileapps.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.14'}, 'eqiad': {'default': '10.2.2.14'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4102, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mobileapps', 'active_active': True}]}, 'mwdebug': {'description': 'mwdebug, mwdebug.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.59'}, 'eqiad': {'default': '10.2.2.59'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4444, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug', 'active_active': True}]}, 'mwdebug-next': {'description': 'mwdebug-next, mwdebug-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.9'}, 'eqiad': {'default': '10.2.2.9'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4453, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug-next', 'active_active': True}]}, 'mw-web': {'description': 'mw-web, mw-web.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.75'}, 'eqiad': {'default': '10.2.2.75'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4450, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web', 'active_active': False}, {'dnsdisc': 'mw-web-ro', 'active_active': True}]}, 'mw-web-next': {'description': 'mw-web-next, mw-web-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.6'}, 'eqiad': {'default': '10.2.2.6'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4454, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web-next', 'active_active': False}, {'dnsdisc': 'mw-web-next-ro', 'active_active': True}]}, 'mw-api-ext': {'description': 'mw-api-ext, mw-api-ext.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.76'}, 'eqiad': {'default': '10.2.2.76'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4447, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext', 'active_active': False}, {'dnsdisc': 'mw-api-ext-ro', 'active_active': True}]}, 'mw-api-ext-next': {'description': 'mw-api-ext-next, mw-api-ext-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.7'}, 'eqiad': {'default': '10.2.2.7'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4455, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext-next', 'active_active': False}, {'dnsdisc': 'mw-api-ext-next-ro', 'active_active': True}]}, 'mw-api-int': {'description': 'mw-api-int, mw-api-int.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.81'}, 'eqiad': {'default': '10.2.2.81'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4446, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-int', 'active_active': False}, {'dnsdisc': 'mw-api-int-ro', 'active_active': True}]}, 'mw-misc': {'description': 'Miscellaneous mediawiki installs, mw-misc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'mw-jobrunner': {'description': 'mw-jobrunner, mw-jobrunner.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.90'}, 'eqiad': {'default': '10.2.2.90'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'jobrunner', 'page': False, 'probes': [{'type': 'http', 'path': '/w/health-check.php', 'host': 'mw-jobrunner.discovery.wmnet'}], 'port': 4448, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-jobrunner', 'active_active': False}]}, 'mw-wikifunctions': {'description': 'mw-wikifunctions, mw-wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'port': 30443, 'httpbb_dir': 'wikifunctions', 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'www.wikifunctions.org'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'ncredir': {'description': 'Non canonical domains redirect service', 'encryption': False, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['http://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'ncredir-https': {'description': 'Non canonical redirect service', 'encryption': True, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'prometheus': {'description': 'Prometheus monitoring', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://prometheus/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 80, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'prometheus-https': {'description': 'prometheus monitoring https', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 302, 'url': ['https://prometheus-eqiad.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'prometheus-eqiad.wikimedia.org'}], 'port': 443, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'public_endpoint': 'prometheus-eqiad', 'public_aliases': ['prometheus-codfw']}, 'proton': {'description': 'Proton PDF rendering service. proton.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.21'}, 'eqiad': {'default': '10.2.2.21'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4030, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'proton', 'active_active': True}]}, 'push-notifications': {'description': 'Push-notifications service push-notifications.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.56'}, 'eqiad': {'default': '10.2.2.56'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 4104, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'push-notifications', 'active_active': True}]}, 'recommendation-api': {'description': 'Service for recommendation API. recommendation-api.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.37'}, 'eqiad': {'default': '10.2.2.37'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 4632, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'recommendation-api', 'active_active': True}]}, 'restbase-backend': {'description': 'RESTBase backend, restbase.discovery.wmnet', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-backend'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 7233, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'restbase-https': {'description': 'RESTBase, restbase.discovery.wmnet - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}, {'type': 'swagger'}], 'port': 7443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'restbase', 'active_active': True}, {'dnsdisc': 'restbase-async', 'active_active': True}], 'aliases': ['restbase']}, 'schema': {'description': 'Event Schema HTTP service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.43'}, 'eqiad': {'default': '10.2.2.43'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'eventschemas', 'service': 'eventschemas'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/repositories/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'probes': [{'type': 'http', 'path': '/repositories/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'schema', 'active_active': True}]}, 'search': {'description': 'Elasticsearch search for MediaWiki', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 9200, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'search-https': {'description': 'Elasticsearch search for MediaWiki - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 9243, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'search', 'active_active': True}]}, 'search-omega-https': {'description': 'Elasticsearch search for MediaWiki (Omega cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-omega', 'active_active': True}]}, 'search-psi-https': {'description': 'Elasticsearch search for MediaWiki (Psi cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9643, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-psi', 'active_active': True}]}, 'sessionstore': {'description': 'Session store, sessionstore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.29'}, 'eqiad': {'default': '10.2.2.29'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8081, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sessionstore', 'active_active': True}]}, 'shellbox': {'description': 'Shellbox, shellbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.51'}, 'eqiad': {'default': '10.2.2.51'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4008, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox', 'active_active': True}]}, 'shellbox-constraints': {'description': 'Shellbox Constraints, shellbox-constraints.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.61'}, 'eqiad': {'default': '10.2.2.61'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4010, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-constraints', 'active_active': True}]}, 'shellbox-media': {'description': 'Shellbox Media, shellbox-media.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.64'}, 'eqiad': {'default': '10.2.2.64'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4015, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-media', 'active_active': True}]}, 'shellbox-syntaxhighlight': {'description': 'Shellbox SyntaxHighlight, shellbox-syntaxhighlight.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.65'}, 'eqiad': {'default': '10.2.2.65'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4014, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-syntaxhighlight', 'active_active': True}]}, 'shellbox-timeline': {'description': 'Shellbox Timeline, shellbox-timeline.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.66'}, 'eqiad': {'default': '10.2.2.66'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4012, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-timeline', 'active_active': True}]}, 'shellbox-video': {'description': 'Shellbox Video, shellbox-video.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.68'}, 'eqiad': {'default': '10.2.2.68'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4080, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-video', 'active_active': True}]}, 'sophroid': {'description': 'Service mesh envoy control plane, sophroid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.41'}, 'eqiad': {'default': '10.2.2.41'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4252, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sophroid', 'active_active': False}]}, 'swift': {'description': 'Swift media storage', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'swift-fe'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 80, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'aliases': ['ms-fe']}, 'swift-https': {'description': 'Swift media storage', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/monitoring/frontend'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'swift', 'active_active': True}], 'aliases': ['ms-fe'], 'exclude_from_switchover': True}, 'tegola-vector-tiles': {'description': 'Tegola Vector Tiles, tegola-vector-tiles.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.60'}, 'eqiad': {'default': '10.2.2.60'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/capabilities'}], 'port': 4105, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'tegola-vector-tiles', 'active_active': True}]}, 'thanos-query': {'description': 'Prometheus long-term storage, query service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.53'}, 'eqiad': {'default': '10.2.2.53'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-query'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/-/ready'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-query', 'active_active': True}], 'role': 'titan'}, 'thanos-web': {'description': 'Prometheus long-term storage, web interface', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.77'}, 'eqiad': {'default': '10.2.2.77'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-web'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/-/ready', 'host': 'thanos-query.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-web', 'active_active': True}], 'role': 'titan', 'public_endpoint': 'thanos'}, 'thanos-swift': {'description': 'Prometheus long-term storage, object storage (swift) access', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.54'}, 'eqiad': {'default': '10.2.2.54'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-swift'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-swift.discovery.wmnet/healthcheck']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'host': 'thanos-swift.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-swift', 'active_active': True}], 'role': 'thanos::frontend'}, 'termbox': {'description': 'Wikidata Termbox SSR termbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.46'}, 'eqiad': {'default': '10.2.2.46'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4004, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'termbox', 'active_active': True}]}, 'text': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (Varnish)', 'encryption': False, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'text-https': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (nginx)', 'encryption': True, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'thumbor': {'description': 'Thumbor image scaling', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.24'}, 'eqiad': {'default': '10.2.2.24'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'timeout': '15s'}], 'port': 8800, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'toolhub': {'description': 'Toolhub, toolhub.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.62'}, 'eqiad': {'default': '10.2.2.62'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4011, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'toolhub', 'active_active': False}], 'exclude_from_switchover': True}, 'upload': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': False, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'upload-https': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://upload.wikimedia.org/varnish-fe-hc-5ebea9']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'wcqs': {'description': 'Wikimedia Commons Query Service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.67'}, 'eqiad': {'default': '10.2.2.67'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wcqs', 'service': 'wcqs'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wcqs', 'active_active': True}]}, 'wdqs-internal-main': {'description': 'Wikidata Query Service internal - main', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.93'}, 'codfw': {'default': '10.2.1.93'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-main', 'active_active': True}]}, 'wdqs-internal-scholarly': {'description': 'Wikidata Query Service internal - scholarly', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.94'}, 'codfw': {'default': '10.2.1.94'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-scholarly', 'active_active': True}]}, 'wdqs-main': {'description': 'Wikidata Query Service - main', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.33'}, 'eqiad': {'default': '10.2.2.33'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-main', 'active_active': True}]}, 'wdqs-scholarly': {'description': 'Wikidata Query Service - scholarly', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.36'}, 'eqiad': {'default': '10.2.2.36'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-scholarly', 'active_active': True}]}, 'wikifeeds': {'description': 'A node webservice supporting featured wiki content feeds. wikifeeds.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.47'}, 'eqiad': {'default': '10.2.2.47'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4101, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wikifeeds', 'active_active': True}]}, 'zotero': {'description': 'Zotero, zotero.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.16'}, 'eqiad': {'default': '10.2.2.16'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'post_json': '[{\"itemType\":\"journalArticle\"}]', 'path': '/export?format=wikipedia'}], 'port': 4969, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'zotero', 'active_active': True}]}, 'helm-charts': {'description': 'helm-charts', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.159'}, 'eqiad': {'default': '10.64.48.26'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health', 'must_contain_regexp': '\"healthy\".*:.*true'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'helm-charts', 'active_active': True}], 'exclude_from_switchover': True}, 'releases': {'description': 'MediaWiki, Parsoid, MobileApps and other Wikimedia release files (https://releases.wikimedia.org)', 'encryption': True, 'ip': {'codfw': {'default': '10.192.16.72'}, 'eqiad': {'default': '10.64.48.34'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/mediawiki', 'host': 'releases.wikimedia.org', 'must_contain_regexp': 'MediaWiki'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'releases', 'active_active': True}], 'exclude_from_switchover': True}, 'api-gateway': {'description': 'API gateway, api-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.55'}, 'eqiad': {'default': '10.2.2.55'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 8087, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'api-gateway', 'active_active': True}]}, 'linkrecommendation': {'description': 'Link Recommendation, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4005, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}]}, 'linkrecommendation-external': {'description': 'Link Recommendation, public release, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4006, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}], 'aliases': ['linkrecommendation']}, 'puppetdb-api': {'description': 'Puppetdb api microservice', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.75'}, 'eqiad': {'default': '10.64.16.87'}}, 'page': False, 'probes': [{'type': 'http'}], 'sites': ['eqiad', 'codfw'], 'port': 8090, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetdb-api', 'active_active': True}], 'exclude_from_switchover': True}, 'alertmanager': {'encryption': True, 'role': 'alerting_host', 'public_endpoint': 'alerts', 'port': 443, 'description': 'Alertmanager service', 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.42'}, 'eqiad': {'default': '208.80.154.78'}}, 'state': 'production'}, 'graphite': {'encryption': True, 'role': 'graphite::production', 'public_endpoint': 'graphite', 'port': 443, 'description': 'Graphite metrics platform', 'page': False, 'probes': [{'type': 'http', 'host': 'graphite.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.16.37'}, 'eqiad': {'default': '10.64.16.81'}}, 'state': 'production'}, 'grafana': {'encryption': True, 'role': 'grafana', 'public_endpoint': 'grafana', 'public_aliases': ['grafana-rw', 'grafana-next', 'grafana-next-rw'], 'port': 443, 'description': 'Graphing and dashboarding', 'page': False, 'probes': [{'type': 'http', 'host': 'grafana.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.0.160'}, 'eqiad': {'default': '10.64.0.119'}}, 'state': 'production'}, 'librenms': {'encryption': True, 'role': 'netmon', 'public_endpoint': 'librenms', 'port': 443, 'description': 'Network device observability', 'page': False, 'probes': [{'type': 'http', 'host': 'librenms.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.9'}, 'eqiad': {'default': '208.80.154.141'}}, 'state': 'production'}, 'inference': {'description': 'Inference ML service', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.63'}, 'codfw': {'default': '10.2.1.63'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'valid_status_codes': [404]}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'inference', 'active_active': True}]}, 'inference-staging': {'description': 'Inference ML service (staging)', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.58'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'apt': {'description': 'Internal apt package repository', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.11'}, 'eqiad': {'default': '208.80.154.10'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'apt.wikimedia.org', 'path': '/wikimedia/'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'discovery': [{'dnsdisc': 'apt', 'active_active': False}], 'exclude_from_switchover': True}, 'puppetboard': {'description': 'Internal production Puppetboard interface', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.8'}, 'eqiad': {'default': '10.64.32.38'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'puppetboard.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetboard', 'active_active': True}]}, 'data-gateway': {'description': 'data gateway service, data-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'data-gateway-staging': {'description': 'data gateway staging service, data-gateway.k8s-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'data-gateway.k8s-staging.discovery.wmnet', 'path': '/healthz'}], 'sites': ['eqiad'], 'state': 'production'}, 'developer-portal': {'description': 'Static documentation site, developer-portal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'netbox': {'description': 'Netbox Frontend', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.54'}, 'eqiad': {'default': '10.64.0.103'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'netbox.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'netbox', 'active_active': False}], 'exclude_from_switchover': True}, 'logs-api': {'description': 'API access to opensearch for logs', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.79'}, 'eqiad': {'default': '10.2.2.79'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'logs-api'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logs-api.svc.eqiad.wmnet']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'logs-api.svc.eqiad.wmnet'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'commons-impact-analytics': {'description': 'commons-impact-analytics AQS2 service, commons-impact-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'device-analytics': {'description': 'device-analytics AQS2 service, device-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.80'}, 'eqiad': {'default': '10.2.2.80'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4972, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'device-analytics', 'active_active': True}]}, 'geo-analytics': {'description': 'geo-analytics AQS2 service, geo-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'media-analytics': {'description': 'media-analytics AQS2 service, media-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'page-analytics': {'description': 'page-analytics AQS2 service, page-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'editor-analytics': {'description': 'editor-analytics AQS2 service, editor-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'edit-analytics': {'description': 'edit-analytics AQS2 service, edit-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'pki': {'description': 'PKI service', 'encryption': False, 'ip': {'codfw': {'default': '10.192.16.172'}, 'eqiad': {'default': '10.64.173.2'}}, 'probes': [{'type': 'http', 'path': '/metrics', 'must_contain_regexp': 'signer=\"discovery2026\"'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'pki', 'active_active': True}]}, 'rest-gateway': {'description': 'REST API gateway, rest-gateway.discovery.wmnet. See REST Gateway page on wikitech for URLs proxied', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.82'}, 'eqiad': {'default': '10.2.2.82'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4113, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'rest-gateway', 'active_active': False}, {'dnsdisc': 'rest-gateway-ro', 'active_active': True}]}, 'machinetranslation': {'description': 'MinT, machinetranslation service backend. Use by cxserver. machinetranslation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions': {'description': 'Wikifunctions orchestrator, wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator-staging': {'description': 'Wikifunctions Python evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator': {'description': 'Wikifunctions Python evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-javascript-evaluator-staging': {'description': 'Wikifunctions JS evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad'], 'state': 'production'}, 'wikifunctions-javascript-evaluator': {'description': 'Wikifunctions JS evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'config-master': {'description': 'config-master.wikimedia.org service for browsing configuration data from etcd.', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.15'}, 'eqiad': {'default': '10.64.0.110'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'config-master', 'active_active': True}]}, 'ipoid': {'description': 'iPoid IP address reputation service ipoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'superset-next': {'description': 'Staging superset service, superset-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'superset': {'description': 'Production superset service, superset.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'test-kitchen': {'description': 'Production test-kitchen service, test-kitchen.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'test-kitchen-next': {'description': 'Staging test-kitchen service, test-kitchen-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'chart-renderer': {'description': 'Stateless microservice that renders charts as SVGs with Apache eCharts, used by https://www.mediawiki.org/wiki/Extension:Chart', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': True, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'blunderbuss': {'description': 'HDFS synchronizer service, see T371994', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'opensearch-test': {'description': 'opensearch on kubernetes test, see T362105', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'opensearch-ipoid': {'description': 'ipoid on opensearch, see T357753', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-semantic-search': {'description': 'semantic search for wikis, see T413969', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-ttmserver-test': {'description': 'Translatewiki opensearch test server, see T424248', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'service_setup'}, 'analytics-web': {'encryption': True, 'role': 'analytics_cluster::webserver', 'public_endpoint': 'analytics', 'port': 8443, 'description': 'Dashboards and Data Downloads for Wikimedia Projects', 'page': False, 'probes': [{'type': 'http', 'host': 'analytics.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad'], 'ip': {'eqiad': {'default': '10.64.21.14'}}, 'state': 'service_setup'}, 'codesearch': {'description': 'UI to search through Wikimedia code repositories', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'codesearch.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'zarcillo': {'description': 'DB automation', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'zarcillo.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'os-reports': {'description': 'OS Reports', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'os-reports.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'wmf-navigator': {'description': 'WMF Navigator', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'wmf-navigator.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'gerrit-https': {'description': 'Gerrit Code Review - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'gerrit.wikimedia.org', 'path': '/r/'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'gerrit-ssh': {'description': 'Gerrit Code Review - SSH interface', 'encryption': False, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'tcp-proxy', 'service': 'gerrit'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 29418, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'dumps-https': {'description': 'Dump file distribution - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-https'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://dumps.wikimedia.org']}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'http', 'host': 'dumps.wikimedia.org', 'path': '/'}], 'port': 443, 'sites': ['eqiad'], 'state': 'production'}, 'dumps-rsync': {'description': 'Dump file distribution - rsync interface', 'encryption': False, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-rsync'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'tcp-notls'}], 'port': 873, 'sites': ['eqiad'], 'state': 'production'}, 'recommendation-api-ng': {'description': 'Liftwing recommendation-api-ng service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 31443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}}\n+    service_catalog => {'apertium': {'description': 'Machine Translation service. apertium.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.11'}, 'eqiad': {'default': '10.2.2.11'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/listPairs'}], 'port': 4737, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'apertium', 'active_active': True}]}, 'apus': {'description': 'Ceph-backed async-replicated S3 cluster', 'discovery': [{'dnsdisc': 'apus', 'active_active': True}], 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.10'}, 'eqiad': {'default': '10.2.2.10'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'apus', 'service': 'apus'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://apus.discovery.wmnet/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'port': 443, 'probes': [{'type': 'http', 'path': '/', 'host': 'apus.discovery.wmnet'}], 'sites': ['codfw', 'eqiad'], 'state': 'production', 'exclude_from_switchover': True}, 'aux-k8s-ctrl': {'description': 'Kubernetes API service for aux cluster', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.74'}, 'codfw': {'default': '10.2.1.74'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'k8s-ingress-aux': {'description': 'istio-ingresscontroller on aux-k8s. k8s-ingress-aux-(ro|rw).discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'k8s-ingress-aux-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-aux-rw', 'active_active': False}]}, 'jaeger-collector-http': {'description': 'Jaeger tracing, collector (HTTP)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-collector-grpc': {'description': 'Jaeger tracing, collector (GRPC)', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'jaeger-query': {'description': 'Jaeger tracing, query UI', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'citoid': {'description': 'Citation lookup service, citoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.19'}, 'eqiad': {'default': '10.2.2.19'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4003, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'citoid', 'active_active': True}]}, 'cloudelastic-chi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-chi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Chi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-chi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8243, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-omega-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Omega Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-omega-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8443, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Prod MW AppServer Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 9643, 'sites': ['eqiad'], 'state': 'production'}, 'cloudelastic-psi-https-public': {'description': 'Elasticsearch prod replica for WMF Cloud (Psi Cluster) - Public Internet Port - HTTPS', 'encryption': True, 'ip': {'eqiad': {'cloudelasticlb': '208.80.154.241', 'cloudelasticlb6': '2620:0:861:ed1a::3:241'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cloudelastic', 'service': 'cloudelastic-psi-ssl-public'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad']}, 'port': 8643, 'sites': ['eqiad'], 'state': 'production'}, 'cxserver': {'description': 'Content Translation service, cxserver.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.18'}, 'eqiad': {'default': '10.2.2.18'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4002, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'cxserver', 'active_active': True}]}, 'datahubsearch': {'description': 'Search cluster serving DataHub', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.71'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'datahubsearch', 'service': 'opensearch'}, 'depool_threshold': 0.5, 'enabled': False, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http'}], 'port': 9200, 'sites': ['eqiad'], 'state': 'production', 'page': False}, 'docker-registry': {'description': 'docker registry service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.44'}, 'eqiad': {'default': '10.2.2.44'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'docker-registry', 'service': 'docker-registry'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/v2/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'docker-registry', 'active_active': False}], 'exclude_from_switchover': True}, 'druid-public-broker': {'description': 'Broker query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.38'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-broker'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8082, 'sites': ['eqiad'], 'state': 'production'}, 'druid-public-coordinator': {'description': 'Coordinator query service for the Druid Public Cluster', 'encryption': False, 'ip': {'eqiad': {'default': '10.2.2.15'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'druid-public', 'service': 'druid-public-coordinator'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/status']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'page': False, 'probes': [{'type': 'http', 'path': '/status'}], 'port': 8081, 'sites': ['eqiad'], 'state': 'production'}, 'echostore': {'description': 'Echo store, echostore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.49'}, 'eqiad': {'default': '10.2.2.49'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8082, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'echostore', 'active_active': True}]}, 'eventgate-analytics': {'description': 'EventGate Analytics endpoint, TLS enabled. https://eventgate-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.42'}, 'eqiad': {'default': '10.2.2.42'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4592, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics', 'active_active': True}]}, 'eventgate-logging-external': {'description': 'EventGate logging endpoint, eventgate-logging-external.discovery.wmnet and intake-logging.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.50'}, 'eqiad': {'default': '10.2.2.50'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4392, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-logging-external', 'active_active': True}]}, 'eventgate-analytics-external': {'description': 'EventGate analytics external endpoint, eventgate-analytics-external.discovery.wmnet and intake-analytics.wikimedia.org', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.52'}, 'eqiad': {'default': '10.2.2.52'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4692, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-analytics-external', 'active_active': True}]}, 'eventgate-main': {'description': 'EventGate main endpoint, TLS enabled, https://eventgate-main.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.45'}, 'eqiad': {'default': '10.2.2.45'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4492, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventgate-main', 'active_active': True}]}, 'eventstreams': {'description': 'Public streams of events via HTTP + SSE, backed by Kafka. eventstreams.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.34'}, 'eqiad': {'default': '10.2.2.34'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4892, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams', 'active_active': True}]}, 'eventstreams-internal': {'description': 'Internal streams of events via HTTP + SSE, backed by Kafka. eventstreams-internal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.35'}, 'eqiad': {'default': '10.2.2.35'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4992, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'eventstreams-internal', 'active_active': True}]}, 'k8s-ingress-staging': {'description': 'istio-ingresscontroller on kubernetes staging. k8s-ingress-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-wikikube': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-wikikube.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': True, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-wikikube-ro', 'active_active': True}, {'dnsdisc': 'k8s-ingress-wikikube-rw', 'active_active': False}]}, 'k8s-ingress-ml-staging': {'description': 'istio-ingresscontroller on kubernetes ML staging. k8s-ingress-ml-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.83'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-staging', 'active_active': False}], 'exclude_from_switchover': True}, 'k8s-ingress-ml-serve': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-ml-serve.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 31443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-ml-serve', 'active_active': True}]}, 'k8s-ingress-dse': {'description': 'istio-ingresscontroller on kubernetes. k8s-ingress-dse.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'k8s-ingress-dse', 'active_active': False}, {'dnsdisc': 'k8s-ingress-dse-aa', 'active_active': True}], 'exclude_from_switchover': True}, 'kartotherian-k8s-ssl': {'description': 'Kartotherian, kartotherian.discovery.wmnet - HTTPS on K8s', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.13'}, 'eqiad': {'default': '10.2.2.13'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/osm-intl/6/23/24.png'}], 'port': 6543, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'kartotherian', 'active_active': True}]}, 'kibana7': {'description': 'Kibana v7 env - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.48'}, 'eqiad': {'default': '10.2.2.48'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'kibana7'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logstash.wikimedia.org/api/status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/api/status', 'host': 'logstash.wikimedia.org'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'logstash', 'active_active': False}], 'role': 'opensearch::collector', 'public_endpoint': 'logstash', 'exclude_from_switchover': True}, 'kubemaster': {'description': 'Kubernetes master service. kubemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.8'}, 'eqiad': {'default': '10.2.2.8'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::master_stacked', 'state': 'production'}, 'kubestagemaster': {'description': 'Kubernetes staging master service. kubestagemaster.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.86'}, 'eqiad': {'default': '10.2.2.86'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes-staging', 'service': 'kubemaster'}, 'depool_threshold': 0.2, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'role': 'kubernetes::staging::master_stacked', 'state': 'production'}, 'labweb-ssl': {'description': 'lvs for cloudweb services: horizon, striker - HTTPS', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.40'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'cloudweb', 'service': 'cloudweb-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 200, 'url': ['https://toolsadmin.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad']}, 'probes': [{'type': 'http', 'host': 'toolsadmin.wikimedia.org'}], 'page': True, 'team': 'wmcs', 'port': 7443, 'sites': ['eqiad'], 'state': 'production', 'aliases': ['labweb']}, 'ldap-ro': {'description': 'Ldap for cloud and developer accounts', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 389, 'probes': [{'type': 'tcp'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'ldap-ro-ssl': {'description': 'Ldap for cloud and developer accounts (ssl access)', 'encryption': True, 'ip': {'codfw': {'default': '208.80.153.252'}, 'eqiad': {'default': '208.80.154.252'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'ldap-ro', 'service': 'ldap-ro-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 30, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 636, 'probes': [{'type': 'tcp', 'host': 'ldap-ro.eqiad.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'mathoid': {'description': 'Mathematical rendering service, mathoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.20'}, 'eqiad': {'default': '10.2.2.20'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4001, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mathoid', 'active_active': True}]}, 'miscweb': {'description': 'Misc static sites, miscweb.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'static-bugzilla.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'dse-k8s-ctrl': {'description': 'Kubernetes master service for DSE cluster. dse-k8s-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.73'}, 'codfw': {'default': '10.2.1.73'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'dse-k8s', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-ctrl': {'description': 'Kubernetes master service for ML cluster. ml-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.39'}, 'eqiad': {'default': '10.2.2.39'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['eqiad', 'codfw'], 'state': 'lvs_setup'}, 'ml-staging-ctrl': {'description': 'Kubernetes master service for ML staging cluster. ml-staging-ctrl.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.72'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubemaster'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 6443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'mobileapps': {'description': 'A service for use by mobile apps. Provides DOM manipulation, aggregation, JSON flattening. mobileapps.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.14'}, 'eqiad': {'default': '10.2.2.14'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4102, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mobileapps', 'active_active': True}]}, 'mwdebug': {'description': 'mwdebug, mwdebug.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.59'}, 'eqiad': {'default': '10.2.2.59'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4444, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug', 'active_active': True}]}, 'mwdebug-next': {'description': 'mwdebug-next, mwdebug-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.9'}, 'eqiad': {'default': '10.2.2.9'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4453, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mwdebug-next', 'active_active': True}]}, 'mw-web': {'description': 'mw-web, mw-web.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.75'}, 'eqiad': {'default': '10.2.2.75'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4450, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web', 'active_active': False}, {'dnsdisc': 'mw-web-ro', 'active_active': True}]}, 'mw-web-next': {'description': 'mw-web-next, mw-web-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.6'}, 'eqiad': {'default': '10.2.2.6'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4454, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-web-next', 'active_active': False}, {'dnsdisc': 'mw-web-next-ro', 'active_active': True}]}, 'mw-api-ext': {'description': 'mw-api-ext, mw-api-ext.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.76'}, 'eqiad': {'default': '10.2.2.76'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4447, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext', 'active_active': False}, {'dnsdisc': 'mw-api-ext-ro', 'active_active': True}]}, 'mw-api-ext-next': {'description': 'mw-api-ext-next, mw-api-ext-next.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.7'}, 'eqiad': {'default': '10.2.2.7'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4455, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-ext-next', 'active_active': False}, {'dnsdisc': 'mw-api-ext-next-ro', 'active_active': True}]}, 'mw-api-int': {'description': 'mw-api-int, mw-api-int.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.81'}, 'eqiad': {'default': '10.2.2.81'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'appserver', 'page': True, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'en.wikipedia.org'}], 'port': 4446, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-api-int', 'active_active': False}, {'dnsdisc': 'mw-api-int-ro', 'active_active': True}]}, 'mw-misc': {'description': 'Miscellaneous mediawiki installs, mw-misc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'mw-jobrunner': {'description': 'mw-jobrunner, mw-jobrunner.svc.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.90'}, 'eqiad': {'default': '10.2.2.90'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'httpbb_dir': 'jobrunner', 'page': False, 'probes': [{'type': 'http', 'path': '/w/health-check.php', 'host': 'mw-jobrunner.discovery.wmnet'}], 'port': 4448, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'mw-jobrunner', 'active_active': False}]}, 'mw-wikifunctions': {'description': 'mw-wikifunctions, mw-wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'port': 30443, 'httpbb_dir': 'wikifunctions', 'page': False, 'probes': [{'type': 'http', 'path': '/wiki/Special:BlankPage', 'host': 'www.wikifunctions.org'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'ncredir': {'description': 'Non canonical domains redirect service', 'encryption': False, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['http://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'ncredir-https': {'description': 'Non canonical redirect service', 'encryption': True, 'ip': {'codfw': {'ncredirlb': '208.80.153.232', 'ncredirlb6': '2620:0:860:ed1a::9'}, 'eqiad': {'ncredirlb': '208.80.154.232', 'ncredirlb6': '2620:0:861:ed1a::9'}, 'esams': {'ncredirlb': '185.15.59.226', 'ncredirlb6': '2a02:ec80:300:ed1a::3'}, 'ulsfo': {'ncredirlb': '198.35.26.226', 'ncredirlb6': '2620:0:863:ed1a::3'}, 'eqsin': {'ncredirlb': '103.102.166.226', 'ncredirlb6': '2001:df2:e500:ed1a::3'}, 'drmrs': {'ncredirlb': '185.15.58.226', 'ncredirlb6': '2a02:ec80:600:ed1a::3'}, 'magru': {'ncredirlb': '195.200.68.226', 'ncredirlb6': '2a02:ec80:700:ed1a::3'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'ncredir', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://en.wikipedia.com/_status']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'en.wikipedia.com', 'path': '/_status'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'prometheus': {'description': 'Prometheus monitoring', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://prometheus/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 80, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'prometheus-https': {'description': 'prometheus monitoring https', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.25'}, 'eqiad': {'default': '10.2.2.25'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'prometheus', 'service': 'prometheus'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'http_status': 302, 'url': ['https://prometheus-eqiad.wikimedia.org/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'prometheus-eqiad.wikimedia.org'}], 'port': 443, 'role': 'prometheus', 'sites': ['eqiad', 'codfw'], 'state': 'production', 'page': False, 'public_endpoint': 'prometheus-eqiad', 'public_aliases': ['prometheus-codfw']}, 'proton': {'description': 'Proton PDF rendering service. proton.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.21'}, 'eqiad': {'default': '10.2.2.21'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4030, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'proton', 'active_active': True}]}, 'push-notifications': {'description': 'Push-notifications service push-notifications.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.56'}, 'eqiad': {'default': '10.2.2.56'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 4104, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'push-notifications', 'active_active': True}]}, 'recommendation-api': {'description': 'Service for recommendation API. recommendation-api.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.37'}, 'eqiad': {'default': '10.2.2.37'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'port': 4632, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'recommendation-api', 'active_active': True}]}, 'restbase-backend': {'description': 'RESTBase backend, restbase.discovery.wmnet', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-backend'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 7233, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'restbase-https': {'description': 'RESTBase, restbase.discovery.wmnet - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.17'}, 'eqiad': {'default': '10.2.2.17'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'restbase', 'service': 'restbase-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}, {'type': 'swagger'}], 'port': 7443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'restbase', 'active_active': True}, {'dnsdisc': 'restbase-async', 'active_active': True}], 'aliases': ['restbase']}, 'schema': {'description': 'Event Schema HTTP service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.43'}, 'eqiad': {'default': '10.2.2.43'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'eventschemas', 'service': 'eventschemas'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/repositories/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': True, 'probes': [{'type': 'http', 'path': '/repositories/'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'schema', 'active_active': True}]}, 'search': {'description': 'Elasticsearch search for MediaWiki', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 9200, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'search-https': {'description': 'Elasticsearch search for MediaWiki - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http'}], 'port': 9243, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'search', 'active_active': True}]}, 'search-omega-https': {'description': 'Elasticsearch search for MediaWiki (Omega cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-omega-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-omega', 'active_active': True}]}, 'search-psi-https': {'description': 'Elasticsearch search for MediaWiki (Psi cluster) - HTTPS', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.30'}, 'eqiad': {'default': '10.2.2.30'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'elasticsearch', 'service': 'elasticsearch-psi-ssl'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http'}], 'port': 9643, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'aliases': ['search'], 'discovery': [{'dnsdisc': 'search-psi', 'active_active': True}]}, 'sessionstore': {'description': 'Session store, sessionstore.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.29'}, 'eqiad': {'default': '10.2.2.29'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthz'}, {'type': 'swagger', 'params': {'spec_segment': '/openapi'}}], 'port': 8081, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sessionstore', 'active_active': True}]}, 'shellbox': {'description': 'Shellbox, shellbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.51'}, 'eqiad': {'default': '10.2.2.51'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4008, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox', 'active_active': True}]}, 'shellbox-constraints': {'description': 'Shellbox Constraints, shellbox-constraints.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.61'}, 'eqiad': {'default': '10.2.2.61'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4010, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-constraints', 'active_active': True}]}, 'shellbox-media': {'description': 'Shellbox Media, shellbox-media.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.64'}, 'eqiad': {'default': '10.2.2.64'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4015, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-media', 'active_active': True}]}, 'shellbox-syntaxhighlight': {'description': 'Shellbox SyntaxHighlight, shellbox-syntaxhighlight.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.65'}, 'eqiad': {'default': '10.2.2.65'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4014, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-syntaxhighlight', 'active_active': True}]}, 'shellbox-timeline': {'description': 'Shellbox Timeline, shellbox-timeline.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.66'}, 'eqiad': {'default': '10.2.2.66'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4012, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-timeline', 'active_active': True}]}, 'shellbox-video': {'description': 'Shellbox Video, shellbox-video.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.68'}, 'eqiad': {'default': '10.2.2.68'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4080, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'shellbox-video', 'active_active': True}]}, 'sophroid': {'description': 'Service mesh envoy control plane, sophroid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.41'}, 'eqiad': {'default': '10.2.2.41'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'aux-k8s', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4252, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'sophroid', 'active_active': False}]}, 'swift': {'description': 'Swift media storage', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'swift-fe'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['http://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'port': 80, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'aliases': ['ms-fe']}, 'swift-https': {'description': 'Swift media storage', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.27'}, 'eqiad': {'default': '10.2.2.27'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'swift', 'service': 'nginx'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/monitoring/frontend']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/monitoring/frontend'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'swift', 'active_active': True}], 'aliases': ['ms-fe'], 'exclude_from_switchover': True}, 'tegola-vector-tiles': {'description': 'Tegola Vector Tiles, tegola-vector-tiles.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.60'}, 'eqiad': {'default': '10.2.2.60'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/capabilities'}], 'port': 4105, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'tegola-vector-tiles', 'active_active': True}]}, 'thanos-query': {'description': 'Prometheus long-term storage, query service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.53'}, 'eqiad': {'default': '10.2.2.53'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-query'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/-/ready'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-query', 'active_active': True}], 'role': 'titan'}, 'thanos-web': {'description': 'Prometheus long-term storage, web interface', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.77'}, 'eqiad': {'default': '10.2.2.77'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-web'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-query.discovery.wmnet/-/ready']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/-/ready', 'host': 'thanos-query.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-web', 'active_active': True}], 'role': 'titan', 'public_endpoint': 'thanos'}, 'thanos-swift': {'description': 'Prometheus long-term storage, object storage (swift) access', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.54'}, 'eqiad': {'default': '10.2.2.54'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'thanos', 'service': 'thanos-swift'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://thanos-swift.discovery.wmnet/healthcheck']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'host': 'thanos-swift.discovery.wmnet'}], 'port': 443, 'sites': ['codfw', 'eqiad'], 'state': 'production', 'discovery': [{'dnsdisc': 'thanos-swift', 'active_active': True}], 'role': 'thanos::frontend'}, 'termbox': {'description': 'Wikidata Termbox SSR termbox.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.46'}, 'eqiad': {'default': '10.2.2.46'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4004, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'termbox', 'active_active': True}]}, 'text': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (Varnish)', 'encryption': False, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'text-https': {'description': 'Main wiki platform LVS service, text.eqiad.wikimedia.org (nginx)', 'encryption': True, 'ip': {'eqiad': {'textlb': '208.80.154.224', 'textlb6': '2620:0:861:ed1a::1'}, 'codfw': {'textlb': '208.80.153.224', 'textlb6': '2620:0:860:ed1a::1'}, 'esams': {'textlb': '185.15.59.224', 'textlb6': '2a02:ec80:300:ed1a::1'}, 'ulsfo': {'textlb': '198.35.26.224', 'textlb6': '2620:0:863:ed1a::1'}, 'eqsin': {'textlb': '103.102.166.224', 'textlb6': '2001:df2:e500:ed1a::1'}, 'drmrs': {'textlb': '185.15.58.224', 'textlb6': '2a02:ec80:600:ed1a::1'}, 'magru': {'textlb': '195.200.68.224', 'textlb6': '2a02:ec80:700:ed1a::1'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'en.wikipedia.org', 'path': '/wiki/Special:BlankPage'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'thumbor': {'description': 'Thumbor image scaling', 'encryption': False, 'ip': {'codfw': {'default': '10.2.1.24'}, 'eqiad': {'default': '10.2.2.24'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/healthcheck', 'timeout': '15s'}], 'port': 8800, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'toolhub': {'description': 'Toolhub, toolhub.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.62'}, 'eqiad': {'default': '10.2.2.62'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4011, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'toolhub', 'active_active': False}], 'exclude_from_switchover': True}, 'upload': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': False, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend', 'expect_redirect': True}], 'port': 80, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'upload-https': {'description': 'Images and other media, upload.eqiad.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'uploadlb': '208.80.154.240', 'uploadlb6': '2620:0:861:ed1a::2:b'}, 'codfw': {'uploadlb': '208.80.153.240', 'uploadlb6': '2620:0:860:ed1a::2:b'}, 'esams': {'uploadlb': '185.15.59.240', 'uploadlb6': '2a02:ec80:300:ed1a::2:b'}, 'ulsfo': {'uploadlb': '198.35.26.240', 'uploadlb6': '2620:0:863:ed1a::2:b'}, 'eqsin': {'uploadlb': '103.102.166.240', 'uploadlb6': '2001:df2:e500:ed1a::2:b'}, 'drmrs': {'uploadlb': '185.15.58.240', 'uploadlb6': '2a02:ec80:600:ed1a::2:b'}, 'magru': {'uploadlb': '195.200.68.240', 'uploadlb6': '2a02:ec80:700:ed1a::2:b'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'cache_upload', 'service': 'cdn'}, 'depool_threshold': 0.66, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://upload.wikimedia.org/varnish-fe-hc-5ebea9']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'probes': [{'type': 'http', 'host': 'upload.wikimedia.org', 'path': '/monitoring/backend'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'wcqs': {'description': 'Wikimedia Commons Query Service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.67'}, 'eqiad': {'default': '10.2.2.67'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wcqs', 'service': 'wcqs'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wcqs', 'active_active': True}]}, 'wdqs-internal-main': {'description': 'Wikidata Query Service internal - main', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.93'}, 'codfw': {'default': '10.2.1.93'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-main', 'active_active': True}]}, 'wdqs-internal-scholarly': {'description': 'Wikidata Query Service internal - scholarly', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.94'}, 'codfw': {'default': '10.2.1.94'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-internal-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-internal-scholarly', 'active_active': True}]}, 'wdqs-main': {'description': 'Wikidata Query Service - main', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.33'}, 'eqiad': {'default': '10.2.2.33'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-main', 'service': 'wdqs-main'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-main', 'active_active': True}]}, 'wdqs-scholarly': {'description': 'Wikidata Query Service - scholarly', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.36'}, 'eqiad': {'default': '10.2.2.36'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'wdqs-scholarly', 'service': 'wdqs-scholarly'}, 'depool_threshold': 0.3, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://localhost/readiness-probe']}}, 'scheduler': 'mh', 'scheduler_flag': 'mh-port', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'page': False, 'probes': [{'type': 'http', 'path': '/readiness-probe'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wdqs-scholarly', 'active_active': True}]}, 'wikifeeds': {'description': 'A node webservice supporting featured wiki content feeds. wikifeeds.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.47'}, 'eqiad': {'default': '10.2.2.47'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'path': '/_info'}, {'type': 'swagger'}], 'port': 4101, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'wikifeeds', 'active_active': True}]}, 'zotero': {'description': 'Zotero, zotero.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.16'}, 'eqiad': {'default': '10.2.2.16'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'probes': [{'type': 'http', 'post_json': '[{\"itemType\":\"journalArticle\"}]', 'path': '/export?format=wikipedia'}], 'port': 4969, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'zotero', 'active_active': True}]}, 'helm-charts': {'description': 'helm-charts', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.159'}, 'eqiad': {'default': '10.64.48.26'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health', 'must_contain_regexp': '\"healthy\".*:.*true'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'helm-charts', 'active_active': True}], 'exclude_from_switchover': True}, 'releases': {'description': 'MediaWiki, Parsoid, MobileApps and other Wikimedia release files (https://releases.wikimedia.org)', 'encryption': True, 'ip': {'codfw': {'default': '10.192.16.72'}, 'eqiad': {'default': '10.64.48.34'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/mediawiki', 'host': 'releases.wikimedia.org', 'must_contain_regexp': 'MediaWiki'}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'releases', 'active_active': True}], 'exclude_from_switchover': True}, 'api-gateway': {'description': 'API gateway, api-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.55'}, 'eqiad': {'default': '10.2.2.55'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 8087, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'api-gateway', 'active_active': True}]}, 'linkrecommendation': {'description': 'Link Recommendation, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4005, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}]}, 'linkrecommendation-external': {'description': 'Link Recommendation, public release, linkrecommendation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.23'}, 'eqiad': {'default': '10.2.2.23'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4006, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'linkrecommendation', 'active_active': True}], 'aliases': ['linkrecommendation']}, 'puppetdb-api': {'description': 'Puppetdb api microservice', 'encryption': True, 'ip': {'codfw': {'default': '10.192.48.75'}, 'eqiad': {'default': '10.64.16.87'}}, 'page': False, 'probes': [{'type': 'http'}], 'sites': ['eqiad', 'codfw'], 'port': 8090, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetdb-api', 'active_active': True}], 'exclude_from_switchover': True}, 'alertmanager': {'encryption': True, 'role': 'alerting_host', 'public_endpoint': 'alerts', 'port': 443, 'description': 'Alertmanager service', 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.42'}, 'eqiad': {'default': '208.80.154.78'}}, 'state': 'production'}, 'graphite': {'encryption': True, 'role': 'graphite::production', 'public_endpoint': 'graphite', 'port': 443, 'description': 'Graphite metrics platform', 'page': False, 'probes': [{'type': 'http', 'host': 'graphite.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.16.37'}, 'eqiad': {'default': '10.64.16.81'}}, 'state': 'production'}, 'grafana': {'encryption': True, 'role': 'grafana', 'public_endpoint': 'grafana', 'public_aliases': ['grafana-rw', 'grafana-next', 'grafana-next-rw'], 'port': 443, 'description': 'Graphing and dashboarding', 'page': False, 'probes': [{'type': 'http', 'host': 'grafana.wikimedia.org'}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '10.192.0.160'}, 'eqiad': {'default': '10.64.0.119'}}, 'state': 'production'}, 'librenms': {'encryption': True, 'role': 'netmon', 'public_endpoint': 'librenms', 'port': 443, 'description': 'Network device observability', 'page': False, 'probes': [{'type': 'http', 'host': 'librenms.wikimedia.org', 'expect_sso': True}], 'sites': ['codfw', 'eqiad'], 'ip': {'codfw': {'default': '208.80.153.9'}, 'eqiad': {'default': '208.80.154.141'}}, 'state': 'production'}, 'inference': {'description': 'Inference ML service', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.63'}, 'codfw': {'default': '10.2.1.63'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_serve', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'http', 'valid_status_codes': [404]}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'inference', 'active_active': True}]}, 'inference-staging': {'description': 'Inference ML service (staging)', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.58'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'ml_staging', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr'}, 'page': False, 'probes': [{'type': 'tcp-notls'}], 'port': 30443, 'sites': ['codfw'], 'state': 'lvs_setup'}, 'apt': {'description': 'Internal apt package repository', 'encryption': False, 'ip': {'codfw': {'default': '208.80.153.11'}, 'eqiad': {'default': '208.80.154.10'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'apt.wikimedia.org', 'path': '/wikimedia/'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'discovery': [{'dnsdisc': 'apt', 'active_active': False}], 'exclude_from_switchover': True}, 'puppetboard': {'description': 'Internal production Puppetboard interface', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.8'}, 'eqiad': {'default': '10.64.32.38'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'puppetboard.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'puppetboard', 'active_active': True}]}, 'data-gateway': {'description': 'data gateway service, data-gateway.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'data-gateway-staging': {'description': 'data gateway staging service, data-gateway.k8s-staging.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'data-gateway.k8s-staging.discovery.wmnet', 'path': '/healthz'}], 'sites': ['eqiad'], 'state': 'production'}, 'developer-portal': {'description': 'Static documentation site, developer-portal.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'netbox': {'description': 'Netbox Frontend', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.54'}, 'eqiad': {'default': '10.64.0.103'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'netbox.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad', 'codfw'], 'port': 443, 'state': 'production', 'discovery': [{'dnsdisc': 'netbox', 'active_active': False}], 'exclude_from_switchover': True}, 'logs-api': {'description': 'API access to opensearch for logs', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.79'}, 'eqiad': {'default': '10.2.2.79'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kibana7', 'service': 'logs-api'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://logs-api.svc.eqiad.wmnet']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw']}, 'probes': [{'type': 'http', 'host': 'logs-api.svc.eqiad.wmnet'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'commons-impact-analytics': {'description': 'commons-impact-analytics AQS2 service, commons-impact-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'device-analytics': {'description': 'device-analytics AQS2 service, device-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.80'}, 'eqiad': {'default': '10.2.2.80'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4972, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'device-analytics', 'active_active': True}]}, 'geo-analytics': {'description': 'geo-analytics AQS2 service, geo-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'media-analytics': {'description': 'media-analytics AQS2 service, media-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'page-analytics': {'description': 'page-analytics AQS2 service, page-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'editor-analytics': {'description': 'editor-analytics AQS2 service, editor-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'edit-analytics': {'description': 'edit-analytics AQS2 service, edit-analytics.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'path': '/healthz'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'pki': {'description': 'PKI service', 'encryption': False, 'ip': {'codfw': {'default': '10.192.16.172'}, 'eqiad': {'default': '10.64.173.2'}}, 'probes': [{'type': 'http', 'path': '/metrics', 'must_contain_regexp': 'signer=\"discovery2026\"'}], 'sites': ['eqiad', 'codfw'], 'port': 80, 'state': 'production', 'page': False, 'discovery': [{'dnsdisc': 'pki', 'active_active': True}]}, 'rest-gateway': {'description': 'REST API gateway, rest-gateway.discovery.wmnet. See REST Gateway page on wikitech for URLs proxied', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.82'}, 'eqiad': {'default': '10.2.2.82'}}, 'lvs': {'class': 'low-traffic', 'conftool': {'cluster': 'kubernetes', 'service': 'kubesvc'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'wrr', 'protocol': 'tcp'}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 4113, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'rest-gateway', 'active_active': False}, {'dnsdisc': 'rest-gateway-ro', 'active_active': True}]}, 'machinetranslation': {'description': 'MinT, machinetranslation service backend. Use by cxserver. machinetranslation.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/healthz'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions': {'description': 'Wikifunctions orchestrator, wikifunctions.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator-staging': {'description': 'Wikifunctions Python evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-python-evaluator': {'description': 'Wikifunctions Python evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'wikifunctions-javascript-evaluator-staging': {'description': 'Wikifunctions JS evaluator staging endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.69'}, 'eqiad': {'default': '10.2.2.69'}}, 'page': False, 'port': 30443, 'probes': [{'type': 'http', 'host': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet', 'path': '/_info'}], 'sites': ['eqiad'], 'state': 'production'}, 'wikifunctions-javascript-evaluator': {'description': 'Wikifunctions JS evaluator endpoint', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'config-master': {'description': 'config-master.wikimedia.org service for browsing configuration data from etcd.', 'encryption': True, 'ip': {'codfw': {'default': '10.192.0.15'}, 'eqiad': {'default': '10.64.0.110'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 443, 'sites': ['eqiad', 'codfw'], 'state': 'production', 'discovery': [{'dnsdisc': 'config-master', 'active_active': True}]}, 'ipoid': {'description': 'iPoid IP address reputation service ipoid.discovery.wmnet', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/_info'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'superset-next': {'description': 'Staging superset service, superset-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'superset': {'description': 'Production superset service, superset.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http', 'path': '/health'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'production'}, 'test-kitchen': {'description': 'Production test-kitchen service, test-kitchen.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'test-kitchen-next': {'description': 'Staging test-kitchen service, test-kitchen-next.wikimedia.org', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'chart-renderer': {'description': 'Stateless microservice that renders charts as SVGs with Apache eCharts, used by https://www.mediawiki.org/wiki/Extension:Chart', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.70'}, 'eqiad': {'default': '10.2.2.70'}}, 'page': True, 'probes': [{'type': 'http', 'path': '/_info', 'timeout': '10s'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'blunderbuss': {'description': 'HDFS synchronizer service, see T371994', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'opensearch-test': {'description': 'opensearch on kubernetes test, see T362105', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'production'}, 'opensearch-ipoid': {'description': 'ipoid on opensearch, see T357753', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-semantic-search': {'description': 'semantic search for wikis, see T413969', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'production'}, 'opensearch-ttmserver-test': {'description': 'Translatewiki opensearch test server, see T424248', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'service_setup'}, 'opensearch-toolhub-test': {'description': 'Toolhub opensearch test server, see T426073', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.91'}, 'codfw': {'default': '10.2.1.91'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 30443, 'sites': ['codfw', 'eqiad'], 'state': 'service_setup'}, 'analytics-web': {'encryption': True, 'role': 'analytics_cluster::webserver', 'public_endpoint': 'analytics', 'port': 8443, 'description': 'Dashboards and Data Downloads for Wikimedia Projects', 'page': False, 'probes': [{'type': 'http', 'host': 'analytics.wikimedia.org', 'expect_sso': True}], 'sites': ['eqiad'], 'ip': {'eqiad': {'default': '10.64.21.14'}}, 'state': 'service_setup'}, 'codesearch': {'description': 'UI to search through Wikimedia code repositories', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'codesearch.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'zarcillo': {'description': 'DB automation', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'zarcillo.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad'], 'state': 'service_setup'}, 'os-reports': {'description': 'OS Reports', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'os-reports.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'wmf-navigator': {'description': 'WMF Navigator', 'encryption': True, 'ip': {'eqiad': {'default': '10.2.2.78'}, 'codfw': {'default': '10.2.1.78'}}, 'page': False, 'probes': [{'type': 'http', 'host': 'wmf-navigator.wikimedia.org'}], 'port': 30443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}, 'gerrit-https': {'description': 'Gerrit Code Review - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'cache_text', 'service': 'cdn'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'ProxyFetch': {'url': ['https://healthcheck.wikimedia.org/varnish-fe']}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'http', 'host': 'gerrit.wikimedia.org', 'path': '/r/'}], 'port': 443, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'gerrit-ssh': {'description': 'Gerrit Code Review - SSH interface', 'encryption': False, 'ip': {'eqiad': {'gerritlb': '208.80.154.225', 'gerritlb6': '2620:0:861:ed1a::2'}, 'codfw': {'gerritlb': '208.80.153.225', 'gerritlb6': '2620:0:860:ed1a::2'}, 'esams': {'gerritlb': '185.15.59.225', 'gerritlb6': '2a02:ec80:300:ed1a::2'}, 'ulsfo': {'gerritlb': '198.35.26.225', 'gerritlb6': '2620:0:863:ed1a::2'}, 'eqsin': {'gerritlb': '103.102.166.225', 'gerritlb6': '2001:df2:e500:ed1a::2'}, 'drmrs': {'gerritlb': '185.15.58.225', 'gerritlb6': '2a02:ec80:600:ed1a::2'}, 'magru': {'gerritlb': '195.200.68.225', 'gerritlb6': '2a02:ec80:700:ed1a::2'}}, 'lvs': {'class': 'high-traffic1', 'conftool': {'cluster': 'tcp-proxy', 'service': 'gerrit'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'ipip_encapsulation': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru']}, 'page': False, 'probes': [{'type': 'tcp'}], 'port': 29418, 'sites': ['eqiad', 'codfw', 'esams', 'ulsfo', 'eqsin', 'drmrs', 'magru'], 'state': 'production'}, 'dumps-https': {'description': 'Dump file distribution - HTTPS interface', 'encryption': True, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-https'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}, 'ProxyFetch': {'url': ['https://dumps.wikimedia.org']}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'http', 'host': 'dumps.wikimedia.org', 'path': '/'}], 'port': 443, 'sites': ['eqiad'], 'state': 'production'}, 'dumps-rsync': {'description': 'Dump file distribution - rsync interface', 'encryption': False, 'ip': {'eqiad': {'dumps-lb': '208.80.154.242', 'dumps-lb6': '2620:0:861:ed1a::3:242'}}, 'lvs': {'class': 'high-traffic2', 'conftool': {'cluster': 'dumps', 'service': 'dumps-rsync'}, 'depool_threshold': 0.5, 'enabled': True, 'monitors': {'IdleConnection': {'max-delay': 300, 'timeout-clean-reconnect': 3}}, 'scheduler': 'mh', 'protocol': 'tcp', 'ipip_encapsulation': ['eqiad']}, 'page': True, 'team': 'wmcs', 'probes': [{'type': 'tcp-notls'}], 'port': 873, 'sites': ['eqiad'], 'state': 'production'}, 'recommendation-api-ng': {'description': 'Liftwing recommendation-api-ng service', 'encryption': True, 'ip': {'codfw': {'default': '10.2.1.84'}, 'eqiad': {'default': '10.2.2.84'}}, 'page': False, 'probes': [{'type': 'http'}], 'port': 31443, 'sites': ['eqiad', 'codfw'], 'state': 'service_setup'}}\n"}, {"resource": "Class[Profile::Services_proxy::Envoy]", "parameters": "--- Class[Profile::Services_proxy::Envoy].orig\n+++ Class[Profile::Services_proxy::Envoy]\n\n@@\n-    all_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n+    all_listeners => [{'name': 'mathoid', 'port': 6003, 'timeout': '3s', 'service': 'mathoid'}, {'name': 'eventgate-analytics', 'port': 6004, 'timeout': '10s', 'service': 'eventgate-analytics', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main', 'port': 6005, 'timeout': '61s', 'service': 'eventgate-main', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'sessionstore', 'port': 6006, 'service': 'sessionstore', 'timeout': '2.5s'}, {'name': 'echostore', 'port': 6007, 'service': 'echostore', 'timeout': '2.5s'}, {'name': 'termbox', 'port': 6008, 'service': 'termbox', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2}, 'timeout': '25s'}, {'name': 'restbase', 'port': 6011, 'service': 'restbase-https', 'upstream': 'restbase.discovery.wmnet', 'timeout': '30s', 'keepalive': '4s', 'xfp': 'https'}, {'name': 'push-notifications', 'port': 6012, 'service': 'push-notifications', 'keepalive': '4.5s', 'timeout': '2.5s'}, {'name': 'mobileapps', 'port': 6012, 'service': 'mobileapps', 'timeout': '120s'}, {'name': 'eventgate-analytics-external', 'port': 6013, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'proton', 'port': 6013, 'service': 'proton', 'timeout': '120s'}, {'name': 'citoid', 'port': 6014, 'service': 'citoid', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'cxserver', 'port': 6015, 'service': 'cxserver', 'timeout': '120s'}, {'name': 'recommendation', 'port': 6016, 'service': 'recommendation-api', 'timeout': '120s'}, {'name': 'wikifeeds', 'port': 6017, 'service': 'wikifeeds', 'timeout': '120s'}, {'name': 'zotero', 'port': 6018, 'service': 'zotero', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'apertium', 'port': 6019, 'service': 'apertium', 'timeout': '120s', 'keepalive': '4.5s'}, {'name': 'thanos-query', 'port': 6021, 'service': 'thanos-query', 'timeout': '120s'}, {'name': 'thanos-swift', 'port': 6022, 'service': 'thanos-swift', 'timeout': '120s', 'sets_sni': True}, {'name': 'schema', 'port': 6023, 'service': 'schema', 'timeout': '120s', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox', 'port': 6024, 'timeout': '60s', 'service': 'shellbox', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints', 'port': 6025, 'timeout': '10s', 'service': 'shellbox-constraints', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media', 'port': 6026, 'timeout': '60s', 'service': 'shellbox-media', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight', 'port': 6027, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline', 'port': 6028, 'timeout': '60s', 'service': 'shellbox-timeline', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'linkrecommendation', 'port': 6029, 'service': 'linkrecommendation', 'timeout': '10s'}, {'name': 'inference', 'port': 6031, 'service': 'inference', 'timeout': '60s'}, {'name': 'device-analytics', 'port': 6032, 'service': 'device-analytics', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'rest-gateway', 'port': 6033, 'service': 'rest-gateway', 'timeout': '10s', 'keepalive': '4s'}, {'name': 'wikifunctions', 'port': 6034, 'service': 'wikifunctions', 'timeout': '15.5s', 'sets_sni': True}, {'name': 'ipoid', 'port': 6035, 'service': 'ipoid', 'timeout': '5s', 'upstream': 'ipoid.discovery.wmnet', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'shellbox-video', 'port': 6036, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'test-kitchen', 'port': 6037, 'service': 'test-kitchen', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'data-gateway', 'port': 6038, 'service': 'data-gateway', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'chart-renderer', 'port': 6039, 'service': 'chart-renderer', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'tegola-vector-tiles', 'port': 6040, 'service': 'tegola-vector-tiles', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wdqs-internal-main', 'port': 6041, 'service': 'wdqs-internal-main', 'timeout': '10s'}, {'name': 'wdqs-internal-scholarly', 'port': 6042, 'service': 'wdqs-internal-scholarly', 'timeout': '10s'}, {'name': 'eventgate-logging-external', 'port': 6043, 'timeout': '5s', 'service': 'eventgate-logging-external', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-eqiad', 'port': 6101, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.eqiad.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'swift-codfw', 'port': 6201, 'service': 'swift-https', 'idle_timeout': '180s', 'timeout': '90s', 'upstream': 'ms-fe.svc.codfw.wmnet', 'keepalive': '10s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'search-chi-eqiad', 'port': 6102, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-chi-codfw', 'port': 6202, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-chi', 'port': 6302, 'service': 'search-https', 'timeout': '50s', 'upstream': 'search.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-omega-eqiad', 'port': 6103, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-omega-codfw', 'port': 6203, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-omega', 'port': 6303, 'service': 'search-omega-https', 'timeout': '50s', 'upstream': 'search-omega.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'search-psi-eqiad', 'port': 6104, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.eqiad.wmnet', 'keepalive': '50s'}, {'name': 'search-psi-codfw', 'port': 6204, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search.svc.codfw.wmnet', 'keepalive': '50s'}, {'name': 'search-psi', 'port': 6304, 'service': 'search-psi-https', 'timeout': '50s', 'upstream': 'search-psi.discovery.wmnet', 'keepalive': '50s', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'cloudelastic-chi-eqiad', 'port': 6105, 'service': 'cloudelastic-chi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-omega-eqiad', 'port': 6106, 'service': 'cloudelastic-omega-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'cloudelastic-psi-eqiad', 'port': 6107, 'service': 'cloudelastic-psi-https', 'timeout': '50s', 'upstream': 'cloudelastic.wikimedia.org', 'keepalive': '50s'}, {'name': 'inference-staging', 'port': 6205, 'service': 'inference-staging', 'timeout': '60s', 'upstream': 'inference-staging.svc.codfw.wmnet'}, {'name': 'analytics-web', 'port': 6206, 'service': 'analytics-web', 'timeout': '60s', 'upstream': 'analytics-web.discovery.wmnet', 'sets_sni': True, 'http_host': 'analytics.wikimedia.org'}, {'name': 'eventgate-analytics-eqiad', 'port': 6108, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-codfw', 'port': 6208, 'timeout': '10s', 'service': 'eventgate-analytics', 'upstream': 'eventgate-analytics.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-main-eqiad', 'port': 6109, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-main-codfw', 'port': 6209, 'timeout': '61s', 'service': 'eventgate-main', 'upstream': 'eventgate-main.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 2, 'per_try_timeout': '20s'}}, {'name': 'eventgate-analytics-external-eqiad', 'port': 6110, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-analytics-external-codfw', 'port': 6210, 'timeout': '5s', 'service': 'eventgate-analytics-external', 'upstream': 'eventgate-analytics-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-eqiad', 'port': 6111, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.eqiad.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'eventgate-logging-external-codfw', 'port': 6211, 'timeout': '5s', 'service': 'eventgate-logging-external', 'upstream': 'eventgate-logging-external.svc.codfw.wmnet', 'keepalive': '4.5s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'page-analytics', 'port': 6073, 'service': 'page-analytics', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'mwapi-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mwapi', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https'}, {'name': 'mw-api-int', 'port': 6501, 'service': 'mw-api-int', 'upstream': 'mw-api-int.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https'}, {'name': 'mw-api-int-async-ro', 'port': 6500, 'service': 'mw-api-int', 'upstream': 'mw-api-int-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '120s', 'xfp': 'https', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'restbase-for-services', 'port': 6503, 'service': 'restbase-https', 'timeout': '122s', 'keepalive': '4s', 'upstream': 'restbase.discovery.wmnet', 'xfp': 'https'}, {'name': 'machinetranslation', 'port': 6504, 'service': 'machinetranslation', 'timeout': '120s', 'sets_sni': True}, {'name': 'mw-wikifunctions-ro', 'port': 6501, 'service': 'mw-wikifunctions', 'upstream': 'mw-wikifunctions-ro.discovery.wmnet', 'keepalive': '4s', 'timeout': '60s', 'xfp': 'https', 'sets_sni': True, 'sni_rewrites_host_header': False}, {'name': 'mw-jobrunner', 'port': 6506, 'service': 'mw-jobrunner', 'timeout': '30s', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}, 'xfp': 'https'}, {'name': 'mw-misc', 'port': 6508, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'keepalive': '4s'}, {'name': 'noc', 'port': 6509, 'service': 'mw-misc', 'timeout': '30s', 'sets_sni': True, 'http_host': 'noc.wikimedia.org', 'keepalive': '4s'}, {'name': 'data-gateway-staging', 'port': 6510, 'service': 'data-gateway-staging', 'timeout': '10s', 'keepalive': '4s', 'sets_sni': True, 'upstream': 'data-gateway.k8s-staging.discovery.wmnet'}, {'name': 'recommendation-api-ng', 'port': 6511, 'service': 'recommendation-api-ng', 'timeout': '30s', 'keepalive': '4s', 'sets_sni': True}, {'name': 'wikifunctions-python-evaluator-staging', 'port': 6512, 'service': 'wikifunctions-python-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator-staging', 'port': 6513, 'service': 'wikifunctions-javascript-evaluator-staging', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.k8s-staging.discovery.wmnet'}, {'name': 'wikifunctions-python-evaluator', 'port': 6514, 'service': 'wikifunctions-python-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-python-evaluator.discovery.wmnet'}, {'name': 'wikifunctions-javascript-evaluator', 'port': 6515, 'service': 'wikifunctions-javascript-evaluator', 'timeout': '9.5s', 'keepalive': '60s', 'sets_sni': True, 'upstream': 'wikifunctions-javascript-evaluator.discovery.wmnet'}, {'name': 'opensearch-semantic-search', 'port': 6044, 'service': 'opensearch-semantic-search', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-semantic-search.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ipoid', 'port': 6045, 'service': 'opensearch-ipoid', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ipoid.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-ttmserver-test', 'port': 6046, 'service': 'opensearch-ttmserver-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-ttmserver-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}, {'name': 'opensearch-toolhub-test', 'port': 6047, 'service': 'opensearch-toolhub-test', 'timeout': '50s', 'keepalive': '50s', 'sets_sni': True, 'upstream': 'opensearch-toolhub-test.discovery.wmnet', 'retry': {'retry_on': 'gateway-error'}}]\n"}, {"resource": "File[/etc/helmfile-defaults/general-ml-serve-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-ml-serve-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-ml-serve-eqiad.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}, {"resource": "File[/etc/helmfile-defaults/general-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-codfw.yaml\n@@ -1959,6 +1959,34 @@\n       - 10.2.1.91/32\n       - 10.2.2.91/32\n       address: opensearch-ipoid.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-ttmserver-test:\n+    port: 6046\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-ttmserver-test.discovery.wmnet\n+      port: 30443\n+      encryption: true\n+      sets_sni: true\n+      keepalive: 50s\n+  opensearch-toolhub-test:\n+    port: 6047\n+    timeout: 50s\n+    retry_policy:\n+      retry_on: gateway-error\n+    upstream:\n+      ips:\n+      - 10.2.1.91/32\n+      - 10.2.2.91/32\n+      address: opensearch-toolhub-test.discovery.wmnet\n       port: 30443\n       encryption: true\n       sets_sni: true"}], "perc_changed": "0.09%"}}}