{"host": "cp6001.drmrs.wmnet", "state": "core_diff", "description": "Differences to core resources", "diff": {"full": {"total": 3913, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "Confd::File[/etc/haproxy/conf.d/tls.cfg]"}, {"resource": "Haproxy::Confd_site[tls]"}, {"resource": "File[/etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl]", "content": "--- /etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl.orig\n+++ /etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl\n@@ -123,6 +123,9 @@\n \n     # Copy X-Analytics hdr into var to safely log it after deletion\n     http-response set-var(txn.x_analytics,ifnotempty) res.fhdr(X-Analytics)\n+    # Capture upstream response headers for inclusion in x_analytics\n+    http-response set-var(txn.x_trusted_request) res.fhdr(X-Trusted-Request)\n+    http-response set-var(txn.x_wmf_ratelimit_class) res.fhdr(X-Wmf-Ratelimit-Class)\n     http-response del-header X-Analytics if missing_xwd\n \n     http-response del-header Backend-Timing if missing_xwd\n@@ -231,6 +234,9 @@\n     # add ja4h to x-analytics variable\n     http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';ja4h=',txn.fingerprint_ja4h) unless { var(txn.x_analytics) -m sub ;ja4h= }\n     http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';res_',txn.res_proxy) if { var(txn.res_proxy) -m found } !{ var(txn.x_analytics) -m sub ;res_ }\n+    # add x_trusted_request and x_wmf_ratelimit_class to x_analytics from upstream response headers\n+    http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';x_trusted_request=',txn.x_trusted_request) if { var(txn.x_trusted_request) -m found } !{ var(txn.x_analytics) -m sub ;x_trusted_request= }\n+    http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';x_wmf_ratelimit_class=',txn.x_wmf_ratelimit_class) if { var(txn.x_wmf_ratelimit_class) -m found } !{ var(txn.x_analytics) -m sub ;x_wmf_ratelimit_class= }\n \n     {{- $path := \"/request-haproxy-dsl/cache-upload/moat-drmrs\" -}}\n     {{- if not (exists $path) }}"}], "perc_changed": "0.08%"}, "core": {"total": 3913, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl]", "content": "--- /etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl.orig\n+++ /etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl\n@@ -123,6 +123,9 @@\n \n     # Copy X-Analytics hdr into var to safely log it after deletion\n     http-response set-var(txn.x_analytics,ifnotempty) res.fhdr(X-Analytics)\n+    # Capture upstream response headers for inclusion in x_analytics\n+    http-response set-var(txn.x_trusted_request) res.fhdr(X-Trusted-Request)\n+    http-response set-var(txn.x_wmf_ratelimit_class) res.fhdr(X-Wmf-Ratelimit-Class)\n     http-response del-header X-Analytics if missing_xwd\n \n     http-response del-header Backend-Timing if missing_xwd\n@@ -231,6 +234,9 @@\n     # add ja4h to x-analytics variable\n     http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';ja4h=',txn.fingerprint_ja4h) unless { var(txn.x_analytics) -m sub ;ja4h= }\n     http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';res_',txn.res_proxy) if { var(txn.res_proxy) -m found } !{ var(txn.x_analytics) -m sub ;res_ }\n+    # add x_trusted_request and x_wmf_ratelimit_class to x_analytics from upstream response headers\n+    http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';x_trusted_request=',txn.x_trusted_request) if { var(txn.x_trusted_request) -m found } !{ var(txn.x_analytics) -m sub ;x_trusted_request= }\n+    http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';x_wmf_ratelimit_class=',txn.x_wmf_ratelimit_class) if { var(txn.x_wmf_ratelimit_class) -m found } !{ var(txn.x_analytics) -m sub ;x_wmf_ratelimit_class= }\n \n     {{- $path := \"/request-haproxy-dsl/cache-upload/moat-drmrs\" -}}\n     {{- if not (exists $path) }}"}], "perc_changed": "0.03%"}, "main": {"total": 3913, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "Haproxy::Confd_site[tls]"}, {"resource": "Confd::File[/etc/haproxy/conf.d/tls.cfg]"}, {"resource": "File[/etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl]", "content": "--- /etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl.orig\n+++ /etc/confd/templates/_etc_haproxy_conf.d_tls.cfg.tmpl\n@@ -123,6 +123,9 @@\n \n     # Copy X-Analytics hdr into var to safely log it after deletion\n     http-response set-var(txn.x_analytics,ifnotempty) res.fhdr(X-Analytics)\n+    # Capture upstream response headers for inclusion in x_analytics\n+    http-response set-var(txn.x_trusted_request) res.fhdr(X-Trusted-Request)\n+    http-response set-var(txn.x_wmf_ratelimit_class) res.fhdr(X-Wmf-Ratelimit-Class)\n     http-response del-header X-Analytics if missing_xwd\n \n     http-response del-header Backend-Timing if missing_xwd\n@@ -231,6 +234,9 @@\n     # add ja4h to x-analytics variable\n     http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';ja4h=',txn.fingerprint_ja4h) unless { var(txn.x_analytics) -m sub ;ja4h= }\n     http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';res_',txn.res_proxy) if { var(txn.res_proxy) -m found } !{ var(txn.x_analytics) -m sub ;res_ }\n+    # add x_trusted_request and x_wmf_ratelimit_class to x_analytics from upstream response headers\n+    http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';x_trusted_request=',txn.x_trusted_request) if { var(txn.x_trusted_request) -m found } !{ var(txn.x_analytics) -m sub ;x_trusted_request= }\n+    http-after-response set-var(txn.x_analytics,ifset) var(txn.x_analytics),add_item(';x_wmf_ratelimit_class=',txn.x_wmf_ratelimit_class) if { var(txn.x_wmf_ratelimit_class) -m found } !{ var(txn.x_analytics) -m sub ;x_wmf_ratelimit_class= }\n \n     {{- $path := \"/request-haproxy-dsl/cache-upload/moat-drmrs\" -}}\n     {{- if not (exists $path) }}"}], "perc_changed": "0.08%"}}}