fix: strip Docker network IDs and labels from networks response
- commit
- 265ee4deaaa356f17a19aea0480e1a460a89b79d
- author
- brice · · 2026-03-14 03:47 UTC
- parent
- 43d0817
- signature
- unsigned
3 files · +5 -16
M docs/cli/networks.md +3 -5
| @@ -37,11 +37,9 @@ gordon networks list --remote https://gordon.mydomain.com --token $TOKEN | |||
| 37 | 37 | ```json | |
| 38 | 38 | [ | |
| 39 | 39 | { | |
| 40 | - | "ID": "abc123...", | |
| 41 | - | "Name": "gordon_myapp", | |
| 42 | - | "Driver": "bridge", | |
| 43 | - | "Containers": ["container1", "container2"], | |
| 44 | - | "Labels": {"gordon.managed": "true"} | |
| 40 | + | "Name": "gordon_myapp", | |
| 41 | + | "Driver": "bridge", | |
| 42 | + | "Containers": ["container1", "container2"] | |
| 45 | 43 | } | |
| 46 | 44 | ] | |
| 47 | 45 | ``` | |
| @@ -37,11 +37,9 @@ gordon networks list --remote https://gordon.mydomain.com --token $TOKEN | |||||
| 37 | ```json | 37 | ```json | ||
| 38 | [ | 38 | [ | ||
| 39 | { | 39 | { | ||
| 40 | - | "ID": "abc123...", | 40 | + | "Name": "gordon_myapp", |
| 41 | - | "Name": "gordon_myapp", | 41 | + | "Driver": "bridge", |
| 42 | - | "Driver": "bridge", | 42 | + | "Containers": ["container1", "container2"] |
| 43 | - | "Containers": ["container1", "container2"], | |||
| 44 | - | "Labels": {"gordon.managed": "true"} | |||
| 45 | } | 43 | } | ||
| 46 | ] | 44 | ] | ||
| 47 | ``` | 45 | ``` | ||
M internal/adapters/dto/admin_networks.go +2 -2
| @@ -2,11 +2,11 @@ package dto | |||
| 2 | 2 | ||
| 3 | 3 | // Network represents a network in API responses. | |
| 4 | 4 | type Network struct { | |
| 5 | - | ID string `json:"id"` | |
| 5 | + | ID string `json:"id,omitempty"` | |
| 6 | 6 | Name string `json:"name"` | |
| 7 | 7 | Driver string `json:"driver"` | |
| 8 | 8 | Containers []string `json:"containers"` | |
| 9 | - | Labels map[string]string `json:"labels"` | |
| 9 | + | Labels map[string]string `json:"labels,omitempty"` | |
| 10 | 10 | } | |
| 11 | 11 | ||
| 12 | 12 | // NetworksResponse represents a list of networks. | |
| @@ -2,11 +2,11 @@ package dto | |||||
| 2 | 2 | ||||
| 3 | // Network represents a network in API responses. | 3 | // Network represents a network in API responses. | ||
| 4 | type Network struct { | 4 | type Network struct { | ||
| 5 | - | ID string `json:"id"` | 5 | + | ID string `json:"id,omitempty"` |
| 6 | Name string `json:"name"` | 6 | Name string `json:"name"` | ||
| 7 | Driver string `json:"driver"` | 7 | Driver string `json:"driver"` | ||
| 8 | Containers []string `json:"containers"` | 8 | Containers []string `json:"containers"` | ||
| 9 | - | Labels map[string]string `json:"labels"` | 9 | + | Labels map[string]string `json:"labels,omitempty"` |
| 10 | } | 10 | } | ||
| 11 | 11 | ||||
| 12 | // NetworksResponse represents a list of networks. | 12 | // NetworksResponse represents a list of networks. | ||
M internal/adapters/in/http/admin/handler.go +0 -9
| @@ -671,19 +671,10 @@ func (h *Handler) handleNetworks(w http.ResponseWriter, r *http.Request) { | |||
| 671 | 671 | if network == nil { | |
| 672 | 672 | continue | |
| 673 | 673 | } | |
| 674 | - | var labelsCopy map[string]string | |
| 675 | - | if network.Labels != nil { | |
| 676 | - | labelsCopy = make(map[string]string, len(network.Labels)) | |
| 677 | - | for key, value := range network.Labels { | |
| 678 | - | labelsCopy[key] = value | |
| 679 | - | } | |
| 680 | - | } | |
| 681 | 674 | response = append(response, dto.Network{ | |
| 682 | - | ID: network.ID, | |
| 683 | 675 | Name: network.Name, | |
| 684 | 676 | Driver: network.Driver, | |
| 685 | 677 | Containers: append([]string{}, network.Containers...), | |
| 686 | - | Labels: labelsCopy, | |
| 687 | 678 | }) | |
| 688 | 679 | } | |
| 689 | 680 | ||
| @@ -671,19 +671,10 @@ func (h *Handler) handleNetworks(w http.ResponseWriter, r *http.Request) { | |||||
| 671 | if network == nil { | 671 | if network == nil { | ||
| 672 | continue | 672 | continue | ||
| 673 | } | 673 | } | ||
| 674 | - | var labelsCopy map[string]string | |||
| 675 | - | if network.Labels != nil { | |||
| 676 | - | labelsCopy = make(map[string]string, len(network.Labels)) | |||
| 677 | - | for key, value := range network.Labels { | |||
| 678 | - | labelsCopy[key] = value | |||
| 679 | - | } | |||
| 680 | - | } | |||
| 681 | response = append(response, dto.Network{ | 674 | response = append(response, dto.Network{ | ||
| 682 | - | ID: network.ID, | |||
| 683 | Name: network.Name, | 675 | Name: network.Name, | ||
| 684 | Driver: network.Driver, | 676 | Driver: network.Driver, | ||
| 685 | Containers: append([]string{}, network.Containers...), | 677 | Containers: append([]string{}, network.Containers...), | ||
| 686 | - | Labels: labelsCopy, | |||
| 687 | }) | 678 | }) | ||
| 688 | } | 679 | } | ||
| 689 | 680 | ||||