-
Notifications
You must be signed in to change notification settings - Fork 84
Open
Description
Hi,
imagine this config:
# /tmp/haproxy.cfg
global
stats socket /etc/haproxy/haproxy-master.sock mode 600 level admin
log stdout len 4096 local0 info
defaults unnamed_defaults_1
mode http
log global
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend status
bind *:8404
http-request return status 200 content-type text/plain string "OK" if { path /healthz }
backend default_backend
http-request return status 404
(this can probably be simplified but this is the one that reproduces this for certain.
Now we push this to raw:
# curl -X POST --data-binary @/tmp/haproxy.cfg -H 'content-type: text/plain' -u 'admin:adminpass' 'http://localhost:41575/v3/services/haproxy/configuration/raw?version=1'
No we try to get the defaults:
# curl -u 'admin:adminpass' 'http://localhost:41575/v3/services/haproxy/configuration/defaults?full_section=true' | jq
[
{
"client_timeout": 50000,
"connect_timeout": 5000,
"dontlognull": "enabled",
"httplog": true,
"mode": "http",
"name": "unnamed_defaults_1",
"server_timeout": 50000
}
]
We can see log_target_list
is missing even though we used full_section=true
. But if we use the single endpoint it works:
# curl -u 'admin:adminpass' 'http://localhost:41575/v3/services/haproxy/configuration/defaults/unnamed_defaults_1?full_section=true' | jq
{
"client_timeout": 50000,
"connect_timeout": 5000,
"dontlognull": "enabled",
"httplog": true,
"mode": "http",
"name": "unnamed_defaults_1",
"server_timeout": 50000,
"log_target_list": [
{
"global": true
}
]
}
# curl -u 'admin:adminpass' 'http://localhost:41575/v3/info' | jq
{
"api": {
"build_date": "2025-08-07T16:06:16.000Z",
"version": "v3.2.3 daff5f5e"
},
"system": {}
}
Metadata
Metadata
Assignees
Labels
No labels