Skip to content

Commit 7da037a

Browse files
Merge pull request #62 from alanconway/fix-pod-labels
fix #61: Incorrect URL for Pod label searches.
2 parents d564d96 + 4bb34f5 commit 7da037a

2 files changed

Lines changed: 12 additions & 10 deletions

File tree

web/src/__tests__/k8s-node.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ describe('K8sNode.fromQuery', () => {
110110
},
111111
{
112112
query: `k8s:Pod:{"namespace":"x","name":"y","labels":{"a":"b","c":"d"},"fields": {"x":"y"}}`,
113-
url: `k8s/ns/x/pods/y?q=${encodeURIComponent('a=b,c=d')}`,
113+
url: `k8s/ns/x/pods/y?labels=${encodeURIComponent('a=b,c=d')}`,
114114
},
115115
{
116116
query:
@@ -119,21 +119,21 @@ describe('K8sNode.fromQuery', () => {
119119
},
120120
{
121121
query: `k8s:Pod:{"namespace":"x","name":"y","labels":{"a":"b"}}`,
122-
url: `k8s/ns/x/pods/y?q=${encodeURIComponent('a=b')}`,
122+
url: `k8s/ns/x/pods/y?labels=${encodeURIComponent('a=b')}`,
123123
},
124124
{
125125
query: `k8s:Pod:{"namespace":"x","labels":{"a":"b"}}`,
126-
url: `k8s/ns/x/pods?q=${encodeURIComponent('a=b')}`,
126+
url: `k8s/ns/x/pods?labels=${encodeURIComponent('a=b')}`,
127127
},
128128
{ query: `k8s:Pod.v1:{"namespace":"x","name":"y"}`, url: `k8s/ns/x/pods/y` },
129129
{ query: `k8s:Pod.v1:{"namespace":"x"}`, url: `k8s/ns/x/pods` },
130130
{
131131
query: `k8s:Pod.v1:{"labels":{"a":"b"}}`,
132-
url: `search/all-namespaces?q=${encodeURIComponent('a=b')}&kind=core~v1~Pod`,
132+
url: `search/all-namespaces?labels=${encodeURIComponent('a=b')}&kind=core~v1~Pod`,
133133
},
134134
{
135135
query: `k8s:Pod.v1:{"namespace":"x","labels":{"a":"b"}}`,
136-
url: `k8s/ns/x/pods?q=${encodeURIComponent('a=b')}`,
136+
url: `k8s/ns/x/pods?labels=${encodeURIComponent('a=b')}`,
137137
},
138138

139139
// Variations on korrel8r class spec.

web/src/korrel8r/k8s.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class K8sNode extends Korrel8rNode {
6565
const data = {
6666
namespace: namespace,
6767
name: name,
68-
labels: K8sNode.parseSelector(params.get('q')) || undefined,
68+
labels: K8sNode.parseSelector(params.get('labels')) || undefined,
6969
};
7070
return new K8sNode(url, `${K8sNode.classFor(groupVersionKind)}:${JSON.stringify(data)}`);
7171
}
@@ -105,19 +105,21 @@ export class K8sNode extends Korrel8rNode {
105105
const [gvk2, resource] = this.findKind(gvk); // Fill out partial GVK
106106
gvk = gvk2;
107107
const nsPath = namespace ? `ns/${namespace}` : 'all-namespaces';
108-
const qParam = data.labels ? `?q=${encodeURIComponent(keyValueList(data.labels))}` : '';
108+
const labelsParam = data.labels
109+
? `?labels=${encodeURIComponent(keyValueList(data.labels))}`
110+
: '';
109111

110112
let url: string;
111-
if (!name && !namespace && qParam) {
113+
if (!name && !namespace && labelsParam) {
112114
// Search URL
113115
url =
114-
`search/${nsPath}${qParam}&kind=` +
116+
`search/${nsPath}${labelsParam}&kind=` +
115117
`${gvk.group || 'core'}~` +
116118
`${gvk.version || undefined}~` +
117119
`${gvk.kind}`;
118120
} else {
119121
// Resource URL
120-
url = `k8s/${nsPath}/${resource}${name && `/${name}`}${qParam}${events}`;
122+
url = `k8s/${nsPath}/${resource}${name && `/${name}`}${events}${labelsParam}`;
121123
}
122124
return new K8sNode(url, query);
123125
}

0 commit comments

Comments
 (0)