{"host": "deploy1003.eqiad.wmnet", "state": "core_diff", "description": "Differences to core resources", "diff": {"full": {"total": 17284, "only_in_self": [], "only_in_other": ["Envoyproxy::Cluster[shellbox-constraints_codfw_cluster]", "Envoyproxy::Cluster[shellbox-constraints_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-media_codfw_cluster]", "Envoyproxy::Cluster[shellbox-media_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-syntaxhighlight_codfw_cluster]", "Envoyproxy::Cluster[shellbox-syntaxhighlight_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-timeline_codfw_cluster]", "Envoyproxy::Cluster[shellbox-timeline_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-video_codfw_cluster]", "Envoyproxy::Cluster[shellbox-video_eqiad_cluster]", "Envoyproxy::Cluster[shellbox_codfw_cluster]", "Envoyproxy::Cluster[shellbox_eqiad_cluster]", "Envoyproxy::Conf[shellbox-codfw]", "Envoyproxy::Conf[shellbox-constraints-codfw]", "Envoyproxy::Conf[shellbox-constraints-eqiad]", "Envoyproxy::Conf[shellbox-constraints_codfw_cluster]", "Envoyproxy::Conf[shellbox-constraints_eqiad_cluster]", "Envoyproxy::Conf[shellbox-eqiad]", "Envoyproxy::Conf[shellbox-media-codfw]", "Envoyproxy::Conf[shellbox-media-eqiad]", "Envoyproxy::Conf[shellbox-media_codfw_cluster]", "Envoyproxy::Conf[shellbox-media_eqiad_cluster]", "Envoyproxy::Conf[shellbox-syntaxhighlight-codfw]", "Envoyproxy::Conf[shellbox-syntaxhighlight-eqiad]", "Envoyproxy::Conf[shellbox-syntaxhighlight_codfw_cluster]", "Envoyproxy::Conf[shellbox-syntaxhighlight_eqiad_cluster]", "Envoyproxy::Conf[shellbox-timeline-codfw]", "Envoyproxy::Conf[shellbox-timeline-eqiad]", "Envoyproxy::Conf[shellbox-timeline_codfw_cluster]", "Envoyproxy::Conf[shellbox-timeline_eqiad_cluster]", "Envoyproxy::Conf[shellbox-video-codfw]", "Envoyproxy::Conf[shellbox-video-eqiad]", "Envoyproxy::Conf[shellbox-video_codfw_cluster]", "Envoyproxy::Conf[shellbox-video_eqiad_cluster]", "Envoyproxy::Conf[shellbox_codfw_cluster]", "Envoyproxy::Conf[shellbox_eqiad_cluster]", "Envoyproxy::Listener[shellbox-codfw]", "Envoyproxy::Listener[shellbox-constraints-codfw]", "Envoyproxy::Listener[shellbox-constraints-eqiad]", "Envoyproxy::Listener[shellbox-eqiad]", "Envoyproxy::Listener[shellbox-media-codfw]", "Envoyproxy::Listener[shellbox-media-eqiad]", "Envoyproxy::Listener[shellbox-syntaxhighlight-codfw]", "Envoyproxy::Listener[shellbox-syntaxhighlight-eqiad]", "Envoyproxy::Listener[shellbox-timeline-codfw]", "Envoyproxy::Listener[shellbox-timeline-eqiad]", "Envoyproxy::Listener[shellbox-video-codfw]", "Envoyproxy::Listener[shellbox-video-eqiad]", "File[/etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_media_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_video_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml]"], "resource_diffs": [{"resource": "Envoyproxy::Cluster[shellbox-media_codfw_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-media_codfw_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-media_codfw_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-syntaxhighlight-codfw]", "parameters": "--- Envoyproxy::Listener[shellbox-syntaxhighlight-codfw].orig\n+++ Envoyproxy::Listener[shellbox-syntaxhighlight-codfw]\n\n+    priority => 50\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6127}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-syntaxhighlight-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-syntaxhighlight-eqiad.log\"\n+        stat_prefix: shellbox-syntaxhighlight-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-syntaxhighlight-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-syntaxhighlight-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-syntaxhighlight_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6127}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-syntaxhighlight-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-syntaxhighlight-eqiad.log\"\n+        stat_prefix: shellbox-syntaxhighlight-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-syntaxhighlight-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-syntaxhighlight-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-syntaxhighlight_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_eqiad.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_eqiad.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_eqiad.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6124}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-eqiad.log\"\n+        stat_prefix: shellbox-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6124}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-eqiad.log\"\n+        stat_prefix: shellbox-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_eqiad.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_eqiad.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Cluster[shellbox-syntaxhighlight_codfw_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-syntaxhighlight_codfw_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-syntaxhighlight_codfw_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-codfw]", "parameters": "--- Envoyproxy::Listener[shellbox-codfw].orig\n+++ Envoyproxy::Listener[shellbox-codfw]\n\n+    priority => 50\n"}, {"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@@ -1757,6 +1757,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Envoyproxy::Listener[shellbox-media-codfw]", "parameters": "--- Envoyproxy::Listener[shellbox-media-codfw].orig\n+++ Envoyproxy::Listener[shellbox-media-codfw]\n\n+    priority => 50\n"}, {"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@@ -1756,6 +1756,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox_eqiad\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox_eqiad\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox.svc.eqiad.wmnet\n+            port_value: 4008\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-timeline_eqiad_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-timeline_eqiad_cluster].orig\n+++ Envoyproxy::Conf[shellbox-timeline_eqiad_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox_eqiad_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox_eqiad_cluster].orig\n+++ Envoyproxy::Cluster[shellbox_eqiad_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-constraints-codfw]", "parameters": "--- Envoyproxy::Listener[shellbox-constraints-codfw].orig\n+++ Envoyproxy::Listener[shellbox-constraints-codfw]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-syntaxhighlight_eqiad_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-syntaxhighlight_eqiad_cluster].orig\n+++ Envoyproxy::Conf[shellbox-syntaxhighlight_eqiad_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_video_codfw.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_video_codfw.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_video_codfw.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6236}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-video-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-video-codfw.log\"\n+        stat_prefix: shellbox-video-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-video-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-video-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-video_codfw\n+                timeout: 86400s\n+                idle_timeout: 86400s\n+                retry_policy:\n+                  num_retries: 0\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6236}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-video-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-video-codfw.log\"\n+        stat_prefix: shellbox-video-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-video-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-video-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-video_codfw\n+                timeout: 86400s\n+                idle_timeout: 86400s\n+                retry_policy:\n+                  num_retries: 0\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_video_codfw.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_video_codfw.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-media-codfw]", "parameters": "--- Envoyproxy::Conf[shellbox-media-codfw].orig\n+++ Envoyproxy::Conf[shellbox-media-codfw]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-eqiad]", "parameters": "--- Envoyproxy::Conf[shellbox-eqiad].orig\n+++ Envoyproxy::Conf[shellbox-eqiad]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox-timeline_codfw_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-timeline_codfw_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-timeline_codfw_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-timeline-codfw]", "parameters": "--- Envoyproxy::Conf[shellbox-timeline-codfw].orig\n+++ Envoyproxy::Conf[shellbox-timeline-codfw]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml\n@@ -0,0 +1,40 @@\n+name: shellbox-video_codfw\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-video_codfw\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-video.svc.codfw.wmnet\n+            port_value: 4080\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+upstream_connection_options:\n+  tcp_keepalive:\n+    keepalive_time: 300\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-syntaxhighlight-eqiad]", "parameters": "--- Envoyproxy::Conf[shellbox-syntaxhighlight-eqiad].orig\n+++ Envoyproxy::Conf[shellbox-syntaxhighlight-eqiad]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox-syntaxhighlight_eqiad_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-syntaxhighlight_eqiad_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-syntaxhighlight_eqiad_cluster]\n\n+    priority => 50\n"}, {"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'}}, {'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+    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': 'shellbox-eqiad', 'port': 6124, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-eqiad', 'port': 6125, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-eqiad', 'port': 6126, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-eqiad', 'port': 6127, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-eqiad', 'port': 6128, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-eqiad', 'port': 6136, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.eqiad.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'shellbox-codfw', 'port': 6224, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-codfw', 'port': 6225, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-codfw', 'port': 6226, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-codfw', 'port': 6227, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-codfw', 'port': 6228, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-codfw', 'port': 6236, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.codfw.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'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/envoy/listeners.d/50-shellbox_video_eqiad.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6136}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-video-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-video-eqiad.log\"\n+        stat_prefix: shellbox-video-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-video-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-video-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-video_eqiad\n+                timeout: 86400s\n+                idle_timeout: 86400s\n+                retry_policy:\n+                  num_retries: 0\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6136}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-video-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-video-eqiad.log\"\n+        stat_prefix: shellbox-video-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-video-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-video-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-video_eqiad\n+                timeout: 86400s\n+                idle_timeout: 86400s\n+                retry_policy:\n+                  num_retries: 0\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Envoyproxy::Listener[shellbox-video-codfw]", "parameters": "--- Envoyproxy::Listener[shellbox-video-codfw].orig\n+++ Envoyproxy::Listener[shellbox-video-codfw]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox-video_eqiad_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-video_eqiad_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-video_eqiad_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-media_eqiad_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-media_eqiad_cluster].orig\n+++ Envoyproxy::Conf[shellbox-media_eqiad_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox_codfw_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox_codfw_cluster].orig\n+++ Envoyproxy::Cluster[shellbox_codfw_cluster]\n\n+    priority => 50\n"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Envoyproxy::Conf[shellbox-timeline_codfw_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-timeline_codfw_cluster].orig\n+++ Envoyproxy::Conf[shellbox-timeline_codfw_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-media_eqiad\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-media_eqiad\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-media.svc.eqiad.wmnet\n+            port_value: 4015\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6227}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-syntaxhighlight-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-syntaxhighlight-codfw.log\"\n+        stat_prefix: shellbox-syntaxhighlight-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-syntaxhighlight-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-syntaxhighlight-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-syntaxhighlight_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6227}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-syntaxhighlight-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-syntaxhighlight-codfw.log\"\n+        stat_prefix: shellbox-syntaxhighlight-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-syntaxhighlight-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-syntaxhighlight-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-syntaxhighlight_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Cluster[shellbox-video_codfw_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-video_codfw_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-video_codfw_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-media_codfw_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-media_codfw_cluster].orig\n+++ Envoyproxy::Conf[shellbox-media_codfw_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-timeline_eqiad\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-timeline_eqiad\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-timeline.svc.eqiad.wmnet\n+            port_value: 4012\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-video-eqiad]", "parameters": "--- Envoyproxy::Conf[shellbox-video-eqiad].orig\n+++ Envoyproxy::Conf[shellbox-video-eqiad]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-video_eqiad_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-video_eqiad_cluster].orig\n+++ Envoyproxy::Conf[shellbox-video_eqiad_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-constraints-eqiad]", "parameters": "--- Envoyproxy::Listener[shellbox-constraints-eqiad].orig\n+++ Envoyproxy::Listener[shellbox-constraints-eqiad]\n\n+    priority => 50\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox_codfw\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox_codfw\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox.svc.codfw.wmnet\n+            port_value: 4008\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-syntaxhighlight_eqiad\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-syntaxhighlight_eqiad\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+            port_value: 4014\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox_codfw_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox_codfw_cluster].orig\n+++ Envoyproxy::Conf[shellbox_codfw_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_codfw.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_codfw.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_codfw.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6224}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-codfw.log\"\n+        stat_prefix: shellbox-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6224}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-codfw.log\"\n+        stat_prefix: shellbox-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_codfw.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_codfw.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Listener[shellbox-media-eqiad]", "parameters": "--- Envoyproxy::Listener[shellbox-media-eqiad].orig\n+++ Envoyproxy::Listener[shellbox-media-eqiad]\n\n+    priority => 50\n"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Envoyproxy::Cluster[shellbox-constraints_codfw_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-constraints_codfw_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-constraints_codfw_cluster]\n\n+    priority => 50\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_media_codfw.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_media_codfw.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_media_codfw.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6226}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-media-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-media-codfw.log\"\n+        stat_prefix: shellbox-media-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-media-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-media-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-media_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6226}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-media-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-media-codfw.log\"\n+        stat_prefix: shellbox-media-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-media-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-media-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-media_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_media_codfw.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_media_codfw.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Class[Profile::Kubernetes::Deployment_server::Mediawiki::Config]", "parameters": "--- Class[Profile::Kubernetes::Deployment_server::Mediawiki::Config].orig\n+++ Class[Profile::Kubernetes::Deployment_server::Mediawiki::Config]\n\n@@\n-    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6126}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-media-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-media-eqiad.log\"\n+        stat_prefix: shellbox-media-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-media-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-media-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-media_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6126}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-media-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-media-eqiad.log\"\n+        stat_prefix: shellbox-media-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-media-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-media-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-media_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6125}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-constraints-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-constraints-eqiad.log\"\n+        stat_prefix: shellbox-constraints-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-constraints-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-constraints-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-constraints_eqiad\n+                timeout: 10s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6125}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-constraints-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-constraints-eqiad.log\"\n+        stat_prefix: shellbox-constraints-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-constraints-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-constraints-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-constraints_eqiad\n+                timeout: 10s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Listener[shellbox-timeline-eqiad]", "parameters": "--- Envoyproxy::Listener[shellbox-timeline-eqiad].orig\n+++ Envoyproxy::Listener[shellbox-timeline-eqiad]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-timeline-eqiad]", "parameters": "--- Envoyproxy::Conf[shellbox-timeline-eqiad].orig\n+++ Envoyproxy::Conf[shellbox-timeline-eqiad]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-syntaxhighlight-codfw]", "parameters": "--- Envoyproxy::Conf[shellbox-syntaxhighlight-codfw].orig\n+++ Envoyproxy::Conf[shellbox-syntaxhighlight-codfw]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-timeline-codfw]", "parameters": "--- Envoyproxy::Listener[shellbox-timeline-codfw].orig\n+++ Envoyproxy::Listener[shellbox-timeline-codfw]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox_eqiad_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox_eqiad_cluster].orig\n+++ Envoyproxy::Conf[shellbox_eqiad_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "Class[Mediawiki::Tlsproxy::Yaml_defs]", "parameters": "--- Class[Mediawiki::Tlsproxy::Yaml_defs].orig\n+++ Class[Mediawiki::Tlsproxy::Yaml_defs]\n\n@@\n-    listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n"}, {"resource": "File[/etc/helmfile-defaults/sophroid/listeners.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/listeners.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/listeners.yaml\n@@ -418,6 +418,114 @@\n   timeout: 10s\n   keepalive: 4s\n   sets_sni: true\n+- name: shellbox-eqiad\n+  port: 6124\n+  timeout: 60s\n+  service: shellbox\n+  upstream: shellbox.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-constraints-eqiad\n+  port: 6125\n+  timeout: 10s\n+  service: shellbox-constraints\n+  upstream: shellbox-constraints.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-media-eqiad\n+  port: 6126\n+  timeout: 60s\n+  service: shellbox-media\n+  upstream: shellbox-media.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-syntaxhighlight-eqiad\n+  port: 6127\n+  timeout: 60s\n+  service: shellbox-syntaxhighlight\n+  upstream: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-timeline-eqiad\n+  port: 6128\n+  timeout: 60s\n+  service: shellbox-timeline\n+  upstream: shellbox-timeline.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-video-eqiad\n+  port: 6136\n+  timeout: 86400s\n+  idle_timeout: 86400s\n+  service: shellbox-video\n+  upstream: shellbox-video.svc.eqiad.wmnet\n+  keepalive: 4s\n+  tcp_keepalive:\n+    keepalive_time: 300\n+- name: shellbox-codfw\n+  port: 6224\n+  timeout: 60s\n+  service: shellbox\n+  upstream: shellbox.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-constraints-codfw\n+  port: 6225\n+  timeout: 10s\n+  service: shellbox-constraints\n+  upstream: shellbox-constraints.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-media-codfw\n+  port: 6226\n+  timeout: 60s\n+  service: shellbox-media\n+  upstream: shellbox-media.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-syntaxhighlight-codfw\n+  port: 6227\n+  timeout: 60s\n+  service: shellbox-syntaxhighlight\n+  upstream: shellbox-syntaxhighlight.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-timeline-codfw\n+  port: 6228\n+  timeout: 60s\n+  service: shellbox-timeline\n+  upstream: shellbox-timeline.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-video-codfw\n+  port: 6236\n+  timeout: 86400s\n+  idle_timeout: 86400s\n+  service: shellbox-video\n+  upstream: shellbox-video.svc.codfw.wmnet\n+  keepalive: 4s\n+  tcp_keepalive:\n+    keepalive_time: 300\n - name: mwapi-async\n   port: 6500\n   service: mw-api-int\n@@ -594,6 +702,18 @@\n - shellbox-syntaxhighlight\n - shellbox-timeline\n - shellbox-video\n+- shellbox-eqiad\n+- shellbox-constraints-eqiad\n+- shellbox-media-eqiad\n+- shellbox-syntaxhighlight-eqiad\n+- shellbox-timeline-eqiad\n+- shellbox-video-eqiad\n+- shellbox-codfw\n+- shellbox-constraints-codfw\n+- shellbox-media-codfw\n+- shellbox-syntaxhighlight-codfw\n+- shellbox-timeline-codfw\n+- shellbox-video-codfw\n - swift-eqiad\n - swift-codfw\n - search-chi-eqiad"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-constraints_eqiad\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-constraints_eqiad\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-constraints.svc.eqiad.wmnet\n+            port_value: 4010\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-video-codfw]", "parameters": "--- Envoyproxy::Conf[shellbox-video-codfw].orig\n+++ Envoyproxy::Conf[shellbox-video-codfw]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox-media_eqiad_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-media_eqiad_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-media_eqiad_cluster]\n\n+    priority => 50\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'}}, {'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+    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': 'shellbox-eqiad', 'port': 6124, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-eqiad', 'port': 6125, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-eqiad', 'port': 6126, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-eqiad', 'port': 6127, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-eqiad', 'port': 6128, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-eqiad', 'port': 6136, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.eqiad.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'shellbox-codfw', 'port': 6224, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-codfw', 'port': 6225, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-codfw', 'port': 6226, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-codfw', 'port': 6227, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-codfw', 'port': 6228, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-codfw', 'port': 6236, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.codfw.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'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-    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-syntaxhighlight_codfw\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-syntaxhighlight_codfw\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+            port_value: 4014\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-constraints-eqiad]", "parameters": "--- Envoyproxy::Conf[shellbox-constraints-eqiad].orig\n+++ Envoyproxy::Conf[shellbox-constraints-eqiad]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-video-eqiad]", "parameters": "--- Envoyproxy::Listener[shellbox-video-eqiad].orig\n+++ Envoyproxy::Listener[shellbox-video-eqiad]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-constraints-codfw]", "parameters": "--- Envoyproxy::Conf[shellbox-constraints-codfw].orig\n+++ Envoyproxy::Conf[shellbox-constraints-codfw]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-constraints_codfw\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-constraints_codfw\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-constraints.svc.codfw.wmnet\n+            port_value: 4010\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6228}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-timeline-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-timeline-codfw.log\"\n+        stat_prefix: shellbox-timeline-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-timeline-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-timeline-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-timeline_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6228}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-timeline-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-timeline-codfw.log\"\n+        stat_prefix: shellbox-timeline-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-timeline-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-timeline-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-timeline_codfw\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-video_codfw_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-video_codfw_cluster].orig\n+++ Envoyproxy::Conf[shellbox-video_codfw_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"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-    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\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'}}, {'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+    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': 'shellbox-eqiad', 'port': 6124, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-eqiad', 'port': 6125, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-eqiad', 'port': 6126, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-eqiad', 'port': 6127, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-eqiad', 'port': 6128, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-eqiad', 'port': 6136, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.eqiad.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'shellbox-codfw', 'port': 6224, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-codfw', 'port': 6225, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-codfw', 'port': 6226, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-codfw', 'port': 6227, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-codfw', 'port': 6228, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-codfw', 'port': 6236, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.codfw.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'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/envoy/listeners.d/50-shellbox_constraints_codfw.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6225}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-constraints-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-constraints-codfw.log\"\n+        stat_prefix: shellbox-constraints-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-constraints-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-constraints-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-constraints_codfw\n+                timeout: 10s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6225}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-constraints-codfw_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-constraints-codfw.log\"\n+        stat_prefix: shellbox-constraints-codfw_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-constraints-codfw_route\n+          virtual_hosts:\n+          - name: shellbox-constraints-codfw\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-constraints_codfw\n+                timeout: 10s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Cluster[shellbox-timeline_eqiad_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-timeline_eqiad_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-timeline_eqiad_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-eqiad]", "parameters": "--- Envoyproxy::Listener[shellbox-eqiad].orig\n+++ Envoyproxy::Listener[shellbox-eqiad]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Listener[shellbox-syntaxhighlight-eqiad]", "parameters": "--- Envoyproxy::Listener[shellbox-syntaxhighlight-eqiad].orig\n+++ Envoyproxy::Listener[shellbox-syntaxhighlight-eqiad]\n\n+    priority => 50\n"}, {"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@@ -1756,6 +1756,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Envoyproxy::Conf[shellbox-syntaxhighlight_codfw_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-syntaxhighlight_codfw_cluster].orig\n+++ Envoyproxy::Conf[shellbox-syntaxhighlight_codfw_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-timeline_codfw\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-timeline_codfw\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-timeline.svc.codfw.wmnet\n+            port_value: 4012\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "File[/etc/helmfile-defaults/general-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-eqiad.yaml\n@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml\n@@ -0,0 +1,40 @@\n+name: shellbox-video_eqiad\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-video_eqiad\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-video.svc.eqiad.wmnet\n+            port_value: 4080\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+upstream_connection_options:\n+  tcp_keepalive:\n+    keepalive_time: 300\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-media-eqiad]", "parameters": "--- Envoyproxy::Conf[shellbox-media-eqiad].orig\n+++ Envoyproxy::Conf[shellbox-media-eqiad]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "File[/etc/helmfile-defaults/mediawiki/tlsproxy.yaml]", "content": "--- /etc/helmfile-defaults/mediawiki/tlsproxy.yaml.orig\n+++ /etc/helmfile-defaults/mediawiki/tlsproxy.yaml\n@@ -18,6 +18,18 @@\n   - shellbox-syntaxhighlight\n   - shellbox-timeline\n   - shellbox-video\n+  - shellbox-eqiad\n+  - shellbox-constraints-eqiad\n+  - shellbox-media-eqiad\n+  - shellbox-syntaxhighlight-eqiad\n+  - shellbox-timeline-eqiad\n+  - shellbox-video-eqiad\n+  - shellbox-codfw\n+  - shellbox-constraints-codfw\n+  - shellbox-media-codfw\n+  - shellbox-syntaxhighlight-codfw\n+  - shellbox-timeline-codfw\n+  - shellbox-video-codfw\n   - swift-eqiad\n   - swift-codfw\n   - search-chi-eqiad"}, {"resource": "File[/etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml]", "content": "--- /etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml.orig\n+++ /etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml\n@@ -0,0 +1,92 @@\n+- address:\n+    socket_address: {protocol: TCP, address: \"::\", port_value: 6128}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-timeline-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-timeline-eqiad.log\"\n+        stat_prefix: shellbox-timeline-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-timeline-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-timeline-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-timeline_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128\n+- address:\n+    socket_address: {protocol: TCP, address: 0.0.0.0, port_value: 6128}\n+  filter_chains:\n+  - filters:\n+    - name: envoy.filters.network.http_connection_manager\n+      typed_config:\n+        \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n+        access_log:\n+        - filter:\n+            status_code_filter:\n+              comparison:\n+                op: \"GE\"\n+                value:\n+                  default_value: 500\n+                  runtime_key: shellbox-timeline-eqiad_min_log_code\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog\n+            path: \"/var/log/envoy/shellbox-timeline-eqiad.log\"\n+        stat_prefix: shellbox-timeline-eqiad_egress\n+        http_filters:\n+        - name: envoy.filters.http.router\n+          typed_config:\n+            \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n+        route_config:\n+          name: shellbox-timeline-eqiad_route\n+          virtual_hosts:\n+          - name: shellbox-timeline-eqiad\n+            domains: [\"*\"]\n+            routes:\n+            - match:\n+                prefix: \"/\"\n+              route:\n+                cluster: shellbox-timeline_eqiad\n+                timeout: 60s\n+                retry_policy:\n+                  retry_on: \"5xx\"\n+                  num_retries: 1\n+        internal_address_config:\n+          unix_sockets: true\n+          cidr_ranges:\n+          - address_prefix: 10.0.0.0\n+            prefix_len: 8\n+          - address_prefix: 127.0.0.1\n+            prefix_len: 32\n+          - address_prefix: ::1\n+            prefix_len: 128", "parameters": "--- File[/etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml].orig\n+++ File[/etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "File[/etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml]", "content": "--- /etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml.orig\n+++ /etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml\n@@ -0,0 +1,37 @@\n+name: shellbox-media_codfw\n+connect_timeout: 0.25s\n+typed_extension_protocol_options:\n+  envoy.extensions.upstreams.http.v3.HttpProtocolOptions:\n+    \"@type\": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions\n+    common_http_protocol_options:\n+      idle_timeout: 4s\n+      # Given we go through a load-balancer, we want to keep the number of requests that go through a single connection pool small\n+      max_requests_per_connection: 1000\n+    use_downstream_protocol_config: {}\n+type: STRICT_DNS\n+dns_lookup_family: V4_ONLY\n+lb_policy: ROUND_ROBIN\n+load_assignment:\n+  cluster_name: cluster_shellbox-media_codfw\n+  endpoints:\n+  - lb_endpoints:\n+    - endpoint:\n+        address:\n+          socket_address:\n+            address: shellbox-media.svc.codfw.wmnet\n+            port_value: 4015\n+# Let's not enable circuit-breaking for now. It would look something like\n+#circuit_breakers:\n+#  thresholds:\n+#    - max_pending_requests: 30\n+transport_socket:\n+  name: envoy.transport_sockets.tls\n+  typed_config:\n+    \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n+    common_tls_context:\n+       tls_params:\n+         cipher_suites: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384\n+       validation_context:\n+         trusted_ca:\n+           filename: /etc/ssl/certs/ca-certificates.crt\n+", "parameters": "--- File[/etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml].orig\n+++ File[/etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml]\n\n+    owner  => root\n+    ensure => present\n+    group  => root\n+    notify => Exec[verify-envoy-config]\n+    mode   => 0444\n"}, {"resource": "Envoyproxy::Conf[shellbox-codfw]", "parameters": "--- Envoyproxy::Conf[shellbox-codfw].orig\n+++ Envoyproxy::Conf[shellbox-codfw]\n\n+    conf_type => listener\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-constraints_codfw_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-constraints_codfw_cluster].orig\n+++ Envoyproxy::Conf[shellbox-constraints_codfw_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}, {"resource": "Envoyproxy::Cluster[shellbox-constraints_eqiad_cluster]", "parameters": "--- Envoyproxy::Cluster[shellbox-constraints_eqiad_cluster].orig\n+++ Envoyproxy::Cluster[shellbox-constraints_eqiad_cluster]\n\n+    priority => 50\n"}, {"resource": "Envoyproxy::Conf[shellbox-constraints_eqiad_cluster]", "parameters": "--- Envoyproxy::Conf[shellbox-constraints_eqiad_cluster].orig\n+++ Envoyproxy::Conf[shellbox-constraints_eqiad_cluster]\n\n+    conf_type => cluster\n+    priority  => 50\n"}], "perc_changed": "0.94%"}, "core": {"total": 17284, "only_in_self": [], "only_in_other": ["File[/etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_media_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_video_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml]"], "resource_diffs": [{"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1757,6 +1757,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1756,6 +1756,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/sophroid/listeners.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/listeners.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/listeners.yaml\n@@ -418,6 +418,114 @@\n   timeout: 10s\n   keepalive: 4s\n   sets_sni: true\n+- name: shellbox-eqiad\n+  port: 6124\n+  timeout: 60s\n+  service: shellbox\n+  upstream: shellbox.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-constraints-eqiad\n+  port: 6125\n+  timeout: 10s\n+  service: shellbox-constraints\n+  upstream: shellbox-constraints.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-media-eqiad\n+  port: 6126\n+  timeout: 60s\n+  service: shellbox-media\n+  upstream: shellbox-media.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-syntaxhighlight-eqiad\n+  port: 6127\n+  timeout: 60s\n+  service: shellbox-syntaxhighlight\n+  upstream: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-timeline-eqiad\n+  port: 6128\n+  timeout: 60s\n+  service: shellbox-timeline\n+  upstream: shellbox-timeline.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-video-eqiad\n+  port: 6136\n+  timeout: 86400s\n+  idle_timeout: 86400s\n+  service: shellbox-video\n+  upstream: shellbox-video.svc.eqiad.wmnet\n+  keepalive: 4s\n+  tcp_keepalive:\n+    keepalive_time: 300\n+- name: shellbox-codfw\n+  port: 6224\n+  timeout: 60s\n+  service: shellbox\n+  upstream: shellbox.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-constraints-codfw\n+  port: 6225\n+  timeout: 10s\n+  service: shellbox-constraints\n+  upstream: shellbox-constraints.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-media-codfw\n+  port: 6226\n+  timeout: 60s\n+  service: shellbox-media\n+  upstream: shellbox-media.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-syntaxhighlight-codfw\n+  port: 6227\n+  timeout: 60s\n+  service: shellbox-syntaxhighlight\n+  upstream: shellbox-syntaxhighlight.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-timeline-codfw\n+  port: 6228\n+  timeout: 60s\n+  service: shellbox-timeline\n+  upstream: shellbox-timeline.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-video-codfw\n+  port: 6236\n+  timeout: 86400s\n+  idle_timeout: 86400s\n+  service: shellbox-video\n+  upstream: shellbox-video.svc.codfw.wmnet\n+  keepalive: 4s\n+  tcp_keepalive:\n+    keepalive_time: 300\n - name: mwapi-async\n   port: 6500\n   service: mw-api-int\n@@ -594,6 +702,18 @@\n - shellbox-syntaxhighlight\n - shellbox-timeline\n - shellbox-video\n+- shellbox-eqiad\n+- shellbox-constraints-eqiad\n+- shellbox-media-eqiad\n+- shellbox-syntaxhighlight-eqiad\n+- shellbox-timeline-eqiad\n+- shellbox-video-eqiad\n+- shellbox-codfw\n+- shellbox-constraints-codfw\n+- shellbox-media-codfw\n+- shellbox-syntaxhighlight-codfw\n+- shellbox-timeline-codfw\n+- shellbox-video-codfw\n - swift-eqiad\n - swift-codfw\n - search-chi-eqiad"}, {"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@@ -1756,6 +1756,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/general-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-eqiad.yaml\n@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/mediawiki/tlsproxy.yaml]", "content": "--- /etc/helmfile-defaults/mediawiki/tlsproxy.yaml.orig\n+++ /etc/helmfile-defaults/mediawiki/tlsproxy.yaml\n@@ -18,6 +18,18 @@\n   - shellbox-syntaxhighlight\n   - shellbox-timeline\n   - shellbox-video\n+  - shellbox-eqiad\n+  - shellbox-constraints-eqiad\n+  - shellbox-media-eqiad\n+  - shellbox-syntaxhighlight-eqiad\n+  - shellbox-timeline-eqiad\n+  - shellbox-video-eqiad\n+  - shellbox-codfw\n+  - shellbox-constraints-codfw\n+  - shellbox-media-codfw\n+  - shellbox-syntaxhighlight-codfw\n+  - shellbox-timeline-codfw\n+  - shellbox-video-codfw\n   - swift-eqiad\n   - swift-codfw\n   - search-chi-eqiad"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/general-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-codfw.yaml\n@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}], "perc_changed": "0.21%"}, "main": {"total": 17284, "only_in_self": [], "only_in_other": ["Envoyproxy::Cluster[shellbox-constraints_codfw_cluster]", "Envoyproxy::Cluster[shellbox-constraints_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-media_codfw_cluster]", "Envoyproxy::Cluster[shellbox-media_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-syntaxhighlight_codfw_cluster]", "Envoyproxy::Cluster[shellbox-syntaxhighlight_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-timeline_codfw_cluster]", "Envoyproxy::Cluster[shellbox-timeline_eqiad_cluster]", "Envoyproxy::Cluster[shellbox-video_codfw_cluster]", "Envoyproxy::Cluster[shellbox-video_eqiad_cluster]", "Envoyproxy::Cluster[shellbox_codfw_cluster]", "Envoyproxy::Cluster[shellbox_eqiad_cluster]", "Envoyproxy::Conf[shellbox-codfw]", "Envoyproxy::Conf[shellbox-constraints-codfw]", "Envoyproxy::Conf[shellbox-constraints-eqiad]", "Envoyproxy::Conf[shellbox-constraints_codfw_cluster]", "Envoyproxy::Conf[shellbox-constraints_eqiad_cluster]", "Envoyproxy::Conf[shellbox-eqiad]", "Envoyproxy::Conf[shellbox-media-codfw]", "Envoyproxy::Conf[shellbox-media-eqiad]", "Envoyproxy::Conf[shellbox-media_codfw_cluster]", "Envoyproxy::Conf[shellbox-media_eqiad_cluster]", "Envoyproxy::Conf[shellbox-syntaxhighlight-codfw]", "Envoyproxy::Conf[shellbox-syntaxhighlight-eqiad]", "Envoyproxy::Conf[shellbox-syntaxhighlight_codfw_cluster]", "Envoyproxy::Conf[shellbox-syntaxhighlight_eqiad_cluster]", "Envoyproxy::Conf[shellbox-timeline-codfw]", "Envoyproxy::Conf[shellbox-timeline-eqiad]", "Envoyproxy::Conf[shellbox-timeline_codfw_cluster]", "Envoyproxy::Conf[shellbox-timeline_eqiad_cluster]", "Envoyproxy::Conf[shellbox-video-codfw]", "Envoyproxy::Conf[shellbox-video-eqiad]", "Envoyproxy::Conf[shellbox-video_codfw_cluster]", "Envoyproxy::Conf[shellbox-video_eqiad_cluster]", "Envoyproxy::Conf[shellbox_codfw_cluster]", "Envoyproxy::Conf[shellbox_eqiad_cluster]", "Envoyproxy::Listener[shellbox-codfw]", "Envoyproxy::Listener[shellbox-constraints-codfw]", "Envoyproxy::Listener[shellbox-constraints-eqiad]", "Envoyproxy::Listener[shellbox-eqiad]", "Envoyproxy::Listener[shellbox-media-codfw]", "Envoyproxy::Listener[shellbox-media-eqiad]", "Envoyproxy::Listener[shellbox-syntaxhighlight-codfw]", "Envoyproxy::Listener[shellbox-syntaxhighlight-eqiad]", "Envoyproxy::Listener[shellbox-timeline-codfw]", "Envoyproxy::Listener[shellbox-timeline-eqiad]", "Envoyproxy::Listener[shellbox-video-codfw]", "Envoyproxy::Listener[shellbox-video-eqiad]", "File[/etc/envoy/clusters.d/50-shellbox_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_constraints_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_constraints_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_media_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_media_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_syntaxhighlight_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_timeline_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_timeline_eqiad_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_video_codfw_cluster.yaml]", "File[/etc/envoy/clusters.d/50-shellbox_video_eqiad_cluster.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_constraints_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_constraints_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_media_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_media_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_syntaxhighlight_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_timeline_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_timeline_eqiad.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_video_codfw.yaml]", "File[/etc/envoy/listeners.d/50-shellbox_video_eqiad.yaml]"], "resource_diffs": [{"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1757,6 +1757,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Class[Profile::Kubernetes::Deployment_server::Mediawiki::Config]", "parameters": "--- Class[Profile::Kubernetes::Deployment_server::Mediawiki::Config].orig\n+++ Class[Profile::Kubernetes::Deployment_server::Mediawiki::Config]\n\n@@\n-    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n"}, {"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@@ -1756,6 +1756,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "Class[Mediawiki::Tlsproxy::Yaml_defs]", "parameters": "--- Class[Mediawiki::Tlsproxy::Yaml_defs].orig\n+++ Class[Mediawiki::Tlsproxy::Yaml_defs]\n\n@@\n-    listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/sophroid/listeners.yaml]", "content": "--- /etc/helmfile-defaults/sophroid/listeners.yaml.orig\n+++ /etc/helmfile-defaults/sophroid/listeners.yaml\n@@ -418,6 +418,114 @@\n   timeout: 10s\n   keepalive: 4s\n   sets_sni: true\n+- name: shellbox-eqiad\n+  port: 6124\n+  timeout: 60s\n+  service: shellbox\n+  upstream: shellbox.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-constraints-eqiad\n+  port: 6125\n+  timeout: 10s\n+  service: shellbox-constraints\n+  upstream: shellbox-constraints.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-media-eqiad\n+  port: 6126\n+  timeout: 60s\n+  service: shellbox-media\n+  upstream: shellbox-media.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-syntaxhighlight-eqiad\n+  port: 6127\n+  timeout: 60s\n+  service: shellbox-syntaxhighlight\n+  upstream: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-timeline-eqiad\n+  port: 6128\n+  timeout: 60s\n+  service: shellbox-timeline\n+  upstream: shellbox-timeline.svc.eqiad.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-video-eqiad\n+  port: 6136\n+  timeout: 86400s\n+  idle_timeout: 86400s\n+  service: shellbox-video\n+  upstream: shellbox-video.svc.eqiad.wmnet\n+  keepalive: 4s\n+  tcp_keepalive:\n+    keepalive_time: 300\n+- name: shellbox-codfw\n+  port: 6224\n+  timeout: 60s\n+  service: shellbox\n+  upstream: shellbox.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-constraints-codfw\n+  port: 6225\n+  timeout: 10s\n+  service: shellbox-constraints\n+  upstream: shellbox-constraints.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-media-codfw\n+  port: 6226\n+  timeout: 60s\n+  service: shellbox-media\n+  upstream: shellbox-media.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-syntaxhighlight-codfw\n+  port: 6227\n+  timeout: 60s\n+  service: shellbox-syntaxhighlight\n+  upstream: shellbox-syntaxhighlight.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-timeline-codfw\n+  port: 6228\n+  timeout: 60s\n+  service: shellbox-timeline\n+  upstream: shellbox-timeline.svc.codfw.wmnet\n+  keepalive: 4s\n+  retry:\n+    retry_on: 5xx\n+    num_retries: 1\n+- name: shellbox-video-codfw\n+  port: 6236\n+  timeout: 86400s\n+  idle_timeout: 86400s\n+  service: shellbox-video\n+  upstream: shellbox-video.svc.codfw.wmnet\n+  keepalive: 4s\n+  tcp_keepalive:\n+    keepalive_time: 300\n - name: mwapi-async\n   port: 6500\n   service: mw-api-int\n@@ -594,6 +702,18 @@\n - shellbox-syntaxhighlight\n - shellbox-timeline\n - shellbox-video\n+- shellbox-eqiad\n+- shellbox-constraints-eqiad\n+- shellbox-media-eqiad\n+- shellbox-syntaxhighlight-eqiad\n+- shellbox-timeline-eqiad\n+- shellbox-video-eqiad\n+- shellbox-codfw\n+- shellbox-constraints-codfw\n+- shellbox-media-codfw\n+- shellbox-syntaxhighlight-codfw\n+- shellbox-timeline-codfw\n+- shellbox-video-codfw\n - swift-eqiad\n - swift-codfw\n - search-chi-eqiad"}, {"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'}}, {'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+    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': 'shellbox-eqiad', 'port': 6124, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-eqiad', 'port': 6125, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-eqiad', 'port': 6126, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-eqiad', 'port': 6127, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-eqiad', 'port': 6128, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-eqiad', 'port': 6136, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.eqiad.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'shellbox-codfw', 'port': 6224, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-codfw', 'port': 6225, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-codfw', 'port': 6226, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-codfw', 'port': 6227, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-codfw', 'port': 6228, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-codfw', 'port': 6236, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.codfw.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'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-    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n"}, {"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-    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\n+    enabled_listeners => ['mathoid', 'eventgate-analytics', 'eventgate-analytics-external', 'eventgate-main', 'sessionstore', 'echostore', 'termbox', 'push-notifications', 'restbase', 'rest-gateway', 'cxserver', 'shellbox', 'shellbox-constraints', 'shellbox-media', 'shellbox-syntaxhighlight', 'shellbox-timeline', 'shellbox-video', 'shellbox-eqiad', 'shellbox-constraints-eqiad', 'shellbox-media-eqiad', 'shellbox-syntaxhighlight-eqiad', 'shellbox-timeline-eqiad', 'shellbox-video-eqiad', 'shellbox-codfw', 'shellbox-constraints-codfw', 'shellbox-media-codfw', 'shellbox-syntaxhighlight-codfw', 'shellbox-timeline-codfw', 'shellbox-video-codfw', 'swift-eqiad', 'swift-codfw', 'search-chi-eqiad', 'search-chi-codfw', 'search-chi', 'search-omega-eqiad', 'search-omega-codfw', 'search-omega', 'search-psi-eqiad', 'search-psi-codfw', 'search-psi', 'cloudelastic-chi-eqiad', 'cloudelastic-omega-eqiad', 'cloudelastic-psi-eqiad', 'mw-api-int', 'linkrecommendation', 'device-analytics', 'inference', 'wikifunctions', 'ipoid', 'test-kitchen', 'chart-renderer', 'wdqs-internal-main', 'wdqs-internal-scholarly', 'data-gateway', 'analytics-web', 'page-analytics', 'opensearch-semantic-search', 'opensearch-ipoid', 'opensearch-ttmserver-test', 'opensearch-toolhub-test']\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'}}, {'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+    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': 'shellbox-eqiad', 'port': 6124, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-eqiad', 'port': 6125, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-eqiad', 'port': 6126, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-eqiad', 'port': 6127, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-eqiad', 'port': 6128, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-eqiad', 'port': 6136, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.eqiad.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'shellbox-codfw', 'port': 6224, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-codfw', 'port': 6225, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-codfw', 'port': 6226, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-codfw', 'port': 6227, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-codfw', 'port': 6228, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-codfw', 'port': 6236, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.codfw.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'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-staging-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-staging-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-staging-eqiad.yaml\n@@ -1756,6 +1756,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"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'}}, {'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+    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': 'shellbox-eqiad', 'port': 6124, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-eqiad', 'port': 6125, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-eqiad', 'port': 6126, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-eqiad', 'port': 6127, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-eqiad', 'port': 6128, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.eqiad.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-eqiad', 'port': 6136, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.eqiad.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'name': 'shellbox-codfw', 'port': 6224, 'timeout': '60s', 'service': 'shellbox', 'upstream': 'shellbox.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-constraints-codfw', 'port': 6225, 'timeout': '10s', 'service': 'shellbox-constraints', 'upstream': 'shellbox-constraints.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-media-codfw', 'port': 6226, 'timeout': '60s', 'service': 'shellbox-media', 'upstream': 'shellbox-media.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-syntaxhighlight-codfw', 'port': 6227, 'timeout': '60s', 'service': 'shellbox-syntaxhighlight', 'upstream': 'shellbox-syntaxhighlight.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-timeline-codfw', 'port': 6228, 'timeout': '60s', 'service': 'shellbox-timeline', 'upstream': 'shellbox-timeline.svc.codfw.wmnet', 'keepalive': '4s', 'retry': {'retry_on': '5xx', 'num_retries': 1}}, {'name': 'shellbox-video-codfw', 'port': 6236, 'timeout': '86400s', 'idle_timeout': '86400s', 'service': 'shellbox-video', 'upstream': 'shellbox-video.svc.codfw.wmnet', 'keepalive': '4s', 'tcp_keepalive': {'keepalive_time': 300}}, {'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-aux-k8s-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-aux-k8s-eqiad.yaml\n@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/general-eqiad.yaml]", "content": "--- /etc/helmfile-defaults/general-eqiad.yaml.orig\n+++ /etc/helmfile-defaults/general-eqiad.yaml\n@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/mediawiki/tlsproxy.yaml]", "content": "--- /etc/helmfile-defaults/mediawiki/tlsproxy.yaml.orig\n+++ /etc/helmfile-defaults/mediawiki/tlsproxy.yaml\n@@ -18,6 +18,18 @@\n   - shellbox-syntaxhighlight\n   - shellbox-timeline\n   - shellbox-video\n+  - shellbox-eqiad\n+  - shellbox-constraints-eqiad\n+  - shellbox-media-eqiad\n+  - shellbox-syntaxhighlight-eqiad\n+  - shellbox-timeline-eqiad\n+  - shellbox-video-eqiad\n+  - shellbox-codfw\n+  - shellbox-constraints-codfw\n+  - shellbox-media-codfw\n+  - shellbox-syntaxhighlight-codfw\n+  - shellbox-timeline-codfw\n+  - shellbox-video-codfw\n   - swift-eqiad\n   - swift-codfw\n   - search-chi-eqiad"}, {"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@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}, {"resource": "File[/etc/helmfile-defaults/general-codfw.yaml]", "content": "--- /etc/helmfile-defaults/general-codfw.yaml.orig\n+++ /etc/helmfile-defaults/general-codfw.yaml\n@@ -1755,6 +1755,174 @@\n       port: 30443\n       encryption: true\n       sets_sni: true\n+      keepalive: 4s\n+  shellbox-eqiad:\n+    port: 6124\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.eqiad.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-eqiad:\n+    port: 6125\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.eqiad.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-eqiad:\n+    port: 6126\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.eqiad.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-eqiad:\n+    port: 6127\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.eqiad.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-eqiad:\n+    port: 6128\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.eqiad.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-eqiad:\n+    port: 6136\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.eqiad.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n+      keepalive: 4s\n+  shellbox-codfw:\n+    port: 6224\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.51/32\n+      - 10.2.2.51/32\n+      address: shellbox.svc.codfw.wmnet\n+      port: 4008\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-constraints-codfw:\n+    port: 6225\n+    timeout: 10s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.61/32\n+      - 10.2.2.61/32\n+      address: shellbox-constraints.svc.codfw.wmnet\n+      port: 4010\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-media-codfw:\n+    port: 6226\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.64/32\n+      - 10.2.2.64/32\n+      address: shellbox-media.svc.codfw.wmnet\n+      port: 4015\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-syntaxhighlight-codfw:\n+    port: 6227\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.65/32\n+      - 10.2.2.65/32\n+      address: shellbox-syntaxhighlight.svc.codfw.wmnet\n+      port: 4014\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-timeline-codfw:\n+    port: 6228\n+    timeout: 60s\n+    retry_policy:\n+      retry_on: 5xx\n+      num_retries: 1\n+    upstream:\n+      ips:\n+      - 10.2.1.66/32\n+      - 10.2.2.66/32\n+      address: shellbox-timeline.svc.codfw.wmnet\n+      port: 4012\n+      encryption: true\n+      keepalive: 4s\n+  shellbox-video-codfw:\n+    port: 6236\n+    timeout: 86400s\n+    upstream:\n+      ips:\n+      - 10.2.1.68/32\n+      - 10.2.2.68/32\n+      address: shellbox-video.svc.codfw.wmnet\n+      port: 4080\n+      encryption: true\n+      tcp_keepalive:\n+        keepalive_time: 300\n+      idle_timeout: 86400s\n       keepalive: 4s\n   mwapi-async:\n     port: 6500"}], "perc_changed": "0.52%"}}}